From 5956298a02ab164deb1024e1f1ab7786e2d4c1ae Mon Sep 17 00:00:00 2001 From: "JinLu.Yin" <411641505@qq.com> Date: Sat, 14 May 2022 22:59:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pro/controller/ProTaskController.java | 104 ++++ .../controller/ProWorkorderController.java | 5 + .../java/com/ktg/mes/pro/domain/ProTask.java | 450 ++++++++++++++++++ .../com/ktg/mes/pro/mapper/ProTaskMapper.java | 62 +++ .../mes/pro/mapper/ProWorkorderMapper.java | 2 + .../ktg/mes/pro/service/IProTaskService.java | 61 +++ .../mes/pro/service/IProWorkorderService.java | 3 + .../pro/service/impl/ProTaskServiceImpl.java | 96 ++++ .../service/impl/ProWorkorderServiceImpl.java | 13 + .../resources/mapper/pro/ProTaskMapper.xml | 212 +++++++++ .../mapper/pro/ProWorkorderMapper.xml | 7 +- .../com/ktg/system/strategy/AutoCodeUtil.java | 2 +- .../mapper/system/SysAutoCodeResultMapper.xml | 2 +- 13 files changed, 1016 insertions(+), 3 deletions(-) create mode 100644 ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProTask.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProTaskMapper.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/pro/service/IProTaskService.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProTaskServiceImpl.java create mode 100644 ktg-mes/src/main/resources/mapper/pro/ProTaskMapper.xml diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java new file mode 100644 index 0000000..7e1ed9c --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java @@ -0,0 +1,104 @@ +package com.ktg.mes.pro.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ktg.common.annotation.Log; +import com.ktg.common.core.controller.BaseController; +import com.ktg.common.core.domain.AjaxResult; +import com.ktg.common.enums.BusinessType; +import com.ktg.mes.pro.domain.ProTask; +import com.ktg.mes.pro.service.IProTaskService; +import com.ktg.common.utils.poi.ExcelUtil; +import com.ktg.common.core.page.TableDataInfo; + +/** + * 生产任务Controller + * + * @author yinjinlu + * @date 2022-05-14 + */ +@RestController +@RequestMapping("/pro/protask") +public class ProTaskController extends BaseController +{ + @Autowired + private IProTaskService proTaskService; + + /** + * 查询生产任务列表 + */ + @PreAuthorize("@ss.hasPermi('pro:protask:list')") + @GetMapping("/list") + public TableDataInfo list(ProTask proTask) + { + startPage(); + List list = proTaskService.selectProTaskList(proTask); + return getDataTable(list); + } + + /** + * 导出生产任务列表 + */ + @PreAuthorize("@ss.hasPermi('pro:protask:export')") + @Log(title = "生产任务", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ProTask proTask) + { + List list = proTaskService.selectProTaskList(proTask); + ExcelUtil util = new ExcelUtil(ProTask.class); + util.exportExcel(response, list, "生产任务数据"); + } + + /** + * 获取生产任务详细信息 + */ + @PreAuthorize("@ss.hasPermi('pro:protask:query')") + @GetMapping(value = "/{taskId}") + public AjaxResult getInfo(@PathVariable("taskId") Long taskId) + { + return AjaxResult.success(proTaskService.selectProTaskByTaskId(taskId)); + } + + /** + * 新增生产任务 + */ + @PreAuthorize("@ss.hasPermi('pro:protask:add')") + @Log(title = "生产任务", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ProTask proTask) + { + return toAjax(proTaskService.insertProTask(proTask)); + } + + /** + * 修改生产任务 + */ + @PreAuthorize("@ss.hasPermi('pro:protask:edit')") + @Log(title = "生产任务", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ProTask proTask) + { + return toAjax(proTaskService.updateProTask(proTask)); + } + + /** + * 删除生产任务 + */ + @PreAuthorize("@ss.hasPermi('pro:protask:remove')") + @Log(title = "生产任务", businessType = BusinessType.DELETE) + @DeleteMapping("/{taskIds}") + public AjaxResult remove(@PathVariable Long[] taskIds) + { + return toAjax(proTaskService.deleteProTaskByTaskIds(taskIds)); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java index 3231545..bcd756c 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java @@ -5,6 +5,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.collection.CollUtil; +import com.ktg.common.constant.UserConstants; import com.ktg.common.utils.StringUtils; import com.ktg.mes.md.domain.MdProductBom; import com.ktg.mes.md.service.IMdProductBomService; @@ -89,6 +90,10 @@ public class ProWorkorderController extends BaseController @PostMapping public AjaxResult add(@RequestBody ProWorkorder proWorkorder) { + if(UserConstants.NOT_UNIQUE.equals(proWorkorderService.checkWorkorderCodeUnique(proWorkorder))){ + return AjaxResult.error("生产工单编号已存在!"); + } + if(proWorkorder.getParentId()==null || proWorkorder.getParentId()==0){ proWorkorder.setAncestors("0"); } diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProTask.java b/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProTask.java new file mode 100644 index 0000000..2df0f2d --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProTask.java @@ -0,0 +1,450 @@ +package com.ktg.mes.pro.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ktg.common.annotation.Excel; +import com.ktg.common.core.domain.BaseEntity; + +/** + * 生产任务对象 pro_task + * + * @author yinjinlu + * @date 2022-05-14 + */ +public class ProTask extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 任务ID */ + private Long taskId; + + /** 任务编号 */ + @Excel(name = "任务编号") + private String taskCode; + + /** 任务名称 */ + @Excel(name = "任务名称") + private String taskName; + + /** 生产工单ID */ + @Excel(name = "生产工单ID") + private Long workorderId; + + /** 生产工单编号 */ + @Excel(name = "生产工单编号") + private String workorderCode; + + /** 工单名称 */ + @Excel(name = "工单名称") + private String workorderName; + + /** 工作站ID */ + @Excel(name = "工作站ID") + private Long workstationId; + + /** 工作站编号 */ + @Excel(name = "工作站编号") + private String workstationCode; + + /** 工作站名称 */ + @Excel(name = "工作站名称") + private String workstationName; + + /** 产品物料ID */ + @Excel(name = "产品物料ID") + private Long itemId; + + /** 产品物料编码 */ + @Excel(name = "产品物料编码") + private String itemCode; + + /** 产品物料名称 */ + @Excel(name = "产品物料名称") + private String itemName; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String specification; + + /** 单位 */ + @Excel(name = "单位") + private String unitOfMeasure; + + /** 排产数量 */ + @Excel(name = "排产数量") + private BigDecimal quantity; + + /** 已生产数量 */ + @Excel(name = "已生产数量") + private BigDecimal quantityProduced; + + /** 调整数量 */ + @Excel(name = "调整数量") + private BigDecimal quantityChanged; + + /** 客户ID */ + @Excel(name = "客户ID") + private Long clientId; + + /** 客户编码 */ + @Excel(name = "客户编码") + private String clientCode; + + /** 客户名称 */ + @Excel(name = "客户名称") + private String clientName; + + /** 客户简称 */ + @Excel(name = "客户简称") + private String clientNick; + + /** 开始生产时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "开始生产时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date startTime; + + /** 生产时长 */ + @Excel(name = "生产时长") + private Long duration; + + /** 完成生产时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "完成生产时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date endTime; + + /** 甘特图显示颜色 */ + @Excel(name = "甘特图显示颜色") + private String colorCode; + + /** 需求日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "需求日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date requestDate; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + + public void setTaskId(Long taskId) + { + this.taskId = taskId; + } + + public Long getTaskId() + { + return taskId; + } + public void setTaskCode(String taskCode) + { + this.taskCode = taskCode; + } + + public String getTaskCode() + { + return taskCode; + } + public void setTaskName(String taskName) + { + this.taskName = taskName; + } + + public String getTaskName() + { + return taskName; + } + public void setWorkorderId(Long workorderId) + { + this.workorderId = workorderId; + } + + public Long getWorkorderId() + { + return workorderId; + } + public void setWorkorderCode(String workorderCode) + { + this.workorderCode = workorderCode; + } + + public String getWorkorderCode() + { + return workorderCode; + } + public void setWorkorderName(String workorderName) + { + this.workorderName = workorderName; + } + + public String getWorkorderName() + { + return workorderName; + } + public void setWorkstationId(Long workstationId) + { + this.workstationId = workstationId; + } + + public Long getWorkstationId() + { + return workstationId; + } + public void setWorkstationCode(String workstationCode) + { + this.workstationCode = workstationCode; + } + + public String getWorkstationCode() + { + return workstationCode; + } + public void setWorkstationName(String workstationName) + { + this.workstationName = workstationName; + } + + public String getWorkstationName() + { + return workstationName; + } + public void setItemId(Long itemId) + { + this.itemId = itemId; + } + + public Long getItemId() + { + return itemId; + } + public void setItemCode(String itemCode) + { + this.itemCode = itemCode; + } + + public String getItemCode() + { + return itemCode; + } + public void setItemName(String itemName) + { + this.itemName = itemName; + } + + public String getItemName() + { + return itemName; + } + public void setSpecification(String specification) + { + this.specification = specification; + } + + public String getSpecification() + { + return specification; + } + public void setUnitOfMeasure(String unitOfMeasure) + { + this.unitOfMeasure = unitOfMeasure; + } + + public String getUnitOfMeasure() + { + return unitOfMeasure; + } + public void setQuantity(BigDecimal quantity) + { + this.quantity = quantity; + } + + public BigDecimal getQuantity() + { + return quantity; + } + public void setQuantityProduced(BigDecimal quantityProduced) + { + this.quantityProduced = quantityProduced; + } + + public BigDecimal getQuantityProduced() + { + return quantityProduced; + } + public void setQuantityChanged(BigDecimal quantityChanged) + { + this.quantityChanged = quantityChanged; + } + + public BigDecimal getQuantityChanged() + { + return quantityChanged; + } + public void setClientId(Long clientId) + { + this.clientId = clientId; + } + + public Long getClientId() + { + return clientId; + } + public void setClientCode(String clientCode) + { + this.clientCode = clientCode; + } + + public String getClientCode() + { + return clientCode; + } + public void setClientName(String clientName) + { + this.clientName = clientName; + } + + public String getClientName() + { + return clientName; + } + public void setClientNick(String clientNick) + { + this.clientNick = clientNick; + } + + public String getClientNick() + { + return clientNick; + } + public void setStartTime(Date startTime) + { + this.startTime = startTime; + } + + public Date getStartTime() + { + return startTime; + } + public void setDuration(Long duration) + { + this.duration = duration; + } + + public Long getDuration() + { + return duration; + } + public void setEndTime(Date endTime) + { + this.endTime = endTime; + } + + public Date getEndTime() + { + return endTime; + } + public void setColorCode(String colorCode) + { + this.colorCode = colorCode; + } + + public String getColorCode() + { + return colorCode; + } + public void setRequestDate(Date requestDate) + { + this.requestDate = requestDate; + } + + public Date getRequestDate() + { + return requestDate; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("taskId", getTaskId()) + .append("taskCode", getTaskCode()) + .append("taskName", getTaskName()) + .append("workorderId", getWorkorderId()) + .append("workorderCode", getWorkorderCode()) + .append("workorderName", getWorkorderName()) + .append("workstationId", getWorkstationId()) + .append("workstationCode", getWorkstationCode()) + .append("workstationName", getWorkstationName()) + .append("itemId", getItemId()) + .append("itemCode", getItemCode()) + .append("itemName", getItemName()) + .append("specification", getSpecification()) + .append("unitOfMeasure", getUnitOfMeasure()) + .append("quantity", getQuantity()) + .append("quantityProduced", getQuantityProduced()) + .append("quantityChanged", getQuantityChanged()) + .append("clientId", getClientId()) + .append("clientCode", getClientCode()) + .append("clientName", getClientName()) + .append("clientNick", getClientNick()) + .append("startTime", getStartTime()) + .append("duration", getDuration()) + .append("endTime", getEndTime()) + .append("colorCode", getColorCode()) + .append("requestDate", getRequestDate()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProTaskMapper.java b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProTaskMapper.java new file mode 100644 index 0000000..957dd34 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProTaskMapper.java @@ -0,0 +1,62 @@ +package com.ktg.mes.pro.mapper; + +import java.util.List; +import com.ktg.mes.pro.domain.ProTask; + +/** + * 生产任务Mapper接口 + * + * @author yinjinlu + * @date 2022-05-14 + */ +public interface ProTaskMapper +{ + /** + * 查询生产任务 + * + * @param taskId 生产任务主键 + * @return 生产任务 + */ + public ProTask selectProTaskByTaskId(Long taskId); + + /** + * 查询生产任务列表 + * + * @param proTask 生产任务 + * @return 生产任务集合 + */ + public List selectProTaskList(ProTask proTask); + + + /** + * 新增生产任务 + * + * @param proTask 生产任务 + * @return 结果 + */ + public int insertProTask(ProTask proTask); + + /** + * 修改生产任务 + * + * @param proTask 生产任务 + * @return 结果 + */ + public int updateProTask(ProTask proTask); + + /** + * 删除生产任务 + * + * @param taskId 生产任务主键 + * @return 结果 + */ + public int deleteProTaskByTaskId(Long taskId); + + /** + * 批量删除生产任务 + * + * @param taskIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProTaskByTaskIds(Long[] taskIds); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProWorkorderMapper.java b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProWorkorderMapper.java index a69a85e..8264a40 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProWorkorderMapper.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProWorkorderMapper.java @@ -27,6 +27,8 @@ public interface ProWorkorderMapper */ public List selectProWorkorderList(ProWorkorder proWorkorder); + public ProWorkorder checkWorkorderCodeUnique(ProWorkorder proWorkorder); + /** * 新增生产工单 * diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProTaskService.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProTaskService.java new file mode 100644 index 0000000..e794176 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProTaskService.java @@ -0,0 +1,61 @@ +package com.ktg.mes.pro.service; + +import java.util.List; +import com.ktg.mes.pro.domain.ProTask; + +/** + * 生产任务Service接口 + * + * @author yinjinlu + * @date 2022-05-14 + */ +public interface IProTaskService +{ + /** + * 查询生产任务 + * + * @param taskId 生产任务主键 + * @return 生产任务 + */ + public ProTask selectProTaskByTaskId(Long taskId); + + /** + * 查询生产任务列表 + * + * @param proTask 生产任务 + * @return 生产任务集合 + */ + public List selectProTaskList(ProTask proTask); + + /** + * 新增生产任务 + * + * @param proTask 生产任务 + * @return 结果 + */ + public int insertProTask(ProTask proTask); + + /** + * 修改生产任务 + * + * @param proTask 生产任务 + * @return 结果 + */ + public int updateProTask(ProTask proTask); + + /** + * 批量删除生产任务 + * + * @param taskIds 需要删除的生产任务主键集合 + * @return 结果 + */ + public int deleteProTaskByTaskIds(Long[] taskIds); + + /** + * 删除生产任务信息 + * + * @param taskId 生产任务主键 + * @return 结果 + */ + public int deleteProTaskByTaskId(Long taskId); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProWorkorderService.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProWorkorderService.java index 1dd5281..9432ce2 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProWorkorderService.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProWorkorderService.java @@ -27,6 +27,9 @@ public interface IProWorkorderService */ public List selectProWorkorderList(ProWorkorder proWorkorder); + + public String checkWorkorderCodeUnique(ProWorkorder proWorkorder); + /** * 新增生产工单 * diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProTaskServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProTaskServiceImpl.java new file mode 100644 index 0000000..2def50a --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProTaskServiceImpl.java @@ -0,0 +1,96 @@ +package com.ktg.mes.pro.service.impl; + +import java.util.List; +import com.ktg.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ktg.mes.pro.mapper.ProTaskMapper; +import com.ktg.mes.pro.domain.ProTask; +import com.ktg.mes.pro.service.IProTaskService; + +/** + * 生产任务Service业务层处理 + * + * @author yinjinlu + * @date 2022-05-14 + */ +@Service +public class ProTaskServiceImpl implements IProTaskService +{ + @Autowired + private ProTaskMapper proTaskMapper; + + /** + * 查询生产任务 + * + * @param taskId 生产任务主键 + * @return 生产任务 + */ + @Override + public ProTask selectProTaskByTaskId(Long taskId) + { + return proTaskMapper.selectProTaskByTaskId(taskId); + } + + /** + * 查询生产任务列表 + * + * @param proTask 生产任务 + * @return 生产任务 + */ + @Override + public List selectProTaskList(ProTask proTask) + { + return proTaskMapper.selectProTaskList(proTask); + } + + /** + * 新增生产任务 + * + * @param proTask 生产任务 + * @return 结果 + */ + @Override + public int insertProTask(ProTask proTask) + { + proTask.setCreateTime(DateUtils.getNowDate()); + return proTaskMapper.insertProTask(proTask); + } + + /** + * 修改生产任务 + * + * @param proTask 生产任务 + * @return 结果 + */ + @Override + public int updateProTask(ProTask proTask) + { + proTask.setUpdateTime(DateUtils.getNowDate()); + return proTaskMapper.updateProTask(proTask); + } + + /** + * 批量删除生产任务 + * + * @param taskIds 需要删除的生产任务主键 + * @return 结果 + */ + @Override + public int deleteProTaskByTaskIds(Long[] taskIds) + { + return proTaskMapper.deleteProTaskByTaskIds(taskIds); + } + + /** + * 删除生产任务信息 + * + * @param taskId 生产任务主键 + * @return 结果 + */ + @Override + public int deleteProTaskByTaskId(Long taskId) + { + return proTaskMapper.deleteProTaskByTaskId(taskId); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProWorkorderServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProWorkorderServiceImpl.java index d653870..2ed534d 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProWorkorderServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProWorkorderServiceImpl.java @@ -1,6 +1,8 @@ package com.ktg.mes.pro.service.impl; import java.util.List; + +import com.ktg.common.constant.UserConstants; import com.ktg.common.utils.DateUtils; import com.ktg.common.utils.StringUtils; import com.ktg.mes.dv.domain.DvMachineryType; @@ -46,6 +48,17 @@ public class ProWorkorderServiceImpl implements IProWorkorderService return proWorkorderMapper.selectProWorkorderList(proWorkorder); } + @Override + public String checkWorkorderCodeUnique(ProWorkorder proWorkorder) { + ProWorkorder workorder = proWorkorderMapper.checkWorkorderCodeUnique(proWorkorder); + Long workorderId = proWorkorder.getWorkorderId() == null? -1L: proWorkorder.getWorkorderId(); + if(StringUtils.isNotNull(workorder) && workorder.getWorkorderId().longValue() != workorderId.longValue()){ + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** * 新增生产工单 * diff --git a/ktg-mes/src/main/resources/mapper/pro/ProTaskMapper.xml b/ktg-mes/src/main/resources/mapper/pro/ProTaskMapper.xml new file mode 100644 index 0000000..00ab908 --- /dev/null +++ b/ktg-mes/src/main/resources/mapper/pro/ProTaskMapper.xml @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select task_id, task_code, task_name, workorder_id, workorder_code, workorder_name, workstation_id, workstation_code, workstation_name, item_id, item_code, item_name, specification, unit_of_measure, quantity, quantity_produced, quantity_changed, client_id, client_code, client_name, client_nick, start_time, duration, end_time, color_code, request_date, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_task + + + + + + + + insert into pro_task + + task_code, + task_name, + workorder_id, + workorder_code, + workorder_name, + workstation_id, + workstation_code, + workstation_name, + item_id, + item_code, + item_name, + specification, + unit_of_measure, + quantity, + quantity_produced, + quantity_changed, + client_id, + client_code, + client_name, + client_nick, + start_time, + duration, + end_time, + color_code, + request_date, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{taskCode}, + #{taskName}, + #{workorderId}, + #{workorderCode}, + #{workorderName}, + #{workstationId}, + #{workstationCode}, + #{workstationName}, + #{itemId}, + #{itemCode}, + #{itemName}, + #{specification}, + #{unitOfMeasure}, + #{quantity}, + #{quantityProduced}, + #{quantityChanged}, + #{clientId}, + #{clientCode}, + #{clientName}, + #{clientNick}, + #{startTime}, + #{duration}, + #{endTime}, + #{colorCode}, + #{requestDate}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update pro_task + + task_code = #{taskCode}, + task_name = #{taskName}, + workorder_id = #{workorderId}, + workorder_code = #{workorderCode}, + workorder_name = #{workorderName}, + workstation_id = #{workstationId}, + workstation_code = #{workstationCode}, + workstation_name = #{workstationName}, + item_id = #{itemId}, + item_code = #{itemCode}, + item_name = #{itemName}, + specification = #{specification}, + unit_of_measure = #{unitOfMeasure}, + quantity = #{quantity}, + quantity_produced = #{quantityProduced}, + quantity_changed = #{quantityChanged}, + client_id = #{clientId}, + client_code = #{clientCode}, + client_name = #{clientName}, + client_nick = #{clientNick}, + start_time = #{startTime}, + duration = #{duration}, + end_time = #{endTime}, + color_code = #{colorCode}, + request_date = #{requestDate}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where task_id = #{taskId} + + + + delete from pro_task where task_id = #{taskId} + + + + delete from pro_task where task_id in + + #{taskId} + + + \ No newline at end of file diff --git a/ktg-mes/src/main/resources/mapper/pro/ProWorkorderMapper.xml b/ktg-mes/src/main/resources/mapper/pro/ProWorkorderMapper.xml index 93e9c88..93b0329 100644 --- a/ktg-mes/src/main/resources/mapper/pro/ProWorkorderMapper.xml +++ b/ktg-mes/src/main/resources/mapper/pro/ProWorkorderMapper.xml @@ -65,7 +65,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where workorder_id = #{workorderId} - + + + insert into pro_workorder diff --git a/ktg-system/src/main/java/com/ktg/system/strategy/AutoCodeUtil.java b/ktg-system/src/main/java/com/ktg/system/strategy/AutoCodeUtil.java index dbd057c..6fb53e3 100644 --- a/ktg-system/src/main/java/com/ktg/system/strategy/AutoCodeUtil.java +++ b/ktg-system/src/main/java/com/ktg/system/strategy/AutoCodeUtil.java @@ -123,7 +123,7 @@ public class AutoCodeUtil { rs.setLastInputChar(inputChar); iAutoCodeResultService.saveAutoCodeResult(rs); }else{ - //直接更新对应的记录(我们默认一个RULE_CODE只有一种方式) + //直接更新对应的记录(我们默认非流水号模式下一个RULE_CODE只有一种方式) SysAutoCodeResult bo = new SysAutoCodeResult(); bo.setRuleId(rule.getRuleId()); List results = iAutoCodeResultService.list(bo); diff --git a/ktg-system/src/main/resources/mapper/system/SysAutoCodeResultMapper.xml b/ktg-system/src/main/resources/mapper/system/SysAutoCodeResultMapper.xml index ecb88df..4fefdf4 100644 --- a/ktg-system/src/main/resources/mapper/system/SysAutoCodeResultMapper.xml +++ b/ktg-system/src/main/resources/mapper/system/SysAutoCodeResultMapper.xml @@ -37,7 +37,7 @@ AND gen_date like concat(#{genDate},'%') - order by gen_index asc + order by gen_date desc