From 4f48b2faee2a5623269308c055dc45170cd7b124 Mon Sep 17 00:00:00 2001 From: yinq Date: Tue, 15 Jul 2025 13:19:55 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=88=90=E5=9E=8B=E5=B7=A5=E8=89=BA?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProdTechnologyInfoController.java | 15 +++++- .../mes/domain/vo/ProdTechnologyInfoVo.java | 20 ++++---- .../domain/vo/ProdTechnologyStepInfoVo.java | 2 +- .../service/IProdTechnologyInfoService.java | 10 ++++ .../impl/ProdTechnologyInfoServiceImpl.java | 49 ++++++++++++++++++- 5 files changed, 82 insertions(+), 14 deletions(-) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdTechnologyInfoController.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdTechnologyInfoController.java index af69b5e..bfb85aa 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdTechnologyInfoController.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdTechnologyInfoController.java @@ -53,7 +53,7 @@ public class ProdTechnologyInfoController extends BaseController { @Log(title = "工序工艺信息", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(ProdTechnologyInfoBo bo, HttpServletResponse response) { - List list = prodTechnologyInfoService.queryList(bo); + List list = prodTechnologyInfoService.queryExportList(bo); ExcelUtil.exportExcel(list, "工序工艺信息", ProdTechnologyInfoVo.class, response); } @@ -108,10 +108,21 @@ public class ProdTechnologyInfoController extends BaseController { /** * 下拉框查询工序工艺信息列表 */ - @GetMapping("getProdTechnologyInfoList") public R> getProdTechnologyInfolist(ProdTechnologyInfoBo bo) { List list = prodTechnologyInfoService.queryList(bo); return R.ok(list); } + + /** + * 复制工序工艺信息 + */ + @SaCheckPermission("mes:technologyInfo:add") + @Log(title = "工序工艺信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/copyTechnologyInfo") + public R copyTechnologyInfo(@Validated(AddGroup.class) @RequestBody ProdTechnologyInfoBo bo) { + return toAjax(prodTechnologyInfoService.copyTechnologyInfo(bo)); + } + } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyInfoVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyInfoVo.java index 387a1cb..e8039d8 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyInfoVo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyInfoVo.java @@ -7,11 +7,9 @@ import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import org.dromara.mes.domain.ProdTechnologyStepInfo; import java.io.Serial; import java.io.Serializable; -import java.util.Date; import java.util.List; @@ -41,12 +39,18 @@ public class ProdTechnologyInfoVo implements Serializable { @ExcelProperty(value = "工序ID") private Long processId; + @ExcelProperty(value = "工序名称") + private String processName; + /** * 物料ID */ @ExcelProperty(value = "物料ID") private Long materialId; + @ExcelProperty(value = "物料名称") + private String materialName; + /** * 机台类型(1类一 2类二) */ @@ -70,7 +74,7 @@ public class ProdTechnologyInfoVo implements Serializable { /** * 硫化标准时间(秒) */ - @ExcelProperty(value = "硫化标准时间", converter = ExcelDictConvert.class) + @ExcelProperty(value = "硫化标准时间") private Long standardTime; /** @@ -80,17 +84,13 @@ public class ProdTechnologyInfoVo implements Serializable { @ExcelDictFormat(dictType = "active_flag") private String activeFlag; +// @ExcelProperty(value = "工艺参数") + private List prodTechnologyStepInfoList; + /** * 备注 */ @ExcelProperty(value = "备注") private String remark; - @ExcelProperty(value = "工序名称") - private String processName; - - @ExcelProperty(value = "物料名称") - private String materialName; - - private List prodTechnologyStepInfoList; } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyStepInfoVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyStepInfoVo.java index 594d0f0..18de289 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyStepInfoVo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdTechnologyStepInfoVo.java @@ -56,7 +56,7 @@ public class ProdTechnologyStepInfoVo implements Serializable { /** * 时间/频率(毫秒) */ - @ExcelProperty(value = "时间/频率", converter = ExcelDictConvert.class) + @ExcelProperty(value = "时间/频率") private Long stepTime; /** diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdTechnologyInfoService.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdTechnologyInfoService.java index 310ae09..6cb31cc 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdTechnologyInfoService.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdTechnologyInfoService.java @@ -66,4 +66,14 @@ public interface IProdTechnologyInfoService { * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 导出工序工艺信息列表 + */ + List queryExportList(ProdTechnologyInfoBo bo); + + /** + * 复制工序工艺信息 + */ + Boolean copyTechnologyInfo(ProdTechnologyInfoBo bo); } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyInfoServiceImpl.java index c9064b5..03a9ee0 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyInfoServiceImpl.java @@ -15,6 +15,7 @@ import org.dromara.mes.domain.BaseMaterialInfo; import org.dromara.mes.domain.ProdBaseProcessInfo; import org.dromara.mes.domain.ProdTechnologyStepInfo; import org.dromara.mes.domain.bo.ProdTechnologyStepInfoBo; +import org.dromara.mes.domain.vo.ProdTechnologyStepInfoVo; import org.dromara.mes.mapper.ProdTechnologyStepInfoMapper; import org.springframework.stereotype.Service; import org.dromara.mes.domain.bo.ProdTechnologyInfoBo; @@ -60,7 +61,7 @@ public class ProdTechnologyInfoServiceImpl implements IProdTechnologyInfoService .selectAll(ProdTechnologyStepInfo.class) .eq(bo.getTechnologyId() != null, ProdTechnologyStepInfo::getTechnologyId, bo.getTechnologyId()) .orderByAsc(ProdTechnologyStepInfo::getCreateTime); - List prodTechnologyStepInfoList = prodTechnologyStepInfoMapper.selectList(lqwStep); + List prodTechnologyStepInfoList = prodTechnologyStepInfoMapper.selectVoList(lqwStep); prodTechnologyInfoVo.setProdTechnologyStepInfoList(prodTechnologyStepInfoList); return prodTechnologyInfoVo; } @@ -175,4 +176,50 @@ public class ProdTechnologyInfoServiceImpl implements IProdTechnologyInfoService } return baseMapper.deleteByIds(ids) > 0; } + + /** + * 导出工序工艺信息列表 + */ + @Override + public List queryExportList(ProdTechnologyInfoBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + List selectVoList = baseMapper.selectVoList(lqw); + for (ProdTechnologyInfoVo prodTechnologyInfoVo : selectVoList) { + //工艺步序信息 + MPJLambdaWrapper lqwStep = JoinWrappers.lambda(ProdTechnologyStepInfo.class) + .selectAll(ProdTechnologyStepInfo.class) + .eq(bo.getTechnologyId() != null, ProdTechnologyStepInfo::getTechnologyId, prodTechnologyInfoVo.getTechnologyId()) + .orderByAsc(ProdTechnologyStepInfo::getCreateTime); + List prodTechnologyStepInfoList = prodTechnologyStepInfoMapper.selectVoList(lqwStep); + prodTechnologyInfoVo.setProdTechnologyStepInfoList(prodTechnologyStepInfoList); + } + return selectVoList; + } + + /** + * 复制工序工艺信息 + */ + @Override + public Boolean copyTechnologyInfo(ProdTechnologyInfoBo bo) { + ProdTechnologyInfo add = MapstructUtils.convert(bo, ProdTechnologyInfo.class); + validEntityBeforeSave(add); + add.setTechnologyId(null); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + Long technologyId = add.getTechnologyId(); +// bo.setTechnologyId(technologyId); + MPJLambdaWrapper lqwStep = JoinWrappers.lambda(ProdTechnologyStepInfo.class) + .selectAll(ProdTechnologyStepInfo.class) + .eq(bo.getTechnologyId() != null, ProdTechnologyStepInfo::getTechnologyId, bo.getTechnologyId()) + .orderByAsc(ProdTechnologyStepInfo::getCreateTime); + List prodTechnologyStepInfoList = prodTechnologyStepInfoMapper.selectList(lqwStep); + for (ProdTechnologyStepInfo technologyStepInfo : prodTechnologyStepInfoList) { + technologyStepInfo.setStepId(null); + technologyStepInfo.setTechnologyId(technologyId); + prodTechnologyStepInfoMapper.insert(technologyStepInfo); + } + } + return flag; + } + }