diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsQcReceiveItemMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsQcReceiveItemMapper.java index a6cd214b..c6412c51 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsQcReceiveItemMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsQcReceiveItemMapper.java @@ -19,7 +19,8 @@ public interface WmsQcReceiveItemMapper extends BaseMapper { List getTaskItem(Long taskId); - void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc); + void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc, + BigDecimal UnqualifiedQty ,BigDecimal QualifiedQty); void updateInQty(Long id, BigDecimal inQty, BigDecimal unqualifiedQty, BigDecimal qualifiedQty); diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsQcReceiveItemService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsQcReceiveItemService.java index 8c6b83ed..0a72f318 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsQcReceiveItemService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsQcReceiveItemService.java @@ -21,7 +21,7 @@ public interface IWmsQcReceiveItemService extends IService { List getTaskItem(@Valid @NotNull Long taskId); - void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode,String materialDoc); + void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode,String materialDoc,BigDecimal UnqualifiedQty ,BigDecimal QualifiedQty); void updateInQty(Long id, BigDecimal inQty,BigDecimal unqualifiedQty,BigDecimal qualifiedQty); diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsQcReceiveItemServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsQcReceiveItemServiceImpl.java index c1c9449d..a1d71ab2 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsQcReceiveItemServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsQcReceiveItemServiceImpl.java @@ -27,8 +27,8 @@ public class WmsQcReceiveItemServiceImpl extends ServiceImpl update wms_qc_receive_item - set check_qty=check_qty + #{InspectionQty} + set check_qty=check_qty + #{InspectionQty}, + unqualified_qty= #{ UnqualifiedQty }, + qualified_qty= #{ QualifiedQty } where note_num = #{ noteNum} and line_number = #{ lineNumber} and material_doc = #{materialDoc} diff --git a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java index 53277af2..0c1ea205 100644 --- a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java +++ b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java @@ -4,11 +4,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; +import com.nflg.wms.common.constant.BarCodeProcessStage; +import com.nflg.wms.common.pojo.document.SrmMaterialReceiptScanCodes; import com.nflg.wms.common.pojo.dto.SRMOrderReceiveDTO; import com.nflg.wms.common.pojo.dto.SRMQualityInspectionResultDTO; import com.nflg.wms.common.pojo.qo.SRMOrderReceiveItemQO; import com.nflg.wms.common.pojo.qo.SRMOrderReceiveQO; import com.nflg.wms.common.pojo.qo.SRMQualityInspectionResult; +import com.nflg.wms.common.util.DateTimeUtil; import com.nflg.wms.repository.entity.*; import com.nflg.wms.repository.service.*; import com.nflg.wms.starter.BaseController; @@ -19,12 +22,14 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import repository.SrmMaterialReceiptScanCodesRepository; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * SRM相关 @@ -52,6 +57,12 @@ public class SRMController extends BaseController { @Resource private IWmsQcReceiveService qcReceiveService; + @Resource + private SrmMaterialReceiptScanCodesRepository srmMaterialReceiptScanCodesRepository; + + @Resource + private IWmsQrCodeMasterService qrCodeMasterService; + /** * 接收SRM送货单 */ @@ -137,6 +148,8 @@ public class SRMController extends BaseController { .eq(WmsQcReceiveItem::getMaterialDoc, data.getReceiveNum()) .eq(WmsQcReceiveItem::getLineNumber, data.getLineNumber()) .eq(WmsQcReceiveItem::getNoteNum, data.getNoteNum()) + .eq(WmsQcReceiveItem::getPoLineNumber, data.poLineNumber) + .eq(WmsQcReceiveItem::getPoNum, data.getPoNum()) .one(); if (Objects.isNull(receiveItem)) { log.error("接收到无效的质检信息" + data.getInspectionNum()); @@ -175,12 +188,34 @@ public class SRMController extends BaseController { isCheck = 1; inspect.setReceiveQty(inspect.getQualifiedQty()); } + //查找扫码记录 + List scanCodes = srmMaterialReceiptScanCodesRepository.findByOrderItemId (receiveItem.getOrderItemId()); + if(CollectionUtil.isNotEmpty(scanCodes)) + { + List codeIds = scanCodes.stream().map(SrmMaterialReceiptScanCodes::getCodeContent).collect(Collectors.toList()); + List qrCodes = qrCodeMasterService.lambdaQuery() + .in(WmsQrCodeMaster::getBarcodeCode, codeIds) + .list(); + qrCodes.forEach(qrCode -> { + qrCode.setProcessStage(BarCodeProcessStage.Checked.getState()); + qrCode.setLastScanTime(LocalDateTime.now()); + }); + qrCodeMasterService.updateBarCode(qrCodes); + } + srmQualityInspectionService.save(inspect); qcReceiveService.lambdaUpdate() .eq(WmsQcReceive::getOrderNo, inspect.getNoteNum()) .set(WmsQcReceive::getIsCheck, isCheck) .update(); - qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode(), inspect.getReceiveNum()); + qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), + inspect.getNoteNum(), + inspect.getLineNumber(), + inspect.getItemCode(), + inspect.getReceiveNum(), + inspect.getUnqualifiedQty(), + inspect.getQualifiedQty()); + log.error("质检单生成上架任务成功"); return 0; } catch (Exception ex) { diff --git a/nflg-wms-srm-receive/src/main/java/repository/SrmMaterialReceiptScanCodesRepository.java b/nflg-wms-srm-receive/src/main/java/repository/SrmMaterialReceiptScanCodesRepository.java new file mode 100644 index 00000000..47aa5778 --- /dev/null +++ b/nflg-wms-srm-receive/src/main/java/repository/SrmMaterialReceiptScanCodesRepository.java @@ -0,0 +1,24 @@ +package repository; + +import com.nflg.wms.common.pojo.document.SrmMaterialReceiptScanCodes; +import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.data.mongodb.repository.Query; +import org.springframework.data.mongodb.repository.Update; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface SrmMaterialReceiptScanCodesRepository + extends MongoRepository { + List findByOrderItemId(Long orderItemId); + List findByReceiveItemId(Long receiveItemId); + + List findByCodeIdIn(List attr0); + +@Query("{ 'codeId' : { $in : ?0 } }") +@Update("{ $set : { 'isIntoStorage' : ?1 } }") +void updateIsIntoStorage(List codeIds, boolean isIntoStorage); + + +}