| | |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.arrivalnotice.vo.line.MesWmArrivalNoticeLineSaveReqVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.arrivalnotice.MesWmArrivalNoticeLineDO; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.wm.arrivalnotice.MesWmArrivalNoticeLineMapper; |
| | | import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; |
| | | import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService; |
| | | import jakarta.annotation.Resource; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | @Lazy |
| | | private MesWmArrivalNoticeService arrivalNoticeService; |
| | | @Resource |
| | | private MesMdItemService itemService; |
| | | private MesMdmItemService mdmItemService; |
| | | |
| | | @Override |
| | | public Long createArrivalNoticeLine(MesWmArrivalNoticeLineSaveReqVO createReqVO) { |
| | |
| | | // 校验父单据存在且为草稿状态 |
| | | arrivalNoticeService.validateArrivalNoticeExistsAndDraft(reqVO.getNoticeId()); |
| | | // 校验物料存在 |
| | | itemService.validateItemExistsAndEnable(reqVO.getItemId()); |
| | | mdmItemService.validateItemExistsAndEnable(reqVO.getItemId()); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void updateArrivalNoticeLineWhenIqcFinish(Long lineId, Long iqcId, BigDecimal qualifiedQuantity) { |
| | | public void updateArrivalNoticeLineWhenIqcFinish(Long lineId, Long iqcId, Integer checkResult, BigDecimal qualifiedQuantity) { |
| | | // 校验行存在 |
| | | validateArrivalNoticeLineExists(lineId); |
| | | // 更新 |
| | | // 更新:绑定 iqcId + 质检结果 + 合格数量 |
| | | arrivalNoticeLineMapper.updateById(new MesWmArrivalNoticeLineDO() |
| | | .setId(lineId).setIqcId(iqcId).setQualifiedQuantity(qualifiedQuantity)); |
| | | .setId(lineId).setIqcId(iqcId).setIqcCheckResult(checkResult).setQualifiedQuantity(qualifiedQuantity)); |
| | | } |
| | | |
| | | @Override |
| | |
| | | return line; |
| | | } |
| | | |
| | | @Override |
| | | public void createArrivalNoticeLineFromPurchaseOrderItem(MesWmArrivalNoticeLineDO line) { |
| | | // 内部方法,不做校验,直接插入 |
| | | initQualifiedQuantityIfNoIqc(line); |
| | | arrivalNoticeLineMapper.insert(line); |
| | | } |
| | | |
| | | @Override |
| | | public void updateArrivalNoticeLineIqcId(Long lineId, Long iqcId) { |
| | | arrivalNoticeLineMapper.updateById(new MesWmArrivalNoticeLineDO() |
| | | .setId(lineId).setIqcId(iqcId)); |
| | | } |
| | | |
| | | } |