diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProcessInfoController.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProcessInfoController.java new file mode 100644 index 00000000..2eaf2685 --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProcessInfoController.java @@ -0,0 +1,105 @@ +package com.hw.mes.controller; + +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +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.hw.common.log.annotation.Log; +import com.hw.common.log.enums.BusinessType; +import com.hw.common.security.annotation.RequiresPermissions; +import com.hw.mes.domain.MesBaseProcessInfo; +import com.hw.mes.service.IMesBaseProcessInfoService; +import com.hw.common.core.web.controller.BaseController; +import com.hw.common.core.web.domain.AjaxResult; +import com.hw.common.core.utils.poi.ExcelUtil; +import com.hw.common.core.web.page.TableDataInfo; + +/** + * 工序信息Controller + * + * @author Yinq + * @date 2024-01-24 + */ +@RestController +@RequestMapping("/processInfo") +public class MesBaseProcessInfoController extends BaseController +{ + @Autowired + private IMesBaseProcessInfoService mesBaseProcessInfoService; + + /** + * 查询工序信息列表 + */ + @RequiresPermissions("mes:processInfo:list") + @GetMapping("/list") + public TableDataInfo list(MesBaseProcessInfo mesBaseProcessInfo) + { + startPage(); + List list = mesBaseProcessInfoService.selectMesBaseProcessInfoList(mesBaseProcessInfo); + return getDataTable(list); + } + + /** + * 导出工序信息列表 + */ + @RequiresPermissions("mes:processInfo:export") + @Log(title = "工序信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MesBaseProcessInfo mesBaseProcessInfo) + { + List list = mesBaseProcessInfoService.selectMesBaseProcessInfoList(mesBaseProcessInfo); + ExcelUtil util = new ExcelUtil(MesBaseProcessInfo.class); + util.exportExcel(response, list, "工序信息数据"); + } + + /** + * 获取工序信息详细信息 + */ + @RequiresPermissions("mes:processInfo:query") + @GetMapping(value = "/{processId}") + public AjaxResult getInfo(@PathVariable("processId") Long processId) + { + return success(mesBaseProcessInfoService.selectMesBaseProcessInfoByProcessId(processId)); + } + + /** + * 新增工序信息 + */ + @RequiresPermissions("mes:processInfo:add") + @Log(title = "工序信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody MesBaseProcessInfo mesBaseProcessInfo) + { + return toAjax(mesBaseProcessInfoService.insertMesBaseProcessInfo(mesBaseProcessInfo)); + } + + /** + * 修改工序信息 + */ + @RequiresPermissions("mes:processInfo:edit") + @Log(title = "工序信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody MesBaseProcessInfo mesBaseProcessInfo) + { + return toAjax(mesBaseProcessInfoService.updateMesBaseProcessInfo(mesBaseProcessInfo)); + } + + /** + * 删除工序信息 + */ + @RequiresPermissions("mes:processInfo:remove") + @Log(title = "工序信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{processIds}") + public AjaxResult remove(@PathVariable Long[] processIds) + { + return toAjax(mesBaseProcessInfoService.deleteMesBaseProcessInfoByProcessIds(processIds)); + } +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProdlineInfoController.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProdlineInfoController.java index 9cc4ab24..a4d479fc 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProdlineInfoController.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProdlineInfoController.java @@ -47,6 +47,16 @@ public class MesBaseProdlineInfoController extends BaseController return getDataTable(list); } + /** + * 查询产线信息下拉框列表 + */ + @GetMapping("/findProdLineList") + public AjaxResult findProdLineList(MesBaseProdlineInfo mesBaseProdlineInfo) + { + List list = mesBaseProdlineInfoService.selectMesBaseProdlineInfoList(mesBaseProdlineInfo); + return success(list); + } + /** * 导出产线信息列表 */ diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessInfo.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessInfo.java new file mode 100644 index 00000000..2eb69466 --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessInfo.java @@ -0,0 +1,132 @@ +package com.hw.mes.domain; + +import java.util.List; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.hw.common.core.annotation.Excel; +import com.hw.common.core.web.domain.BaseEntity; + +/** + * 工序信息对象 mes_base_process_info + * + * @author Yinq + * @date 2024-01-24 + */ +public class MesBaseProcessInfo extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + private Long processId; + + /** + * 工序编号 + */ + @Excel(name = "工序编号") + private String processCode; + + /** + * 工序名称 + */ + @Excel(name = "工序名称") + private String processName; + + /** + * 工序类别(1-生产工序;2-质检工序) + */ + @Excel(name = "工序类别" , readConverterExp = "1=生产工序,2=质检工序") + private String processType; + + /** + * 单位生产时间 + */ + @Excel(name = "单位生产时间") + private Long productionTime; + + /** + * 激活标识 + */ + @Excel(name = "激活标识") + private String activeFlag; + + /** + * 工序关联产线信息 + */ + private List mesBaseProcessProdlineList; + + 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 setProcessType(String processType) { + this.processType = processType; + } + + public String getProcessType() { + return processType; + } + + public void setProductionTime(Long productionTime) { + this.productionTime = productionTime; + } + + public Long getProductionTime() { + return productionTime; + } + + public void setActiveFlag(String activeFlag) { + this.activeFlag = activeFlag; + } + + public String getActiveFlag() { + return activeFlag; + } + + public List getMesBaseProcessProdlineList() { + return mesBaseProcessProdlineList; + } + + public void setMesBaseProcessProdlineList(List mesBaseProcessProdlineList) { + this.mesBaseProcessProdlineList = mesBaseProcessProdlineList; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("processId" , getProcessId()) + .append("processCode" , getProcessCode()) + .append("processName" , getProcessName()) + .append("processType" , getProcessType()) + .append("productionTime" , getProductionTime()) + .append("activeFlag" , getActiveFlag()) + .append("remark" , getRemark()) + .append("createBy" , getCreateBy()) + .append("createTime" , getCreateTime()) + .append("updateBy" , getUpdateBy()) + .append("updateTime" , getUpdateTime()) + .append("mesBaseProcessProdlineList" , getMesBaseProcessProdlineList()) + .toString(); + } +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessProdline.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessProdline.java new file mode 100644 index 00000000..effac360 --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessProdline.java @@ -0,0 +1,52 @@ +package com.hw.mes.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.hw.common.core.annotation.Excel; +import com.hw.common.core.web.domain.BaseEntity; + +/** + * 工序关联产线对象 mes_base_process_prodline + * + * @author Yinq + * @date 2024-01-24 + */ +public class MesBaseProcessProdline extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 工序ID,关联工序信息主键 */ + private Long processId; + + /** 所属产线ID,关联产线主键 */ + private Long prodlineId; + + public void setProcessId(Long processId) + { + this.processId = processId; + } + + public Long getProcessId() + { + return processId; + } + public void setProdlineId(Long prodlineId) + { + this.prodlineId = prodlineId; + } + + public Long getProdlineId() + { + return prodlineId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("processId", getProcessId()) + .append("prodlineId", getProdlineId()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProcessInfoMapper.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProcessInfoMapper.java new file mode 100644 index 00000000..9651dbfd --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProcessInfoMapper.java @@ -0,0 +1,87 @@ +package com.hw.mes.mapper; + +import java.util.List; +import com.hw.mes.domain.MesBaseProcessInfo; +import com.hw.mes.domain.MesBaseProcessProdline; + +/** + * 工序信息Mapper接口 + * + * @author Yinq + * @date 2024-01-24 + */ +public interface MesBaseProcessInfoMapper +{ + /** + * 查询工序信息 + * + * @param processId 工序信息主键 + * @return 工序信息 + */ + public MesBaseProcessInfo selectMesBaseProcessInfoByProcessId(Long processId); + + /** + * 查询工序信息列表 + * + * @param mesBaseProcessInfo 工序信息 + * @return 工序信息集合 + */ + public List selectMesBaseProcessInfoList(MesBaseProcessInfo mesBaseProcessInfo); + + /** + * 新增工序信息 + * + * @param mesBaseProcessInfo 工序信息 + * @return 结果 + */ + public int insertMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo); + + /** + * 修改工序信息 + * + * @param mesBaseProcessInfo 工序信息 + * @return 结果 + */ + public int updateMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo); + + /** + * 删除工序信息 + * + * @param processId 工序信息主键 + * @return 结果 + */ + public int deleteMesBaseProcessInfoByProcessId(Long processId); + + /** + * 批量删除工序信息 + * + * @param processIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMesBaseProcessInfoByProcessIds(Long[] processIds); + + /** + * 批量删除工序关联产线 + * + * @param processIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMesBaseProcessProdlineByProcessIds(Long[] processIds); + + /** + * 批量新增工序关联产线 + * + * @param mesBaseProcessProdlineList 工序关联产线列表 + * @return 结果 + */ + public int batchMesBaseProcessProdline(List mesBaseProcessProdlineList); + + + /** + * 通过工序信息主键删除工序关联产线信息 + * + * @param processId 工序信息ID + * @return 结果 + */ + public int deleteMesBaseProcessProdlineByProcessId(Long processId); +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseProcessInfoService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseProcessInfoService.java new file mode 100644 index 00000000..99516536 --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseProcessInfoService.java @@ -0,0 +1,61 @@ +package com.hw.mes.service; + +import java.util.List; +import com.hw.mes.domain.MesBaseProcessInfo; + +/** + * 工序信息Service接口 + * + * @author Yinq + * @date 2024-01-24 + */ +public interface IMesBaseProcessInfoService +{ + /** + * 查询工序信息 + * + * @param processId 工序信息主键 + * @return 工序信息 + */ + public MesBaseProcessInfo selectMesBaseProcessInfoByProcessId(Long processId); + + /** + * 查询工序信息列表 + * + * @param mesBaseProcessInfo 工序信息 + * @return 工序信息集合 + */ + public List selectMesBaseProcessInfoList(MesBaseProcessInfo mesBaseProcessInfo); + + /** + * 新增工序信息 + * + * @param mesBaseProcessInfo 工序信息 + * @return 结果 + */ + public int insertMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo); + + /** + * 修改工序信息 + * + * @param mesBaseProcessInfo 工序信息 + * @return 结果 + */ + public int updateMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo); + + /** + * 批量删除工序信息 + * + * @param processIds 需要删除的工序信息主键集合 + * @return 结果 + */ + public int deleteMesBaseProcessInfoByProcessIds(Long[] processIds); + + /** + * 删除工序信息信息 + * + * @param processId 工序信息主键 + * @return 结果 + */ + public int deleteMesBaseProcessInfoByProcessId(Long processId); +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseProcessInfoServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseProcessInfoServiceImpl.java new file mode 100644 index 00000000..1f805707 --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseProcessInfoServiceImpl.java @@ -0,0 +1,143 @@ +package com.hw.mes.service.impl; + +import java.util.List; + +import com.hw.common.core.exception.ServiceException; +import com.hw.common.core.utils.DateUtils; +import com.hw.common.security.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; +import com.hw.common.core.utils.StringUtils; +import org.springframework.transaction.annotation.Transactional; +import com.hw.mes.domain.MesBaseProcessProdline; +import com.hw.mes.mapper.MesBaseProcessInfoMapper; +import com.hw.mes.domain.MesBaseProcessInfo; +import com.hw.mes.service.IMesBaseProcessInfoService; + +/** + * 工序信息Service业务层处理 + * + * @author Yinq + * @date 2024-01-24 + */ +@Service +public class MesBaseProcessInfoServiceImpl implements IMesBaseProcessInfoService +{ + @Autowired + private MesBaseProcessInfoMapper mesBaseProcessInfoMapper; + + /** + * 查询工序信息 + * + * @param processId 工序信息主键 + * @return 工序信息 + */ + @Override + public MesBaseProcessInfo selectMesBaseProcessInfoByProcessId(Long processId) + { + return mesBaseProcessInfoMapper.selectMesBaseProcessInfoByProcessId(processId); + } + + /** + * 查询工序信息列表 + * + * @param mesBaseProcessInfo 工序信息 + * @return 工序信息 + */ + @Override + public List selectMesBaseProcessInfoList(MesBaseProcessInfo mesBaseProcessInfo) + { + return mesBaseProcessInfoMapper.selectMesBaseProcessInfoList(mesBaseProcessInfo); + } + + /** + * 新增工序信息 + * + * @param mesBaseProcessInfo 工序信息 + * @return 结果 + */ + @Transactional + @Override + public int insertMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo) + { + mesBaseProcessInfo.setCreateTime(DateUtils.getNowDate()); + int rows = mesBaseProcessInfoMapper.insertMesBaseProcessInfo(mesBaseProcessInfo); + //insertMesBaseProcessProdline(mesBaseProcessInfo); + return rows; + } + + /** + * 修改工序信息 + * + * @param mesBaseProcessInfo 工序信息 + * @return 结果 + */ + @Transactional + @Override + public int updateMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo) + { + mesBaseProcessInfo.setUpdateTime(DateUtils.getNowDate()); + mesBaseProcessInfoMapper.deleteMesBaseProcessProdlineByProcessId(mesBaseProcessInfo.getProcessId()); + try { + insertMesBaseProcessProdline(mesBaseProcessInfo); + } catch (Exception e) { + throw new ServiceException("该工序已关联此产线!"); + } + return mesBaseProcessInfoMapper.updateMesBaseProcessInfo(mesBaseProcessInfo); + } + + /** + * 批量删除工序信息 + * + * @param processIds 需要删除的工序信息主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteMesBaseProcessInfoByProcessIds(Long[] processIds) + { + mesBaseProcessInfoMapper.deleteMesBaseProcessProdlineByProcessIds(processIds); + return mesBaseProcessInfoMapper.deleteMesBaseProcessInfoByProcessIds(processIds); + } + + /** + * 删除工序信息信息 + * + * @param processId 工序信息主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteMesBaseProcessInfoByProcessId(Long processId) + { + mesBaseProcessInfoMapper.deleteMesBaseProcessProdlineByProcessId(processId); + return mesBaseProcessInfoMapper.deleteMesBaseProcessInfoByProcessId(processId); + } + + /** + * 新增工序关联产线信息 + * + * @param mesBaseProcessInfo 工序信息对象 + */ + public void insertMesBaseProcessProdline(MesBaseProcessInfo mesBaseProcessInfo) + { + List mesBaseProcessProdlineList = mesBaseProcessInfo.getMesBaseProcessProdlineList(); + Long processId = mesBaseProcessInfo.getProcessId(); + if (StringUtils.isNotNull(mesBaseProcessProdlineList)) + { + List list = new ArrayList(); + for (MesBaseProcessProdline mesBaseProcessProdline : mesBaseProcessProdlineList) + { + mesBaseProcessProdline.setProcessId(processId); + mesBaseProcessProdline.setCreateBy(SecurityUtils.getUsername()); + mesBaseProcessProdline.setCreateTime(DateUtils.getNowDate()); + list.add(mesBaseProcessProdline); + } + if (list.size() > 0) + { + mesBaseProcessInfoMapper.batchMesBaseProcessProdline(list); + } + } + } +} diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseProcessInfoMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseProcessInfoMapper.xml new file mode 100644 index 00000000..b7261651 --- /dev/null +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseProcessInfoMapper.xml @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select process_id, + process_code, + process_name, + process_type, + production_time, + active_flag, + remark, + create_by, + create_time, + update_by, + update_time + from mes_base_process_info + + + + + + + + insert into mes_base_process_info + + process_code, + process_name, + process_type, + production_time, + active_flag, + remark, + create_by, + create_time, + update_by, + update_time, + + + #{processCode}, + #{processName}, + #{processType}, + #{productionTime}, + #{activeFlag}, + #{remark}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update mes_base_process_info + + process_code = #{processCode}, + process_name = #{processName}, + process_type = #{processType}, + production_time = #{productionTime}, + active_flag = #{activeFlag}, + remark = #{remark}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where process_id = #{processId} + + + + delete + from mes_base_process_info + where process_id = #{processId} + + + + delete from mes_base_process_info where process_id in + + #{processId} + + + + + delete from mes_base_process_prodline where process_id in + + #{processId} + + + + + delete + from mes_base_process_prodline + where process_id = #{processId} + + + + insert into mes_base_process_prodline( process_id, prodline_id, create_by, create_time) values + + ( #{item.processId}, #{item.prodlineId}, #{item.createBy}, #{item.createTime}) + + + \ No newline at end of file diff --git a/hw-ui/src/api/mes/baseProdlineInfo.js b/hw-ui/src/api/mes/baseProdlineInfo.js index c847f0c8..cd5af304 100644 --- a/hw-ui/src/api/mes/baseProdlineInfo.js +++ b/hw-ui/src/api/mes/baseProdlineInfo.js @@ -9,6 +9,15 @@ export function listBaseProdlineInfo(query) { }) } +// 查询产线信息列表 +export function findProdLineList(query) { + return request({ + url: '/mes/baseProdlineInfo/findProdLineList', + method: 'get', + params: query + }) +} + // 查询产线信息详细 export function getBaseProdlineInfo(prodlineId) { return request({ diff --git a/hw-ui/src/api/mes/processInfo.js b/hw-ui/src/api/mes/processInfo.js new file mode 100644 index 00000000..cea5d8ce --- /dev/null +++ b/hw-ui/src/api/mes/processInfo.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询工序信息列表 +export function listProcessInfo(query) { + return request({ + url: '/mes/processInfo/list', + method: 'get', + params: query + }) +} + +// 查询工序信息详细 +export function getProcessInfo(processId) { + return request({ + url: '/mes/processInfo/' + processId, + method: 'get' + }) +} + +// 新增工序信息 +export function addProcessInfo(data) { + return request({ + url: '/mes/processInfo', + method: 'post', + data: data + }) +} + +// 修改工序信息 +export function updateProcessInfo(data) { + return request({ + url: '/mes/processInfo', + method: 'put', + data: data + }) +} + +// 删除工序信息 +export function delProcessInfo(processId) { + return request({ + url: '/mes/processInfo/' + processId, + method: 'delete' + }) +} diff --git a/hw-ui/src/views/mes/processInfo/index.vue b/hw-ui/src/views/mes/processInfo/index.vue new file mode 100644 index 00000000..bafc95ea --- /dev/null +++ b/hw-ui/src/views/mes/processInfo/index.vue @@ -0,0 +1,461 @@ + + +