diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdTechnologyInfoBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdTechnologyInfoBo.java index 415897ad..b67bfca6 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdTechnologyInfoBo.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdTechnologyInfoBo.java @@ -8,6 +8,9 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import org.dromara.mes.domain.ProdTechnologyStepInfo; + +import java.util.List; /** * 工序工艺信息业务对象 prod_technology_info @@ -67,5 +70,6 @@ public class ProdTechnologyInfoBo extends BaseEntity { */ private String remark; + private List prodTechnologyStepInfoList; } 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 34cd4f31..387a1cb7 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,12 @@ 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; /** @@ -90,4 +91,6 @@ public class ProdTechnologyInfoVo implements Serializable { @ExcelProperty(value = "物料名称") private String materialName; + + private List prodTechnologyStepInfoList; } 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 85c9ae5b..c9064b59 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 @@ -1,5 +1,7 @@ package org.dromara.mes.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -11,12 +13,16 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; 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.mapper.ProdTechnologyStepInfoMapper; import org.springframework.stereotype.Service; import org.dromara.mes.domain.bo.ProdTechnologyInfoBo; import org.dromara.mes.domain.vo.ProdTechnologyInfoVo; import org.dromara.mes.domain.ProdTechnologyInfo; import org.dromara.mes.mapper.ProdTechnologyInfoMapper; import org.dromara.mes.service.IProdTechnologyInfoService; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; @@ -34,6 +40,8 @@ public class ProdTechnologyInfoServiceImpl implements IProdTechnologyInfoService private final ProdTechnologyInfoMapper baseMapper; + private final ProdTechnologyStepInfoMapper prodTechnologyStepInfoMapper; + /** * 查询工序工艺信息 * @@ -46,7 +54,15 @@ public class ProdTechnologyInfoServiceImpl implements IProdTechnologyInfoService bo.setTechnologyId(technologyId); MPJLambdaWrapper lqw = buildQueryWrapper(bo); List voList = baseMapper.selectVoList(lqw); - return voList.get(0); + ProdTechnologyInfoVo prodTechnologyInfoVo = voList.get(0); + //工艺步序信息 + 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); + prodTechnologyInfoVo.setProdTechnologyStepInfoList(prodTechnologyStepInfoList); + return prodTechnologyInfoVo; } /** @@ -91,7 +107,7 @@ public class ProdTechnologyInfoServiceImpl implements IProdTechnologyInfoService .eq(StringUtils.isNotBlank(bo.getTechnologyVersion()), ProdTechnologyInfo::getTechnologyVersion, bo.getTechnologyVersion()) .eq(bo.getStandardTime() != null, ProdTechnologyInfo::getStandardTime, bo.getStandardTime()) .eq(StringUtils.isNotBlank(bo.getActiveFlag()), ProdTechnologyInfo::getActiveFlag, bo.getActiveFlag()) - .orderByDesc(ProdTechnologyInfo::getCreateTime); + .orderByAsc(ProdTechnologyInfo::getCreateTime); return lqw; } @@ -119,9 +135,22 @@ public class ProdTechnologyInfoServiceImpl implements IProdTechnologyInfoService * @return 是否修改成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean updateByBo(ProdTechnologyInfoBo bo) { ProdTechnologyInfo update = MapstructUtils.convert(bo, ProdTechnologyInfo.class); validEntityBeforeSave(update); + + List technologyStepInfoList = bo.getProdTechnologyStepInfoList(); + + if (technologyStepInfoList.size() > 0){ + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotNull(bo.getTechnologyId()), ProdTechnologyStepInfo::getTechnologyId, bo.getTechnologyId()); + prodTechnologyStepInfoMapper.delete(lqw); + for (ProdTechnologyStepInfo stepInfo : technologyStepInfoList) { + stepInfo.setStepId(null); + prodTechnologyStepInfoMapper.insert(stepInfo); + } + } return baseMapper.updateById(update) > 0; } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyStepInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyStepInfoServiceImpl.java index e9a22f71..803c633d 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyStepInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdTechnologyStepInfoServiceImpl.java @@ -81,7 +81,7 @@ public class ProdTechnologyStepInfoServiceImpl implements IProdTechnologyStepInf .eq(StringUtils.isNotBlank(bo.getStepParameter()), ProdTechnologyStepInfo::getStepParameter, bo.getStepParameter()) .eq(StringUtils.isNotBlank(bo.getValueState()), ProdTechnologyStepInfo::getValueState, bo.getValueState()) .eq(StringUtils.isNotBlank(bo.getActiveFlag()), ProdTechnologyStepInfo::getActiveFlag, bo.getActiveFlag()) - .orderByDesc(ProdTechnologyStepInfo::getCreateTime); + .orderByDesc(ProdTechnologyStepInfo::getStepCode); return lqw; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/SysMasterDataDetailController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/SysMasterDataDetailController.java index 3a867dea..be772567 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/SysMasterDataDetailController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/SysMasterDataDetailController.java @@ -38,7 +38,7 @@ public class SysMasterDataDetailController extends BaseController { private final ISysMasterDataDetailService sysMasterDataDetailService; /** - * 查询主数据维护明细列表 + * 查询主数据维护明细列表-列表结构 */ @SaCheckPermission("system:masterDataDetail:list") @GetMapping("/list") @@ -46,6 +46,16 @@ public class SysMasterDataDetailController extends BaseController { return sysMasterDataDetailService.queryPageList(bo, pageQuery); } + /** + * 查询主数据维护明细列表-树状结构 + */ + @SaCheckPermission("system:masterDataDetail:list") + @GetMapping("/treeList") + public R> list(SysMasterDataDetailBo bo) { + List list = sysMasterDataDetailService.queryList(bo); + return R.ok(list); + } + /** * 导出主数据维护明细列表 */