| | |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchGenerateReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchPageReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchProcessTraceRespVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchPurchaseSourceRespVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchSalesTargetRespVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.mdm.MesMdmItemDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.sn.MesWmSnDO; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.wm.batch.MesWmBatchMapper; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.wm.sn.MesWmSnMapper; |
| | | import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants; |
| | | import cn.iocoder.yudao.module.mes.enums.md.autocode.MesMdAutoCodeRuleCodeEnum; |
| | | import cn.iocoder.yudao.module.mes.service.md.autocode.MesMdAutoCodeRecordService; |
| | |
| | | import org.springframework.validation.annotation.Validated; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Comparator; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | |
| | | |
| | | @Resource |
| | | private MesMdmItemService mdmItemService; |
| | | @Resource |
| | | private MesWmSnMapper snMapper; |
| | | @Resource |
| | | private MdmItemBatchConfigApi itemBatchConfigApi; |
| | | @Resource |
| | |
| | | return batchMapper.selectCountByToolId(toolId); |
| | | } |
| | | |
| | | @Override |
| | | public List<MesWmBatchPurchaseSourceRespVO> getPurchaseSourceList(String code) { |
| | | return batchMapper.selectPurchaseSourceList(code); |
| | | } |
| | | |
| | | @Override |
| | | public List<MesWmBatchSalesTargetRespVO> getSalesTargetList(String code) { |
| | | return batchMapper.selectSalesTargetList(code); |
| | | } |
| | | |
| | | @Override |
| | | public List<MesWmBatchProcessTraceRespVO> getProcessTraceList(String code) { |
| | | List<MesWmBatchProcessTraceRespVO> list = batchMapper.selectProcessTraceList(code); |
| | | if (CollUtil.isEmpty(list)) { |
| | | return list; |
| | | } |
| | | // 按工单、工序序号、事件时间排序(sort 可能为空,空值兜底) |
| | | list.sort(Comparator.comparing(MesWmBatchProcessTraceRespVO::getWorkOrderId, |
| | | Comparator.nullsLast(Comparator.naturalOrder())) |
| | | .thenComparing(MesWmBatchProcessTraceRespVO::getProcessSort, |
| | | Comparator.nullsLast(Comparator.naturalOrder())) |
| | | .thenComparing(MesWmBatchProcessTraceRespVO::getEventTime, |
| | | Comparator.nullsLast(Comparator.naturalOrder()))); |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public MesWmBatchDO getBatchBySn(String sn) { |
| | | MesWmSnDO snDO = snMapper.selectOne(MesWmSnDO::getCode, sn); |
| | | if (snDO == null || StrUtil.isBlank(snDO.getBatchCode())) { |
| | | return null; |
| | | } |
| | | return batchMapper.selectByCode(snDO.getBatchCode()); |
| | | } |
| | | |
| | | } |