diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProRouteProcessController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProRouteProcessController.java new file mode 100644 index 0000000..254e677 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProRouteProcessController.java @@ -0,0 +1,112 @@ +package com.ktg.mes.pro.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ktg.common.constant.UserConstants; +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.ProRouteProcess; +import com.ktg.mes.pro.service.IProRouteProcessService; +import com.ktg.common.utils.poi.ExcelUtil; +import com.ktg.common.core.page.TableDataInfo; + +/** + * 工艺组成Controller + * + * @author yinjinlu + * @date 2022-05-13 + */ +@RestController +@RequestMapping("/mes/pro/routeprocess") +public class ProRouteProcessController extends BaseController +{ + @Autowired + private IProRouteProcessService proRouteProcessService; + + /** + * 查询工艺组成列表 + */ + @PreAuthorize("@ss.hasPermi('mes:pro:routeprocess:list')") + @GetMapping("/list") + public TableDataInfo list(ProRouteProcess proRouteProcess) + { + startPage(); + List list = proRouteProcessService.selectProRouteProcessList(proRouteProcess); + return getDataTable(list); + } + + /** + * 导出工艺组成列表 + */ + @PreAuthorize("@ss.hasPermi('mes:pro:routeprocess:export')") + @Log(title = "工艺组成", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ProRouteProcess proRouteProcess) + { + List list = proRouteProcessService.selectProRouteProcessList(proRouteProcess); + ExcelUtil util = new ExcelUtil(ProRouteProcess.class); + util.exportExcel(response, list, "工艺组成数据"); + } + + /** + * 获取工艺组成详细信息 + */ + @PreAuthorize("@ss.hasPermi('mes:pro:routeprocess:query')") + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") Long recordId) + { + return AjaxResult.success(proRouteProcessService.selectProRouteProcessByRecordId(recordId)); + } + + /** + * 新增工艺组成 + */ + @PreAuthorize("@ss.hasPermi('mes:pro:routeprocess:add')") + @Log(title = "工艺组成", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ProRouteProcess proRouteProcess) + { + if(UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkOrderNumExists(proRouteProcess))){ + return AjaxResult.error("序号已存在!"); + } + return toAjax(proRouteProcessService.insertProRouteProcess(proRouteProcess)); + } + + /** + * 修改工艺组成 + */ + @PreAuthorize("@ss.hasPermi('mes:pro:routeprocess:edit')") + @Log(title = "工艺组成", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ProRouteProcess proRouteProcess) + { + if(UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkOrderNumExists(proRouteProcess))){ + return AjaxResult.error("序号已存在!"); + } + return toAjax(proRouteProcessService.updateProRouteProcess(proRouteProcess)); + } + + /** + * 删除工艺组成 + */ + @PreAuthorize("@ss.hasPermi('mes:pro:routeprocess:remove')") + @Log(title = "工艺组成", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public AjaxResult remove(@PathVariable Long[] recordIds) + { + return toAjax(proRouteProcessService.deleteProRouteProcessByRecordIds(recordIds)); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProRouteProcess.java b/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProRouteProcess.java new file mode 100644 index 0000000..a20bcc6 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProRouteProcess.java @@ -0,0 +1,262 @@ +package com.ktg.mes.pro.domain; + +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_route_process + * + * @author yinjinlu + * @date 2022-05-13 + */ +public class ProRouteProcess extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 记录ID */ + private Long recordId; + + /** 工艺路线ID */ + @Excel(name = "工艺路线ID") + private Long routeId; + + /** 工序ID */ + @Excel(name = "工序ID") + private Long processId; + + /** 工序编码 */ + @Excel(name = "工序编码") + private String processCode; + + /** 工序名称 */ + @Excel(name = "工序名称") + private String processName; + + /** 序号 */ + @Excel(name = "序号") + private Integer orderNum; + + /** 工序ID */ + @Excel(name = "工序ID") + private Long nextProcessId; + + /** 工序编码 */ + @Excel(name = "工序编码") + private String nextProcessCode; + + /** 工序名称 */ + @Excel(name = "工序名称") + private String nextProcessName; + + /** 与下一道工序关系 */ + @Excel(name = "与下一道工序关系") + private String linkType; + + /** 准备时间 */ + @Excel(name = "准备时间") + private Long defaultPreTime; + + /** 等待时间 */ + @Excel(name = "等待时间") + private Long defaultSufTime; + + /** 甘特图显示颜色 */ + @Excel(name = "甘特图显示颜色") + private String colorCode; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + + public void setRecordId(Long recordId) + { + this.recordId = recordId; + } + + public Long getRecordId() + { + return recordId; + } + public void setRouteId(Long routeId) + { + this.routeId = routeId; + } + + public Long getRouteId() + { + return routeId; + } + public void setProcessId(Long processId) + { + this.processId = processId; + } + + public Long getProcessId() + { + return processId; + } + public void setProcessCode(String processCode) + { + this.processCode = processCode; + } + + public String getProcessCode() + { + return processCode; + } + public void setProcessName(String processName) + { + this.processName = processName; + } + + public String getProcessName() + { + return processName; + } + public void setOrderNum(Integer orderNum) + { + this.orderNum = orderNum; + } + + public Integer getOrderNum() + { + return orderNum; + } + public void setNextProcessId(Long nextProcessId) + { + this.nextProcessId = nextProcessId; + } + + public Long getNextProcessId() + { + return nextProcessId; + } + public void setNextProcessCode(String nextProcessCode) + { + this.nextProcessCode = nextProcessCode; + } + + public String getNextProcessCode() + { + return nextProcessCode; + } + public void setNextProcessName(String nextProcessName) + { + this.nextProcessName = nextProcessName; + } + + public String getNextProcessName() + { + return nextProcessName; + } + public void setLinkType(String linkType) + { + this.linkType = linkType; + } + + public String getLinkType() + { + return linkType; + } + public void setDefaultPreTime(Long defaultPreTime) + { + this.defaultPreTime = defaultPreTime; + } + + public Long getDefaultPreTime() + { + return defaultPreTime; + } + public void setDefaultSufTime(Long defaultSufTime) + { + this.defaultSufTime = defaultSufTime; + } + + public Long getDefaultSufTime() + { + return defaultSufTime; + } + public void setColorCode(String colorCode) + { + this.colorCode = colorCode; + } + + public String getColorCode() + { + return colorCode; + } + 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("recordId", getRecordId()) + .append("routeId", getRouteId()) + .append("processId", getProcessId()) + .append("processCode", getProcessCode()) + .append("processName", getProcessName()) + .append("orderNum", getOrderNum()) + .append("nextProcessId", getNextProcessId()) + .append("nextProcessCode", getNextProcessCode()) + .append("nextProcessName", getNextProcessName()) + .append("linkType", getLinkType()) + .append("defaultPreTime", getDefaultPreTime()) + .append("defaultSufTime", getDefaultSufTime()) + .append("colorCode", getColorCode()) + .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/ProRouteProcessMapper.java b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProRouteProcessMapper.java new file mode 100644 index 0000000..8196b26 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProRouteProcessMapper.java @@ -0,0 +1,63 @@ +package com.ktg.mes.pro.mapper; + +import java.util.List; +import com.ktg.mes.pro.domain.ProRouteProcess; + +/** + * 工艺组成Mapper接口 + * + * @author yinjinlu + * @date 2022-05-13 + */ +public interface ProRouteProcessMapper +{ + /** + * 查询工艺组成 + * + * @param recordId 工艺组成主键 + * @return 工艺组成 + */ + public ProRouteProcess selectProRouteProcessByRecordId(Long recordId); + + /** + * 查询工艺组成列表 + * + * @param proRouteProcess 工艺组成 + * @return 工艺组成集合 + */ + public List selectProRouteProcessList(ProRouteProcess proRouteProcess); + + public ProRouteProcess checkOrderNumExists(ProRouteProcess proRouteProcess); + + /** + * 新增工艺组成 + * + * @param proRouteProcess 工艺组成 + * @return 结果 + */ + public int insertProRouteProcess(ProRouteProcess proRouteProcess); + + /** + * 修改工艺组成 + * + * @param proRouteProcess 工艺组成 + * @return 结果 + */ + public int updateProRouteProcess(ProRouteProcess proRouteProcess); + + /** + * 删除工艺组成 + * + * @param recordId 工艺组成主键 + * @return 结果 + */ + public int deleteProRouteProcessByRecordId(Long recordId); + + /** + * 批量删除工艺组成 + * + * @param recordIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProRouteProcessByRecordIds(Long[] recordIds); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProRouteProcessService.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProRouteProcessService.java new file mode 100644 index 0000000..a9ea50a --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProRouteProcessService.java @@ -0,0 +1,69 @@ +package com.ktg.mes.pro.service; + +import java.util.List; +import com.ktg.mes.pro.domain.ProRouteProcess; + +/** + * 工艺组成Service接口 + * + * @author yinjinlu + * @date 2022-05-13 + */ +public interface IProRouteProcessService +{ + /** + * 查询工艺组成 + * + * @param recordId 工艺组成主键 + * @return 工艺组成 + */ + public ProRouteProcess selectProRouteProcessByRecordId(Long recordId); + + /** + * 查询工艺组成列表 + * + * @param proRouteProcess 工艺组成 + * @return 工艺组成集合 + */ + public List selectProRouteProcessList(ProRouteProcess proRouteProcess); + + /** + * 检查序号是否已经存在 + * @param proRouteProcess + * @return + */ + public String checkOrderNumExists(ProRouteProcess proRouteProcess); + + + /** + * 新增工艺组成 + * + * @param proRouteProcess 工艺组成 + * @return 结果 + */ + public int insertProRouteProcess(ProRouteProcess proRouteProcess); + + /** + * 修改工艺组成 + * + * @param proRouteProcess 工艺组成 + * @return 结果 + */ + public int updateProRouteProcess(ProRouteProcess proRouteProcess); + + /** + * 批量删除工艺组成 + * + * @param recordIds 需要删除的工艺组成主键集合 + * @return 结果 + */ + public int deleteProRouteProcessByRecordIds(Long[] recordIds); + + /** + * 删除工艺组成信息 + * + * @param recordId 工艺组成主键 + * @return 结果 + */ + public int deleteProRouteProcessByRecordId(Long recordId); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProRouteProcessServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProRouteProcessServiceImpl.java new file mode 100644 index 0000000..23e7dfe --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProRouteProcessServiceImpl.java @@ -0,0 +1,109 @@ +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 org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ktg.mes.pro.mapper.ProRouteProcessMapper; +import com.ktg.mes.pro.domain.ProRouteProcess; +import com.ktg.mes.pro.service.IProRouteProcessService; + +/** + * 工艺组成Service业务层处理 + * + * @author yinjinlu + * @date 2022-05-13 + */ +@Service +public class ProRouteProcessServiceImpl implements IProRouteProcessService +{ + @Autowired + private ProRouteProcessMapper proRouteProcessMapper; + + /** + * 查询工艺组成 + * + * @param recordId 工艺组成主键 + * @return 工艺组成 + */ + @Override + public ProRouteProcess selectProRouteProcessByRecordId(Long recordId) + { + return proRouteProcessMapper.selectProRouteProcessByRecordId(recordId); + } + + /** + * 查询工艺组成列表 + * + * @param proRouteProcess 工艺组成 + * @return 工艺组成 + */ + @Override + public List selectProRouteProcessList(ProRouteProcess proRouteProcess) + { + return proRouteProcessMapper.selectProRouteProcessList(proRouteProcess); + } + + @Override + public String checkOrderNumExists(ProRouteProcess proRouteProcess) { + ProRouteProcess process = proRouteProcessMapper.checkOrderNumExists(proRouteProcess); + Long recordId = proRouteProcess.getRecordId()==null?-1L:proRouteProcess.getRecordId(); + if(StringUtils.isNotNull(process) && process.getRecordId().longValue() != recordId.longValue()){ + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 新增工艺组成 + * + * @param proRouteProcess 工艺组成 + * @return 结果 + */ + @Override + public int insertProRouteProcess(ProRouteProcess proRouteProcess) + { + proRouteProcess.setCreateTime(DateUtils.getNowDate()); + return proRouteProcessMapper.insertProRouteProcess(proRouteProcess); + } + + /** + * 修改工艺组成 + * + * @param proRouteProcess 工艺组成 + * @return 结果 + */ + @Override + public int updateProRouteProcess(ProRouteProcess proRouteProcess) + { + proRouteProcess.setUpdateTime(DateUtils.getNowDate()); + return proRouteProcessMapper.updateProRouteProcess(proRouteProcess); + } + + /** + * 批量删除工艺组成 + * + * @param recordIds 需要删除的工艺组成主键 + * @return 结果 + */ + @Override + public int deleteProRouteProcessByRecordIds(Long[] recordIds) + { + return proRouteProcessMapper.deleteProRouteProcessByRecordIds(recordIds); + } + + /** + * 删除工艺组成信息 + * + * @param recordId 工艺组成主键 + * @return 结果 + */ + @Override + public int deleteProRouteProcessByRecordId(Long recordId) + { + return proRouteProcessMapper.deleteProRouteProcessByRecordId(recordId); + } +} diff --git a/ktg-mes/src/main/resources/mapper/pro/ProRouteProcessMapper.xml b/ktg-mes/src/main/resources/mapper/pro/ProRouteProcessMapper.xml new file mode 100644 index 0000000..56353cf --- /dev/null +++ b/ktg-mes/src/main/resources/mapper/pro/ProRouteProcessMapper.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select record_id, route_id, process_id, process_code, process_name, order_num, next_process_id, next_process_code, next_process_name, link_type, default_pre_time, default_suf_time, color_code, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_route_process + + + + + + + + + + + insert into pro_route_process + + route_id, + process_id, + process_code, + process_name, + order_num, + next_process_id, + next_process_code, + next_process_name, + link_type, + default_pre_time, + default_suf_time, + color_code, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{routeId}, + #{processId}, + #{processCode}, + #{processName}, + #{orderNum}, + #{nextProcessId}, + #{nextProcessCode}, + #{nextProcessName}, + #{linkType}, + #{defaultPreTime}, + #{defaultSufTime}, + #{colorCode}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update pro_route_process + + route_id = #{routeId}, + process_id = #{processId}, + process_code = #{processCode}, + process_name = #{processName}, + order_num = #{orderNum}, + next_process_id = #{nextProcessId}, + next_process_code = #{nextProcessCode}, + next_process_name = #{nextProcessName}, + link_type = #{linkType}, + default_pre_time = #{defaultPreTime}, + default_suf_time = #{defaultSufTime}, + color_code = #{colorCode}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where record_id = #{recordId} + + + + delete from pro_route_process where record_id = #{recordId} + + + + delete from pro_route_process where record_id in + + #{recordId} + + + \ No newline at end of file