diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java index 0e9b277b..cb4c304e 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java @@ -861,10 +861,12 @@ public class NormalPGIController extends BaseController { zwm3A17DTOS.add(zwm3A17DTO); } - Map codeBinNoMap = request.getItems().stream() - .map(PoReceiveTaskItemConfirmQO::getItems) - .flatMap(List::stream) + Map codeBinNoMap = qo.getItems().stream() .collect(Collectors.toMap(InCostCenterBackSubmitItemQRQO::getQrCode, InCostCenterBackSubmitItemQRQO::getBinNo)); +// request.getItems().stream() +// .map(PoReceiveTaskItemConfirmQO::getItems) +// .flatMap(List::stream) +// .collect(Collectors.toMap(InCostCenterBackSubmitItemQRQO::getQrCode, InCostCenterBackSubmitItemQRQO::getBinNo)); List qrCodeMasters = qrCodeMasterService.getByCodes(codeBinNoMap.keySet()); List tmpQrCodes = qrCodeMasters.stream() .filter(qrCodeMaster -> !Objects.equals(qrCodeMaster.getProcessStage(), BarCodeProcessStage.Received.getState())) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java index 15b1e70c..1aafdc05 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java @@ -133,8 +133,7 @@ public class NormalQMController extends BaseController { @PostMapping("PDA/task/confirm") @ApiMark(moduleName = "质检物料管理", apiName = "质检任务上架确认") public ApiResult confirm(@Valid @RequestBody List request) { - if (CollectionUtil.isEmpty(request)) - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("入库参数为空"); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("入库参数为空"); //根据详情ID 获取到相应的入库单信息 List uniqueIds = request.stream() @@ -147,7 +146,7 @@ public class NormalQMController extends BaseController { .apply("check_qty>in_qty") .list(); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("不存在待入库的物料(或此物料已入库)"); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(wmsQcReceiveItems)).throwMessage("不存在待入库的物料(或此物料已入库)"); List qrCodes = CollectionUtil.unionAll( request.stream() @@ -228,14 +227,14 @@ public class NormalQMController extends BaseController { List qcReceiveDTOS = new ArrayList<>(); for (String poNum : poNums) { - //封装一个数据 - QCReceiveDTO qcReceiveDTO = new QCReceiveDTO() -// .setUnqualifiedInventories(new ArrayList<>()) - .setQcIdList(new ArrayList<>()) - .setReceiveIds(new ArrayList<>()) - .setWaitModifyItems(new ArrayList<>()) - .setStorageLocationDTOS(new ArrayList<>()) - .setQualifiednventories(new ArrayList<>()); +// //封装一个数据 +// QCReceiveDTO qcReceiveDTO = new QCReceiveDTO() +//// .setUnqualifiedInventories(new ArrayList<>()) +// .setQcIdList(new ArrayList<>()) +// .setReceiveIds(new ArrayList<>()) +// .setWaitModifyItems(new ArrayList<>()) +// .setStorageLocationDTOS(new ArrayList<>()) +// .setQualifiednventories(new ArrayList<>()); List qcReceiveTaskConfirmQOS = request.stream() .filter(q -> q.getPoNum().equals(poNum)) .collect(Collectors.toList()); @@ -248,6 +247,15 @@ public class NormalQMController extends BaseController { if (Objects.isNull(wmsQcReceiveItem)) { continue; } + //封装一个数据 + QCReceiveDTO qcReceiveDTO = new QCReceiveDTO() +// .setUnqualifiedInventories(new ArrayList<>()) + .setQcIdList(new ArrayList<>()) + .setReceiveIds(new ArrayList<>()) + .setWaitModifyItems(new ArrayList<>()) + .setStorageLocationDTOS(new ArrayList<>()) + .setQualifiednventories(new ArrayList<>()); + qcReceiveDTOS.add(qcReceiveDTO); if (!qcReceiveDTO.getReceiveIds().stream().anyMatch(id -> id.equals(wmsQcReceiveItem.getReceiveId()))) { qcReceiveDTO.getReceiveIds().add(wmsQcReceiveItem.getReceiveId()); } @@ -362,7 +370,7 @@ public class NormalQMController extends BaseController { } } } - qcReceiveDTOS.add(qcReceiveDTO); +// qcReceiveDTOS.add(qcReceiveDTO); } qrCodeMasterService.updateBarCode(qrCodeMasters); normalQMControllerService.confirmReceive(qcReceiveDTOS); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java index 60cae812..52e46cbc 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java @@ -389,7 +389,6 @@ public class StructuralPackageOrderController extends BaseController { .setPackagingType((short) 0) .setQuantity(BigDecimal.valueOf(it.getNum())) .setUnit(it.getUnit()) - .setSupplierId(it.getSupplierId()) .setPoNumber(it.getExternalOrderNo()) .setPoLineNumber(it.getRowNo()) .setExtendId(it.getId()) @@ -1205,15 +1204,14 @@ public class StructuralPackageOrderController extends BaseController { List items = structuralPackageOrderTrayItemService.getList(request.getId()); items.forEach(it -> it.setStoreNum(it.getShipmentNum())); structuralPackageOrderTrayItemService.updateBatchById(items); - if (structuralPackageDeliverOrderService.updateStateByOrderId(request.getId()) == 2) { - qrCodeMasterService.lambdaUpdate() - .set(WmsQrCodeMaster::getProcessStage, BarCodeProcessStage.InBound.getState()) - .set(WmsQrCodeMaster::getLastScanBy, UserUtil.getUserId()) - .set(WmsQrCodeMaster::getLastScanByname, UserUtil.getUserName()) - .set(WmsQrCodeMaster::getLastScanTime, LocalDateTime.now()) - .eq(WmsQrCodeMaster::getExtendId, request.getId()) - .update(); - } + structuralPackageDeliverOrderService.updateStateByOrderId(request.getId()); + qrCodeMasterService.lambdaUpdate() + .set(WmsQrCodeMaster::getProcessStage, BarCodeProcessStage.InBound.getState()) + .set(WmsQrCodeMaster::getLastScanBy, UserUtil.getUserId()) + .set(WmsQrCodeMaster::getLastScanByname, UserUtil.getUserName()) + .set(WmsQrCodeMaster::getLastScanTime, LocalDateTime.now()) + .eq(WmsQrCodeMaster::getExtendId, request.getId()) + .update(); WmsStructuralPackageDeliverOrderMap om = structuralPackageDeliverOrderMapService.lambdaQuery() .eq(WmsStructuralPackageDeliverOrderMap::getOrderId, request.getId()) .one(); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/StorageImportDTO.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/StorageImportDTO.java new file mode 100644 index 00000000..cd7658e2 --- /dev/null +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/StorageImportDTO.java @@ -0,0 +1,26 @@ +package com.nflg.wms.admin.pojo.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class StorageImportDTO { + + private String factoryNo; + + private String warehouseNo; + + private String binNo; + + /** + * 库存地点ID + */ + private Long warehouseId; + + private Long binId; + + private String error; +} diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java index 4e4a77ff..4366e0f8 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java @@ -9,6 +9,7 @@ import com.nflg.wms.admin.pojo.dto.ZWM3A27ItemDTO; import com.nflg.wms.common.pojo.dto.OptRecordDTO; import com.nflg.wms.common.pojo.vo.QCTaskItemScanCodesVO; import com.nflg.wms.common.pojo.vo.QCTaskItemVO; +import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.repository.entity.WmsQcReceive; import com.nflg.wms.repository.entity.WmsQcReceiveItem; import com.nflg.wms.repository.entity.WmsSrmQualityInspection; @@ -120,11 +121,17 @@ public class NormalQMControllerService { iWmsQcReceiveService.lambdaUpdate() .eq(WmsQcReceive::getId, receiveId) .set(WmsQcReceive::getIsCompleted, 2) + .set(WmsQcReceive::getUpdateTime, LocalDateTime.now()) + .set(WmsQcReceive::getUpdateUserId, UserUtil.getUserId()) + .set(WmsQcReceive::getUpdateUserName, UserUtil.getUserName()) .update(); } else { iWmsQcReceiveService.lambdaUpdate() .eq(WmsQcReceive::getId, receiveId) .set(WmsQcReceive::getIsCompleted, 1) + .set(WmsQcReceive::getUpdateTime, LocalDateTime.now()) + .set(WmsQcReceive::getUpdateUserId, UserUtil.getUserId()) + .set(WmsQcReceive::getUpdateUserName, UserUtil.getUserName()) .update(); } } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StorageControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StorageControllerService.java index 8ddef64f..046c5717 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StorageControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StorageControllerService.java @@ -5,6 +5,7 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.nflg.wms.admin.pojo.dto.StorageImportDTO; import com.nflg.wms.common.constant.Constant; import com.nflg.wms.common.constant.STATE; import com.nflg.wms.common.pojo.ApiResult; @@ -49,9 +50,7 @@ import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; @Component @@ -129,14 +128,14 @@ public class StorageControllerService { if (updateCheckAndImport(data)) { return ApiResult.success(); } else { - try(ByteArrayOutputStream osOut = new ByteArrayOutputStream()) { + try (ByteArrayOutputStream osOut = new ByteArrayOutputStream()) { new Workbook() .addSheet(new ListSheet<>(data)) .writeTo(osOut); - try(ByteArrayInputStream isIn = new ByteArrayInputStream(osOut.toByteArray())) { + try (ByteArrayInputStream isIn = new ByteArrayInputStream(osOut.toByteArray())) { return ApiResult.error(STATE.DataNoCheckPass, "导入文件失败", fileUploadService.upload("temp/" + DateTimeUtil.format(LocalDate.now(), "yyyyMMdd") + "/" + IdUtil.fastUUID() + ".xlsx", isIn, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")); } - }catch (Exception e){ + } catch (Exception e) { return ApiResult.error(STATE.BusinessError, "保存文件出错"); } } @@ -144,18 +143,77 @@ public class StorageControllerService { @Transactional public boolean updateCheckAndImport(List data) { - List storages = new ArrayList<>(); + List storagesForAdd = new ArrayList<>(); + Set materialNos = data.stream().map(StorageExcelExportDTO::getMaterialNo).collect(Collectors.toSet()); + List dtos = bomMaterialService.getList(materialNos); + Set fwbs = new HashSet<>(); + data.forEach(dto -> { + if (dtos.stream().noneMatch(d -> StrUtil.equals(d.getMaterialNo(), dto.getMaterialNo()))) { + dto.setError("物料编号无效;"); + } else { + if (StrUtil.isNotBlank(dto.getBinNo())) { + fwbs.add(dto.getFactoryNo() + "$" + dto.getWarehouseNo() + "$" + dto.getBinNo()); + } + } + }); + List factories = dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_FACTORY); + List fwbos = new ArrayList<>(); + fwbs.forEach(fwb -> { + List fwbl = StrUtil.split(fwb, "$"); + if (factories.stream().noneMatch(f -> StrUtil.equals(f.getValue(), fwbl.get(0)))) { + fwbos.add(new StorageImportDTO(fwbl.get(0), fwbl.get(1), fwbl.get(2), null, null, "工厂编号无效")); + } else { + WmsBin bin = wmsBinService.getByCode(fwbl.get(0), fwbl.get(1), fwbl.get(2)); + if (Objects.isNull(bin)) { + fwbos.add(new StorageImportDTO(fwbl.get(0), fwbl.get(1), fwbl.get(2), null, null, "储位编号无效")); + } else { + fwbos.add(new StorageImportDTO(fwbl.get(0), fwbl.get(1), fwbl.get(2), bin.getWarehouseId(), bin.getId(), null)); + } + } + }); + List storagesForUpdate = storageService.lambdaQuery() + .in(WmsStorage::getMaterialNo, materialNos) + .list(); for (StorageExcelExportDTO dto : data) { - WmsStorage storage = new WmsStorage(); + if (StrUtil.isNotBlank(dto.getError())) { + continue; + } + WmsStorage storage = null; StringBuilder sb = new StringBuilder(); if (StrUtil.isBlank(dto.getMaterialNo())) { sb.append("物料编号不能为空;"); + } + String factoryNo = StrUtil.trim(dto.getFactoryNo()); + if (StrUtil.isBlank(factoryNo)) { + sb.append("工厂编号不能为空;"); + } + String warehouseNo = StrUtil.trim(dto.getWarehouseNo()); + if (StrUtil.isBlank(warehouseNo)) { + sb.append("库存地点编号不能为空;"); + } + if (StrUtil.isBlank(dto.getBinNo())) { + sb.append("储位编号不能为空;"); } else { - MaterialMainDTO material = bomMaterialService.getMaterialInfo(dto.getMaterialNo()); - if (Objects.isNull(material)) { - sb.append("物料编号无效;"); + StorageImportDTO fwbo = fwbos.stream() + .filter(f -> StrUtil.equals(f.getFactoryNo(), factoryNo) + && StrUtil.equals(f.getWarehouseNo(), warehouseNo) + && StrUtil.equals(f.getBinNo(), dto.getBinNo()) + ) + .findFirst() + .get(); + if (StrUtil.isNotBlank(fwbo.getError())) { + sb.append(fwbo.getError()).append(";"); } else { - storage = storageService.lambdaQuery().eq(WmsStorage::getMaterialNo, material.getMaterialNo()).one(); + MaterialMainDTO material = dtos.stream() + .filter(d -> StrUtil.equals(d.getMaterialNo(), dto.getMaterialNo())) + .findFirst() + .get(); + storage = storagesForUpdate.stream() + .filter(s -> StrUtil.equals(s.getMaterialNo(), dto.getMaterialNo()) + && s.getWarehouseId().equals(fwbo.getWarehouseId()) + ) + .findFirst() + .orElse(null); if (Objects.isNull(storage)) { storage = new WmsStorage() .setId(IdUtil.getSnowflakeNextId()) @@ -164,56 +222,25 @@ public class StorageControllerService { .setMaterialDesc(material.getMaterialDesc()) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); - }else { + storagesForAdd.add(storage); + } else { storage.setUpdateBy(UserUtil.getUserName()); storage.setUpdateTime(LocalDateTime.now()); } + storage.setWarehouseId(fwbo.getWarehouseId()); + storage.setBinId(fwbo.getBinId()); + storage.setRemark(dto.getRemark()); } } - String factoryNo = StrUtil.trim(dto.getFactoryNo()); - DictionaryItem item = null; - if (StrUtil.isBlank(factoryNo)) { - sb.append("工厂编号不能为空;"); - } else { - item = dictionaryItemService.getByCode(Constant.DICTIONARY_FACTORY, factoryNo); - if (Objects.isNull(item)) { - sb.append("工厂编号无效;"); - } - } - String warehouseNo = StrUtil.trim(dto.getWarehouseNo()); - WmsWarehouse warehouse = null; - if (StrUtil.isBlank(warehouseNo)) { - sb.append("库存地点编号不能为空;"); - } else if (Objects.nonNull(item)) { - warehouse = warehouseService.lambdaQuery().eq(WmsWarehouse::getFactoryId, item.getId()).eq(WmsWarehouse::getNo, warehouseNo).one(); - if (Objects.isNull(warehouse)) { - sb.append("库存地点编号无效;"); - } else { - storage.setWarehouseId(warehouse.getId()); - } - } - if (StrUtil.isBlank(dto.getBinNo())) { - sb.append("储位编号不能为空;"); - } else if (Objects.nonNull(warehouse)) { - WmsBin bin = wmsBinService.lambdaQuery() - .eq(WmsBin::getWarehouseId, warehouse.getId()) - .eq(WmsBin::getNo, dto.getBinNo()) - .one(); - if (Objects.isNull(bin)) { - sb.append("储位编号无效;"); - }else { - storage.setBinId(bin.getId()); - } - } - storage.setRemark(dto.getRemark()); dto.setError(sb.toString()); - storages.add(storage); } if (data.stream().noneMatch(it -> StrUtil.isNotBlank(it.getError()))) { - storageService.saveOrUpdateBatch(storages); -// storageBinService.remove(new LambdaQueryWrapper() -// .in(WmsStorageBin::getStorageId, storages.stream().map(WmsStorage::getId).toList())); -// storageBinService.saveBatch(storageBinAll); + if (CollectionUtil.isNotEmpty(storagesForAdd)) { + storageService.saveBatch(storagesForAdd); + } + if (CollectionUtil.isNotEmpty(storagesForUpdate)) { + storageService.updateBatchById(storagesForUpdate); + } return true; } return false; @@ -238,7 +265,7 @@ public class StorageControllerService { } public void exportSearch(HttpServletResponse response, @Valid StorageSearchQO request) throws IOException { - List list=storageService.searchNonPage(request); + List list = storageService.searchNonPage(request); List datas = list.stream().map(bin -> Convert.convert(StorageExcelExportDTO.class, bin)).collect(Collectors.toList()); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("物料存储导出.xlsx", StandardCharsets.UTF_8)); diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/LdapUserDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/LdapUserDTO.java index 0a196358..f331df1f 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/LdapUserDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/LdapUserDTO.java @@ -1,5 +1,6 @@ package com.nflg.wms.common.pojo.dto; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import lombok.Data; import lombok.experimental.Accessors; @@ -8,6 +9,8 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class LdapUserDTO { + private Long id = IdUtil.getSnowflakeNextId(); + /** * 用户名 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QCReceiptVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QCReceiptVO.java index d22e0f46..4c525c4b 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QCReceiptVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QCReceiptVO.java @@ -82,4 +82,14 @@ public class QCReceiptVO { * 1 无码收货 */ private Integer sourceType; + + /** + * 入库时间 + */ + private LocalDateTime inTime; + + /** + * 入库人 + */ + private String inUserName; } 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-repository/src/main/resources/mapper/WmsStorageMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsStorageMapper.xml index 889c6988..688be53a 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsStorageMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsStorageMapper.xml @@ -10,10 +10,12 @@ wh.id AS "warehouseId", wh.no AS "warehouseNo", s.bin_id, - bin.no as "binNo" + bin.no as "binNo", + di.value as "factoryNo" FROM wms_storage s INNER JOIN wms_bin bin ON s.bin_id = bin.id LEFT JOIN wms_warehouse wh ON s.warehouse_id = wh.id + LEFT JOIN dictionary_item di ON wh.factory_id = di."id" and wh.no ilike concat('%', #{request.warehouseNo}, '%') @@ -56,10 +58,12 @@ wh.id AS "warehouseId", wh.no AS "warehouseNo", s.bin_id, - bin.no as "binNo" + bin.no as "binNo", + di.value as "factoryNo" FROM wms_storage s INNER JOIN wms_bin bin ON s.bin_id = bin.id LEFT JOIN wms_warehouse wh ON s.warehouse_id = wh.id + LEFT JOIN dictionary_item di ON wh.factory_id = di."id" and wh.no like concat('%', #{request.warehouseNo}, '%') 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 1bd94e5b..845b6fe6 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 @@ -155,6 +155,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("未找到对应收货明细, 质检单号: {}, 物料: {}, 收货单: {}, 行号: {}", 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); + + +}