diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/GongZhuangTaiZhangController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/GongZhuangTaiZhangController.java index e47ac220..d3826813 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/GongZhuangTaiZhangController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/GongZhuangTaiZhangController.java @@ -9,10 +9,7 @@ import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.dto.BomMaterialDTO; import com.nflg.wms.common.pojo.dto.GongZhuangTaiZhangExcelCheckDTO; -import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangAddQO; -import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckAddQO; -import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangSearchQO; -import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangUpdateQO; +import com.nflg.wms.common.pojo.qo.*; import com.nflg.wms.common.util.DateTimeUtil; import com.nflg.wms.common.util.EecExcelUtil; import com.nflg.wms.common.util.UserUtil; @@ -27,6 +24,7 @@ import com.nflg.wms.starter.service.FileUploadService; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; +import jakarta.validation.constraints.NotEmpty; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; @@ -71,8 +69,8 @@ public class GongZhuangTaiZhangController extends BaseController { */ @PostMapping("add") public ApiResult add(@Valid @RequestBody GongZhuangTaiZhangAddQO request) { - BomMaterialDTO materialDTO = bomMaterialService.getMaterialInfo(request.getNo()); - VUtil.trueThrowBusinessError(Objects.isNull(materialDTO)).throwMessage("工装编号无效"); +// BomMaterialDTO materialDTO = bomMaterialService.getMaterialInfo(request.getNo()); +// VUtil.trueThrowBusinessError(Objects.isNull(materialDTO)).throwMessage("工装编号无效"); gongzhuangTaizhangService.add(request); return ApiResult.success(); } @@ -110,7 +108,7 @@ public class GongZhuangTaiZhangController extends BaseController { * 导出模版 */ @GetMapping("export") - public void exportSelect(HttpServletResponse response) throws Exception { + public void export(HttpServletResponse response) throws Exception { response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工装台账模板.xlsx", StandardCharsets.UTF_8)); List datas = new ArrayList<>(); @@ -120,6 +118,19 @@ public class GongZhuangTaiZhangController extends BaseController { .writeTo(response.getOutputStream()); } + /** + * 导出选中 + */ + @GetMapping("exportSelect") + public void exportSelect(HttpServletResponse response, @Valid @RequestBody @NotEmpty List ids) throws Exception { + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工装台账.xlsx", StandardCharsets.UTF_8)); + List datas = Convert.toList(GongZhuangTaiZhangAddQO.class, gongzhuangTaizhangService.listByIds(ids)); + new Workbook() + .addSheet(new ListSheet<>(datas)) + .writeTo(response.getOutputStream()); + } + /** * 导入 * @param file 文件 @@ -179,6 +190,15 @@ public class GongZhuangTaiZhangController extends BaseController { return false; } + /** + * 获取检验记录列表 + * @param request 请求参数 + */ + @PostMapping("getCheckList") + public ApiResult> getCheckList(GongZhuangTaiZhangCheckListQO request) { + return ApiResult.success(gongzhuangTaizhangCheckService.search(request)); + } + /** * 添加检验记录 * @param request 请求参数 @@ -191,6 +211,26 @@ public class GongZhuangTaiZhangController extends BaseController { return ApiResult.success(); } + /** + * 修改检验记录 + * @param request 请求参数 + */ + @PostMapping("updateCheck") + public ApiResult updateCheck(@Valid @RequestBody GongZhuangTaiZhangCheckUpdateQO request) { + gongzhuangTaizhangCheckService.update(request); + return ApiResult.success(); + } + + /** + * 删除检验记录 + * @param ids 要删除的记录Id列表 + */ + @PostMapping("deleteCheck") + public ApiResult deleteCheck(@Valid @RequestBody @NotEmpty List ids) { + gongzhuangTaizhangCheckService.removeBatchByIds(ids); + return ApiResult.success(); + } + /** * 导出检验模版 */ @@ -205,6 +245,19 @@ public class GongZhuangTaiZhangController extends BaseController { .writeTo(response.getOutputStream()); } + /** + * 导出选中检验记录 + */ + @GetMapping("exportCheckSelect") + public void exportCheckSelect(HttpServletResponse response, @Valid @RequestBody @NotEmpty List ids) throws Exception { + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工装检验明细.xlsx", StandardCharsets.UTF_8)); + List datas = Convert.toList(GongZhuangTaiZhangCheckAddQO.class, gongzhuangTaizhangCheckService.listByIds(ids)); + new Workbook() + .addSheet(new ListSheet<>(datas)) + .writeTo(response.getOutputStream()); + } + /** * 导入检验记录 * @param file 文件 @@ -238,10 +291,10 @@ public class GongZhuangTaiZhangController extends BaseController { if (Objects.isNull(dto.getNo())) { sb.append("工装编号不能为空;"); } else { - BomMaterialDTO materialDTO =bomMaterialService.getMaterialInfo(dto.getNo()); - if (Objects.isNull(materialDTO)){ - sb.append("工装编号无效;"); - }else { +// BomMaterialDTO materialDTO =bomMaterialService.getMaterialInfo(dto.getNo()); +// if (Objects.isNull(materialDTO)){ +// sb.append("工装编号无效;"); +// }else { WmsGongzhuangTaizhang dbInfo = gongzhuangTaizhangService.lambdaQuery().eq(WmsGongzhuangTaizhang::getNo, dto.getNo()).one(); if (Objects.isNull(dbInfo)) { sb.append("请先添加工装编号;"); @@ -249,7 +302,7 @@ public class GongZhuangTaiZhangController extends BaseController { info.setCreateBy(UserUtil.getUserName()); info.setCreateTime(LocalDateTime.now()); } - } +// } } dto.setError(sb.toString()); infos.add(info); 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 0575fb2f..6e2ca9d2 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 @@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.Pair; import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.DigestUtil; @@ -31,6 +30,7 @@ import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.dto.PackageMaterialDTO; import com.nflg.wms.common.pojo.dto.SAPOrderDTO; import com.nflg.wms.common.pojo.dto.SAPSyncFromDTO; +import com.nflg.wms.common.pojo.dto.StructuralPackageMaterialQRCodeContentDTO; import com.nflg.wms.common.pojo.qo.*; import com.nflg.wms.common.pojo.vo.*; import com.nflg.wms.common.util.*; @@ -147,17 +147,21 @@ public class StructuralPackageOrderController extends BaseController { public ApiResult> searchSAPOrder(@Valid @RequestBody @NotNull SearchSAPOrderQO request) { List orders = sapService.zim004(request.getOrderNo(), request.getSupplierNo(), request.getMaterialNo()); UserSupplier supplier = userSupplierService.getByCode(request.getSupplierNo()); - List datas = orders.stream().map(order -> new SAPOrderDTO() - .setIndex(IdUtil.getSnowflakeNextId()) - .setOrderNo(order.getEbeln()) - .setSupplierName(supplier.getSupplierName()) - .setOrderRowNo(order.getEbelp()) - .setMaterialNo(order.getMatnr()) - .setMaterialDesc(order.getMaktx()) - .setOrderNum(order.getMenge()) - .setReceivedNum(order.getWemng()) - .setTransportNum(order.getTransportNum()) - .setLbprt(order.getLbprt())).toList(); + List datas = orders.stream() + .map(order -> new SAPOrderDTO() + .setIndex(IdUtil.getSnowflakeNextId()) + .setOrderNo(order.getEbeln()) + .setSupplierName(supplier.getSupplierName()) + .setOrderRowNo(order.getEbelp()) + .setMaterialNo(order.getMatnr()) + .setMaterialDesc(order.getMaktx()) + .setOrderNum(order.getMenge()) + .setReceivedNum(order.getWemng()) + .setTransportNum(order.getTransportNum()) + .setLbprt(order.getLbprt()) + .setUnit(order.getMeins()) + ) + .toList(); if (Objects.equals(request.getType(), 1)) { datas.forEach(it -> { if (StrUtil.equals("2", it.getLbprt()) || StrUtil.equals("4", it.getLbprt())) { @@ -173,10 +177,10 @@ public class StructuralPackageOrderController extends BaseController { */ @PostMapping("generateTray") public ApiResult generateTray(@Valid @RequestBody @NotNull GenerateTrayQO request) { - return ApiResult.success(generateTray(request.getPackageId(), request.getNum())); + return ApiResult.success(generateTray(request.getPackageId(), request.getNum(), request.getOrderNum())); } - private GenerateTrayVO generateTray(Long packageId, Integer num) { + private GenerateTrayVO generateTray(Long packageId, BigDecimal num, BigDecimal orderNum) { PackageVO packageVO = structuralPackageService.getInfo(packageId); VUtil.trueThrowBusinessError(Objects.isNull(packageVO)).throwMessage("钢构包不存在"); List materials = packageVO.getMaterialList(); @@ -202,7 +206,8 @@ public class StructuralPackageOrderController extends BaseController { .setMaterialDesc(material.getName()) .setVersion(material.getVersion()) .setWeight(material.getWeight()) - .setPlanNum(material.getNum() * num) + .setPlanNum(material.getNum().multiply(orderNum)) + .setShipmentNum(material.getNum().multiply(num)) .setImage(material.getImage()) ); if (Objects.nonNull(material.getWeight())) { @@ -239,7 +244,7 @@ public class StructuralPackageOrderController extends BaseController { WmsStructuralPackageOrder order = Convert.convert(WmsStructuralPackageOrder.class, orderQO); order.setOrderNo(orderNo); deliverStructuralPackageOrderService.addOrUpdate(order); - GenerateTrayVO trayVO = generateTray(orderQO.getPackageId(), orderQO.getNum()); + GenerateTrayVO trayVO = generateTray(orderQO.getPackageId(), orderQO.getNum(), orderQO.getPlanNum()); if (Objects.nonNull(orderQO.getId())) { WmsStructuralPackageOrder o = deliverStructuralPackageOrderService.getById(orderQO.getId()); VUtil.trueThrowBusinessError(Objects.isNull(o)).throwMessage("订单不存在"); @@ -254,8 +259,8 @@ public class StructuralPackageOrderController extends BaseController { .setId(IdUtil.getSnowflakeNextId()) .setOrderId(order.getId()) .setNo(it.getNo()) - .setWeight(BigDecimal.ZERO) - .setNum(0) +// .setWeight(BigDecimal.ZERO) +// .setNum(0) .setStation(it.getStation()) .setTray(it.getTray())).toList(); List items = new ArrayList<>(); @@ -265,8 +270,8 @@ public class StructuralPackageOrderController extends BaseController { WmsStructuralPackageOrderTrayItem item = Convert.convert(WmsStructuralPackageOrderTrayItem.class, it); item.setOrderId(order.getId()); item.setTrayId(tray.getId()); - tray.setNum(tray.getNum() + (item.getPlanNum() * order.getNum())); - tray.setWeight(tray.getWeight().add(NumberUtil.mul(it.getWeight(), new BigDecimal(item.getPlanNum())))); +// tray.setNum(tray.getNum() + (item.getShipmentNum() * order.getNum())); +// tray.setWeight(tray.getWeight().add(NumberUtil.mul(it.getWeight(), new BigDecimal(item.getPlanNum())))); return item; }).toList() ); @@ -425,7 +430,7 @@ public class StructuralPackageOrderController extends BaseController { .setNo(item.getMaterialNo()) .setDrawingNo(item.getDrawingNo()) .setName(item.getMaterialDesc()) - .setNum(item.getPlanNum()) + .setNum(item.getShipmentNum()) .setWeight(item.getWeight()) ).toList(); Map variables = new HashMap<>(); @@ -450,12 +455,19 @@ public class StructuralPackageOrderController extends BaseController { List list = deliverStructuralPackageOrderTrayItemService.getListByTrayId(id); List datas = new ArrayList<>(); for (DeliverStructuralPackageOrderTrayItemVO it : list) { - for (int i = 0; i < it.getPlanNum(); i++) { + for (int i = 0, count = it.getShipmentNum().intValue(); i < count; i++) { DeliverStructuralPackageOrderTrayItemVO vo = BeanUtil.copy(it, DeliverStructuralPackageOrderTrayItemVO.class); vo.setQrCode(it.getId() + "-" + (i + 1) + "^" + it.getMaterialNo() + "_" + it.getTrayNo() + "_1"); vo.setQrCodeImage(QRCodeUtil.generateQRCodeBase64(vo.getQrCode(), 200, 200)); datas.add(vo); } + + if (it.getShipmentNum().remainder(BigDecimal.ONE).compareTo(BigDecimal.ZERO) > 0) { + DeliverStructuralPackageOrderTrayItemVO vo = BeanUtil.copy(it, DeliverStructuralPackageOrderTrayItemVO.class); + vo.setQrCode(it.getId() + "-" + (it.getShipmentNum().intValue() + 1) + "^" + it.getMaterialNo() + "_" + it.getTrayNo() + "_" + it.getShipmentNum().remainder(BigDecimal.ONE)); + vo.setQrCodeImage(QRCodeUtil.generateQRCodeBase64(vo.getQrCode(), 200, 200)); + datas.add(vo); + } } Map variables = new HashMap<>(); variables.put("list", datas); @@ -519,7 +531,19 @@ public class StructuralPackageOrderController extends BaseController { WmsStructuralPackageOrderTray tray = deliverStructuralPackageOrderTrayService.lambdaQuery().eq(WmsStructuralPackageOrderTray::getNo, request.getTrayNo()).one(); VUtil.trueThrowBusinessError(Objects.isNull(tray)).throwMessage("托盘不存在"); VUtil.trueThrowBusinessError(!Objects.equals(tray.getState(), OrderState.Unpackaged.getState())).throwMessage("请勿重复打包"); - VUtil.trueThrowBusinessError(tray.getNum().compareTo(request.getQrCodes().size()) != 0).throwMessage("打包数量不足"); + List trayItemVOS = deliverStructuralPackageOrderTrayItemService.getListByTrayId(tray.getId()); + List materialNos = new ArrayList<>(); + List qrCodeDTOs = request.getQrCodes().stream().map(NoUtil::getStructuralPackageMaterialQRCodeContent).toList(); + trayItemVOS.forEach(it -> { + if (it.getShipmentNum().compareTo(qrCodeDTOs.stream() + .filter(qr -> StrUtil.equals(qr.getMaterialNo(), it.getMaterialNo())) + .map(StructuralPackageMaterialQRCodeContentDTO::getNum) + .reduce(BigDecimal.ZERO, BigDecimal::add)) != 0) { + materialNos.add(it.getMaterialNo()); + } + }); + VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(materialNos)) + .throwMessage("以下物料的数量与托盘数量不一致:" + StrUtil.join(",", materialNos)); VUtil.trueThrowBusinessError(!deliverStructuralPackageOrderTrayService.lambdaUpdate() .set(WmsStructuralPackageOrderTray::getState, OrderState.Packaged.getState()) .set(WmsStructuralPackageOrderTray::getPackBy, UserUtil.getUserName()) @@ -712,7 +736,7 @@ public class StructuralPackageOrderController extends BaseController { log.error("{},{},{}未从SAP的ZIM_004接口查询仓库为空", it.getExternalOrderNo(), it.getSupplierCode(), it.getPackageNo()); } else { it.setWarehouseNo(dto.getWarehouseNo()); - it.setBinNos(binService.getBinNos(it.getPackageNo(),dto.getWerks(),dto.getWarehouseNo())); + it.setBinNos(binService.getBinNos(it.getPackageNo(), dto.getWerks(), dto.getWarehouseNo())); } }); DeliverStructuralPackageOrderForPackageVO vo = new DeliverStructuralPackageOrderForPackageVO(); @@ -761,7 +785,7 @@ public class StructuralPackageOrderController extends BaseController { .setNoteNum(structuralPackageDeliverOrderService.getNoByOrderId(request.getId())) .setItemCode(order.getPackageNo()) .setItemName(order.getPackageDesc()) - .setUnit("套") + .setUnit(order.getUnit()) .setIsQuality(false) .setUnqualifiedQty(BigDecimal.ZERO) .setQualifiedQty(BigDecimal.valueOf(order.getNum())) @@ -818,8 +842,8 @@ public class StructuralPackageOrderController extends BaseController { inTaskService.storage(request.getTaskNo()); List datas = inTaskItemService.getForIn(request); if (CollectionUtil.isNotEmpty(datas)) { - for (WmsInTaskItem item:datas){ - materialStorageItem(task,item,request.getItems().stream() + for (WmsInTaskItem item : datas) { + materialStorageItem(task, item, request.getItems().stream() .filter(it -> StrUtil.equals(it.getMaterialNo(), item.getItemCode())) .findFirst() .get()); @@ -844,7 +868,7 @@ public class StructuralPackageOrderController extends BaseController { item.setMatDoc103(pair.getValue().getKey()); item.setDocYear103(pair.getValue().getValue()); //保存库存信息 - saveInventory(item,total); + saveInventory(item, total); item.setDataStatus((short) 3); item.setFailResult(""); item.setStorageLocation(StrUtil.join(",", iqo.getBinNos())); @@ -855,7 +879,7 @@ public class StructuralPackageOrderController extends BaseController { maxAttempts = 5, // 最大重试次数(包括第一次调用) backoff = @Backoff(delay = 1000) // 重试间隔1秒 ) - public void saveInventory(WmsInTaskItem item,BigDecimal total){ + public void saveInventory(WmsInTaskItem item, BigDecimal total) { WmsInventory inventory = inventoryService.lambdaQuery() .eq(WmsInventory::getMaterialNo, item.getItemCode()) .eq(WmsInventory::getBatchNumber, item.getBatchNumber()) @@ -884,7 +908,7 @@ public class StructuralPackageOrderController extends BaseController { private Pair, Pair> syncInToSAP(WmsInTask task, WmsInTaskItem item, BigDecimal total) { SAPMaterialInfoInOrderDTO zim004dto = sapService.zim004(item.getPoNum(), item.getSupplierNum(), item.getItemCode()).get(0); if (Objects.equals(task.getTaskFrom(), (short) 2) && item.getIsQuality()) { - List qualityInspections=srmQualityInspectionService.lambdaQuery() + List qualityInspections = srmQualityInspectionService.lambdaQuery() .eq(WmsSrmQualityInspection::getItemCode, item.getItemCode()) .eq(WmsSrmQualityInspection::getPoNum, item.getPoNum()) .list(); @@ -950,26 +974,26 @@ public class StructuralPackageOrderController extends BaseController { .eq(WmsWarehouse::getFactoryId, factory.getId()) .eq(WmsWarehouse::getNo, qo.getReceivedWarehouse()) .one(); - VUtil.trueThrowBusinessError(Objects.isNull(warehouse)).throwMessage("仓库("+qo.getReceivedWarehouse()+")不存在"); - WmsStorage storage=storageService.lambdaQuery() + VUtil.trueThrowBusinessError(Objects.isNull(warehouse)).throwMessage("仓库(" + qo.getReceivedWarehouse() + ")不存在"); + WmsStorage storage = storageService.lambdaQuery() .eq(WmsStorage::getMaterialNo, qo.getMaterialNo()) .eq(WmsStorage::getWarehouseId, warehouse.getId()) .one(); - if (Objects.isNull(storage)){ - storage=new WmsStorage() + if (Objects.isNull(storage)) { + storage = new WmsStorage() .setWarehouseId(warehouse.getId()) .setMaterialNo(qo.getMaterialNo()) .setMaterialDesc(qo.getMaterialDesc()) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); storageService.save(storage); - }else { + } else { storageBinService.deleteByStorageId(storage.getId()); } - List dbBins=wmsBinService.lambdaQuery().in(WmsBin::getNo, qo.getBinNos()).list(); - qo.getBinNos().forEach(binNo->{ - if (dbBins.stream().noneMatch(it -> StrUtil.equals(it.getNo(), binNo))){ - WmsBin bin=new WmsBin() + List dbBins = wmsBinService.lambdaQuery().in(WmsBin::getNo, qo.getBinNos()).list(); + qo.getBinNos().forEach(binNo -> { + if (dbBins.stream().noneMatch(it -> StrUtil.equals(it.getNo(), binNo))) { + WmsBin bin = new WmsBin() .setNo(binNo) .setName(binNo) .setWarehouseId(warehouse.getId()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ToolMaterialController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ToolMaterialController.java index 43763ab3..2c59906a 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ToolMaterialController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ToolMaterialController.java @@ -28,6 +28,7 @@ import com.nflg.wms.starter.service.FileUploadService; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; +import jakarta.validation.constraints.NotEmpty; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; @@ -48,7 +49,7 @@ import java.util.List; import java.util.Objects; /** - * 工具物料管理 + * 工具台账管理 */ @RestController @RequestMapping("/tool/material") @@ -124,6 +125,19 @@ public class ToolMaterialController extends BaseController { .writeTo(response.getOutputStream()); } + /** + * 导出选中 + */ + @GetMapping("exportSelect") + public void exportSelect(HttpServletResponse response, @Valid @RequestBody @NotEmpty List ids) throws Exception { + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工具物料信息.xlsx", StandardCharsets.UTF_8)); + List datas = Convert.toList(ToolMaterialAddQO.class, toolMaterialService.listByIds(ids)); + new Workbook() + .addSheet(new ListSheet<>(datas)) + .writeTo(response.getOutputStream()); + } + /** * 导入 * @param file 文件 @@ -183,6 +197,15 @@ public class ToolMaterialController extends BaseController { return false; } + /** + * 获取检验记录列表 + * @param request 请求参数 + */ + @PostMapping("getCheckList") + public ApiResult> getCheckList(GongZhuangTaiZhangCheckListQO request) { + return ApiResult.success(toolMaterialCheckService.search(request)); + } + /** * 添加检验记录 * @param request 请求参数 @@ -195,6 +218,26 @@ public class ToolMaterialController extends BaseController { return ApiResult.success(); } + /** + * 修改检验记录 + * @param request 请求参数 + */ + @PostMapping("updateCheck") + public ApiResult updateCheck(@Valid @RequestBody ToolMaterialCheckUpdateQO request) { + toolMaterialCheckService.update(request); + return ApiResult.success(); + } + + /** + * 删除检验记录 + * @param ids 要删除的记录Id列表 + */ + @PostMapping("deleteCheck") + public ApiResult deleteCheck(@Valid @RequestBody @NotEmpty List ids) { + toolMaterialCheckService.removeBatchByIds(ids); + return ApiResult.success(); + } + /** * 导出检验模版 */ @@ -209,6 +252,19 @@ public class ToolMaterialController extends BaseController { .writeTo(response.getOutputStream()); } + /** + * 导出选中检验记录 + */ + @GetMapping("exportCheckSelect") + public void exportCheckSelect(HttpServletResponse response, @Valid @RequestBody @NotEmpty List ids) throws Exception { + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工具检验明细.xlsx", StandardCharsets.UTF_8)); + List datas = Convert.toList(ToolMaterialCheckAddQO.class, toolMaterialCheckService.listByIds(ids)); + new Workbook() + .addSheet(new ListSheet<>(datas)) + .writeTo(response.getOutputStream()); + } + /** * 导入检验记录 * @param file 文件 @@ -266,6 +322,15 @@ public class ToolMaterialController extends BaseController { return false; } + /** + * 获取维修记录列表 + * @param request 请求参数 + */ + @PostMapping("getMaintainList") + public ApiResult> getMaintainList(GongZhuangTaiZhangCheckListQO request) { + return ApiResult.success(toolMaterialMaintainService.search(request)); + } + /** * 添加维修记录 * @param request 请求参数 @@ -278,6 +343,26 @@ public class ToolMaterialController extends BaseController { return ApiResult.success(); } + /** + * 修改维修记录 + * @param request 请求参数 + */ + @PostMapping("updateMaintain") + public ApiResult updateMaintain(@Valid @RequestBody ToolMaterialMaintainUpdateQO request) { + toolMaterialMaintainService.update(request); + return ApiResult.success(); + } + + /** + * 删除维修记录 + * @param ids 要删除的记录Id列表 + */ + @PostMapping("deleteMaintain") + public ApiResult deleteMaintain(@Valid @RequestBody @NotEmpty List ids) { + toolMaterialMaintainService.removeBatchByIds(ids); + return ApiResult.success(); + } + /** * 导出维修模版 */ @@ -292,6 +377,19 @@ public class ToolMaterialController extends BaseController { .writeTo(response.getOutputStream()); } + /** + * 导出选中维修记录 + */ + @GetMapping("exportMaintainsSelect") + public void exportMaintainsSelect(HttpServletResponse response, @Valid @RequestBody @NotEmpty List ids) throws Exception { + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("工具维修明细.xlsx", StandardCharsets.UTF_8)); + List datas = Convert.toList(ToolMaterialMaintainAddQO.class, toolMaterialMaintainService.listByIds(ids)); + new Workbook() + .addSheet(new ListSheet<>(datas)) + .writeTo(response.getOutputStream()); + } + /** * 导入维修记录 * @param file 文件 diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SAPCommonService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SAPCommonService.java index 14de8ec3..6fdf2e5d 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SAPCommonService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SAPCommonService.java @@ -22,7 +22,7 @@ public class SAPCommonService { public SAPSyncParamsDTO getMaterialInfoInOrder(String orderNo, String supplierNo, String materialNo) { //获取订单信息 - SAPMaterialInfoInOrderDTO materialInfoInOrder = sapService.zim004(orderNo, supplierNo, materialNo); + SAPMaterialInfoInOrderDTO materialInfoInOrder = CollectionUtil.get(sapService.zim004(orderNo, supplierNo, materialNo), 0); VUtil.trueThrowBusinessError(Objects.isNull(materialInfoInOrder)).throwMessage("无法获取到有效订单信息" + orderNo); SAPSyncParamsDTO syncParams = new SAPSyncParamsDTO(); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java index 3a38f502..b927d941 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/StructuralPackageControllerService.java @@ -226,7 +226,7 @@ public class StructuralPackageControllerService { sb.append("数量无效;"); } else { - materialDTO.setNum(Integer.valueOf(dto.getNum())); + materialDTO.setNum(new BigDecimal(dto.getNum())); } if (StrUtil.isBlank(dto.getWeight())) { sb.append("重量不能为空;"); @@ -334,7 +334,7 @@ public class StructuralPackageControllerService { }else if (!NumberUtils.isCreatable(num)){ sb.append(StrUtil.format("第{}行数量无效;", row.getRowNum())); }else { - dto.setNum(Integer.valueOf(num)); + dto.setNum(new BigDecimal(num)); } num=row.getString(4); if (StrUtil.isBlank(num)){ @@ -353,7 +353,7 @@ public class StructuralPackageControllerService { }); VUtil.trueThrowBusinessError(!sb.isEmpty()).throwMessage("数据校验失败:"+ sb); packageInfo.setWeight(materials.stream() - .map(m -> m.getWeight().multiply(new BigDecimal(m.getNum()))) + .map(m -> m.getWeight().multiply(m.getNum())) .reduce(BigDecimal.ZERO, BigDecimal::add)); packageInfo.setMaterials(JSONUtil.toJsonStr(materials)); packageService.add(packageInfo); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/NoUtil.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/NoUtil.java index 7736c567..1855d39e 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/NoUtil.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/util/NoUtil.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import com.nflg.wms.common.pojo.dto.MaterialQRCodeContentDTO; +import com.nflg.wms.common.pojo.dto.StructuralPackageMaterialQRCodeContentDTO; import com.nflg.wms.common.util.DateTimeUtil; import java.math.BigDecimal; @@ -77,6 +78,21 @@ public class NoUtil { .setSerialNo(CollectionUtil.get(contents, 8)); } + /** + * 解析钢构件零件物料二维码内容 + * @param qrCode 二维码内容 + * @return 解析后的内容 + */ + public static StructuralPackageMaterialQRCodeContentDTO getStructuralPackageMaterialQRCodeContent(String qrCode) { + List contents = StrUtil.split(qrCode, "_"); + List c1s = StrUtil.split(CollectionUtil.get(contents, 0), "^"); + return new StructuralPackageMaterialQRCodeContentDTO() + .setUniqNo(c1s.size() == 1 ? qrCode : CollectionUtil.get(c1s, 0)) + .setMaterialNo(c1s.size() == 1 ? CollectionUtil.get(c1s, 0) : CollectionUtil.get(c1s, 1)) + .setTrayNo(CollectionUtil.get(contents, 1)) + .setNum(new BigDecimal(CollectionUtil.get(contents, 2))); + } + public static String getOutProduceTicketNo() { return "OPT" + DateTimeUtil.format(LocalDateTime.now(), "yyyyMMdd") + RandomUtil.randomNumbers(4); } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/PackageMaterialDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/PackageMaterialDTO.java index ed3977f5..090e5b0e 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/PackageMaterialDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/PackageMaterialDTO.java @@ -38,7 +38,7 @@ public class PackageMaterialDTO { /** * 数量 */ - private Integer num; + private BigDecimal num; /** * 重量 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SAPOrderDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SAPOrderDTO.java index d8fb4bb4..43447642 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SAPOrderDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SAPOrderDTO.java @@ -76,4 +76,9 @@ public class SAPOrderDTO { * 供应商名称 */ private String supplierName; + + /** + * 单位 + */ + private String unit; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/StructuralPackageMaterialQRCodeContentDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/StructuralPackageMaterialQRCodeContentDTO.java new file mode 100644 index 00000000..7a7774f0 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/StructuralPackageMaterialQRCodeContentDTO.java @@ -0,0 +1,31 @@ +package com.nflg.wms.common.pojo.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@Accessors(chain = true) +public class StructuralPackageMaterialQRCodeContentDTO { + + /** + * 唯一编号 + */ + private String uniqNo; + + /** + * 物料编号 + */ + private String materialNo; + + /** + * 托盘编号 + */ + private String trayNo; + + /** + * 数量 + */ + private BigDecimal num; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GenerateTrayQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GenerateTrayQO.java index b910ce5e..39906518 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GenerateTrayQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GenerateTrayQO.java @@ -4,6 +4,8 @@ import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; +import java.math.BigDecimal; + @Data public class GenerateTrayQO { @@ -17,5 +19,11 @@ public class GenerateTrayQO { * 数量 */ @NotNull - private Integer num; + private BigDecimal num; + + /** + * 采购订单数量 + */ + @NotNull + private BigDecimal orderNum; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangAddQO.java index a5a86793..738be9d9 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangAddQO.java @@ -44,12 +44,6 @@ public class GongZhuangTaiZhangAddQO { @ExcelColumn("机型") private String model; - /** - * 入库时间 - */ - @ExcelColumn("入库时间") - private String inTime; - /** * 检验周期 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangCheckAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangCheckAddQO.java index 25b0507c..e973e42a 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangCheckAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangCheckAddQO.java @@ -15,6 +15,13 @@ public class GongZhuangTaiZhangCheckAddQO { @ExcelColumn("*工装编号") private String no; + /** + * 工装名称 + */ + @NotBlank + @ExcelColumn("工装名称") + private String name; + /** * 检验时间 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangCheckListQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangCheckListQO.java new file mode 100644 index 00000000..053e20d0 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangCheckListQO.java @@ -0,0 +1,12 @@ +package com.nflg.wms.common.pojo.qo; + +import lombok.Data; + +@Data +public class GongZhuangTaiZhangCheckListQO extends PageQO { + + /** + * 编号 + */ + private String no; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangCheckUpdateQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangCheckUpdateQO.java new file mode 100644 index 00000000..bd1c3ca6 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangCheckUpdateQO.java @@ -0,0 +1,11 @@ +package com.nflg.wms.common.pojo.qo; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class GongZhuangTaiZhangCheckUpdateQO extends GongZhuangTaiZhangCheckAddQO { + + @NotNull + private Long id; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangSearchQO.java index 1998920b..18b882f1 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/GongZhuangTaiZhangSearchQO.java @@ -9,4 +9,9 @@ public class GongZhuangTaiZhangSearchQO extends PageQO { * 工装编号 */ private String no; + + /** + * 工装名称 + */ + private String name; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java index a1e938f7..8c4456f4 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java @@ -1,5 +1,6 @@ package com.nflg.wms.common.pojo.qo; +import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; @@ -41,7 +42,13 @@ public class PackageDeliverOrderSaveItemQO { * 数量 */ @NotNull - private Integer num; + private BigDecimal num; + + /** + * 计划数量 + */ + @NotNull + private BigDecimal planNum; /** * 总重 @@ -59,4 +66,10 @@ public class PackageDeliverOrderSaveItemQO { */ @NotNull private Long modelId; + + /** + * 单位 + */ + @NotBlank + private String unit; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialCheckAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialCheckAddQO.java index 8e56d3ff..71cd458d 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialCheckAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialCheckAddQO.java @@ -14,6 +14,13 @@ public class ToolMaterialCheckAddQO { @ExcelColumn("*物料号") private String no; + /** + * 物料名称 + */ + @NotBlank + @ExcelColumn("*物料名称") + private String name; + /** * 检验时间 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialCheckUpdateQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialCheckUpdateQO.java new file mode 100644 index 00000000..b58733cc --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialCheckUpdateQO.java @@ -0,0 +1,11 @@ +package com.nflg.wms.common.pojo.qo; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class ToolMaterialCheckUpdateQO extends ToolMaterialCheckAddQO { + + @NotNull + private Long id; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialMaintainAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialMaintainAddQO.java index 1481a22e..bddf777c 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialMaintainAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialMaintainAddQO.java @@ -1,5 +1,6 @@ package com.nflg.wms.common.pojo.qo; +import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; import org.ttzero.excel.annotation.ExcelColumn; @@ -14,6 +15,13 @@ public class ToolMaterialMaintainAddQO { @ExcelColumn("*物料号") private String no; + /** + * 物料名称 + */ + @NotBlank + @ExcelColumn("*物料名称") + private String name; + /** * 维修时间 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialMaintainUpdateQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialMaintainUpdateQO.java new file mode 100644 index 00000000..dee1578a --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ToolMaterialMaintainUpdateQO.java @@ -0,0 +1,11 @@ +package com.nflg.wms.common.pojo.qo; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class ToolMaterialMaintainUpdateQO extends ToolMaterialMaintainAddQO { + + @NotNull + private Long id; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverStructuralPackageOrderTrayItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverStructuralPackageOrderTrayItemVO.java index 22ef9f4b..adea7f80 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverStructuralPackageOrderTrayItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverStructuralPackageOrderTrayItemVO.java @@ -65,19 +65,19 @@ public class DeliverStructuralPackageOrderTrayItemVO implements Serializable { * 计划数量 */ @ExcelColumn(value = "计划数量",colIndex = 7) - private Integer planNum; + private BigDecimal planNum; /** * 出货数量 */ @ExcelColumn(value = "出货数量",colIndex = 8) - private Integer shipmentNum; + private BigDecimal shipmentNum; /** * 入库数量 */ @ExcelColumn(value = "入库数量",colIndex = 9) - private Integer storeNum; + private BigDecimal storeNum; /** * 状态 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverStructuralPackageOrderVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverStructuralPackageOrderVO.java index f6c1ba0e..6ba7a467 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverStructuralPackageOrderVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverStructuralPackageOrderVO.java @@ -39,6 +39,11 @@ public class DeliverStructuralPackageOrderVO { @ExcelColumn(value = "钢构包名称",colIndex = 5) private String packageDesc; + /** + * 单位 + */ + private String unit; + /** * 钢构包种类 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TrayItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TrayItemVO.java index c83d6756..2d54b7a4 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TrayItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TrayItemVO.java @@ -39,17 +39,17 @@ public class TrayItemVO { /** * 计划数量 */ - private Integer planNum; + private BigDecimal planNum; /** * 出货数量 */ - private Integer shipmentNum; + private BigDecimal shipmentNum; /** * 入库数量 */ - private Integer storeNum; + private BigDecimal storeNum = BigDecimal.ZERO; /** * 图片 diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsGongzhuangTaizhang.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsGongzhuangTaizhang.java index bd570449..07a9a9e3 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsGongzhuangTaizhang.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsGongzhuangTaizhang.java @@ -62,11 +62,6 @@ public class WmsGongzhuangTaizhang implements Serializable { */ private String model; - /** - * 入库时间 - */ - private String inTime; - /** * 检验周期 */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrder.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrder.java index ba71781b..4252475f 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrder.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrder.java @@ -42,6 +42,11 @@ public class WmsStructuralPackageOrder implements Serializable { */ private Long packageId; + /** + * 单位 + */ + private String unit; + /** * 期望交期 */ @@ -65,7 +70,12 @@ public class WmsStructuralPackageOrder implements Serializable { /** * 数量 */ - private Short num; + private BigDecimal num; + + /** + * 计划数量 + */ + private BigDecimal planNum; /** * 总重 diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrderTray.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrderTray.java index 8e682498..1fe1a577 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrderTray.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrderTray.java @@ -7,7 +7,6 @@ import lombok.ToString; import lombok.experimental.Accessors; import java.io.Serializable; -import java.math.BigDecimal; import java.time.LocalDateTime; /** @@ -55,15 +54,15 @@ public class WmsStructuralPackageOrderTray implements Serializable { */ private Short state; - /** - * 总重 - */ - private BigDecimal weight; - - /** - * 数量 - */ - private Integer num; +// /** +// * 总重 +// */ +// private BigDecimal weight; +// +// /** +// * 数量 +// */ +// private BigDecimal num; /** * 打包人 diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrderTrayItem.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrderTrayItem.java index 6729021d..aca8d162 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrderTrayItem.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsStructuralPackageOrderTrayItem.java @@ -64,17 +64,17 @@ public class WmsStructuralPackageOrderTrayItem implements Serializable { /** * 计划数量 */ - private Integer planNum; + private BigDecimal planNum; /** * 出货数量 */ - private Integer shipmentNum; + private BigDecimal shipmentNum; /** * 入库数量 */ - private Integer storeNum; + private BigDecimal storeNum; /** * 图片 diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsGongzhuangTaizhangCheckService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsGongzhuangTaizhangCheckService.java index a008a2f8..26b5a266 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsGongzhuangTaizhangCheckService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsGongzhuangTaizhangCheckService.java @@ -1,7 +1,10 @@ package com.nflg.wms.repository.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckAddQO; +import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckListQO; +import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckUpdateQO; import com.nflg.wms.repository.entity.WmsGongzhuangTaizhangCheck; import jakarta.validation.Valid; @@ -16,4 +19,8 @@ import jakarta.validation.Valid; public interface IWmsGongzhuangTaizhangCheckService extends IService { void add(@Valid GongZhuangTaiZhangCheckAddQO request); + + void update(@Valid GongZhuangTaiZhangCheckUpdateQO request); + + IPage search(GongZhuangTaiZhangCheckListQO request); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsToolMaterialCheckService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsToolMaterialCheckService.java index 29700eef..e6271968 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsToolMaterialCheckService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsToolMaterialCheckService.java @@ -1,7 +1,10 @@ package com.nflg.wms.repository.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckListQO; import com.nflg.wms.common.pojo.qo.ToolMaterialCheckAddQO; +import com.nflg.wms.common.pojo.qo.ToolMaterialCheckUpdateQO; import com.nflg.wms.repository.entity.WmsToolMaterialCheck; import jakarta.validation.Valid; @@ -16,4 +19,8 @@ import jakarta.validation.Valid; public interface IWmsToolMaterialCheckService extends IService { void add(@Valid ToolMaterialCheckAddQO request); + + void update(@Valid ToolMaterialCheckUpdateQO request); + + IPage search(GongZhuangTaiZhangCheckListQO request); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsToolMaterialMaintainService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsToolMaterialMaintainService.java index 75e0e792..c844b4ef 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsToolMaterialMaintainService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsToolMaterialMaintainService.java @@ -1,7 +1,10 @@ package com.nflg.wms.repository.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckListQO; import com.nflg.wms.common.pojo.qo.ToolMaterialMaintainAddQO; +import com.nflg.wms.common.pojo.qo.ToolMaterialMaintainUpdateQO; import com.nflg.wms.repository.entity.WmsToolMaterialMaintain; import jakarta.validation.Valid; @@ -16,4 +19,8 @@ import jakarta.validation.Valid; public interface IWmsToolMaterialMaintainService extends IService { void add(@Valid ToolMaterialMaintainAddQO request); + + void update(@Valid ToolMaterialMaintainUpdateQO request); + + IPage search(GongZhuangTaiZhangCheckListQO request); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsGongzhuangTaizhangCheckServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsGongzhuangTaizhangCheckServiceImpl.java index 8bc88089..7faa3e18 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsGongzhuangTaizhangCheckServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsGongzhuangTaizhangCheckServiceImpl.java @@ -1,8 +1,12 @@ package com.nflg.wms.repository.service.impl; import cn.hutool.core.convert.Convert; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckAddQO; +import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckListQO; +import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckUpdateQO; import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.repository.entity.WmsGongzhuangTaizhangCheck; import com.nflg.wms.repository.mapper.WmsGongzhuangTaizhangCheckMapper; @@ -13,9 +17,8 @@ import java.time.LocalDateTime; /** *

- * 服务实现类 + * 服务实现类 *

- * * @author 代码生成器生成 * @since 2025 */ @@ -24,9 +27,23 @@ public class WmsGongzhuangTaizhangCheckServiceImpl extends ServiceImpl search(GongZhuangTaiZhangCheckListQO request) { + return lambdaQuery().eq(WmsGongzhuangTaizhangCheck::getNo, request.getNo()) + .page(new Page<>(request.getPage(), request.getPageSize())); + } } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsGongzhuangTaizhangServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsGongzhuangTaizhangServiceImpl.java index 1c1fb883..f6c79c90 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsGongzhuangTaizhangServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsGongzhuangTaizhangServiceImpl.java @@ -67,6 +67,7 @@ public class WmsGongzhuangTaizhangServiceImpl extends ServiceImpl search(GongZhuangTaiZhangSearchQO request) { return lambdaQuery() .like(StrUtil.isNotBlank(request.getNo()), WmsGongzhuangTaizhang::getNo, request.getNo()) + .like(StrUtil.isNotBlank(request.getName()), WmsGongzhuangTaizhang::getName, request.getName()) .page(new Page<>(request.getPage(), request.getPageSize())); } } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsToolMaterialCheckServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsToolMaterialCheckServiceImpl.java index cf525f5e..a610a91b 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsToolMaterialCheckServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsToolMaterialCheckServiceImpl.java @@ -1,8 +1,12 @@ package com.nflg.wms.repository.service.impl; import cn.hutool.core.convert.Convert; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckListQO; import com.nflg.wms.common.pojo.qo.ToolMaterialCheckAddQO; +import com.nflg.wms.common.pojo.qo.ToolMaterialCheckUpdateQO; import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.repository.entity.WmsToolMaterialCheck; import com.nflg.wms.repository.mapper.WmsToolMaterialCheckMapper; @@ -29,4 +33,19 @@ public class WmsToolMaterialCheckServiceImpl extends ServiceImpl search(GongZhuangTaiZhangCheckListQO request) { + return lambdaQuery().eq(WmsToolMaterialCheck::getNo, request.getNo()) + .page(new Page<>(request.getPage(), request.getPageSize())); + } } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsToolMaterialMaintainServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsToolMaterialMaintainServiceImpl.java index f2a7f7cd..6f116f4c 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsToolMaterialMaintainServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsToolMaterialMaintainServiceImpl.java @@ -1,8 +1,12 @@ package com.nflg.wms.repository.service.impl; import cn.hutool.core.convert.Convert; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nflg.wms.common.pojo.qo.GongZhuangTaiZhangCheckListQO; import com.nflg.wms.common.pojo.qo.ToolMaterialMaintainAddQO; +import com.nflg.wms.common.pojo.qo.ToolMaterialMaintainUpdateQO; import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.repository.entity.WmsToolMaterialMaintain; import com.nflg.wms.repository.mapper.WmsToolMaterialMaintainMapper; @@ -29,4 +33,19 @@ public class WmsToolMaterialMaintainServiceImpl extends ServiceImpl search(GongZhuangTaiZhangCheckListQO request) { + return lambdaQuery().eq(WmsToolMaterialMaintain::getNo, request.getNo()) + .page(new Page<>(request.getPage(), request.getPageSize())); + } } 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 7dd0058c..ff606f99 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 @@ -161,8 +161,8 @@ public class SRMController extends BaseController { .setUnit(request.getUnit()) .setUnqualifiedQty(request.getUnqualifiedQty()) .setQualifiedQty(request.getQualifiedQty()) - .setSerialNumber(String.valueOf(request.getSerialNum())) - .setSerialNumber(String.valueOf(request.getSerialNum())) +// .setSerialNumber(String.valueOf(request.getSerialNum())) +// .setSerialNumber(String.valueOf(request.getSerialNum())) .setLineNumber(String.valueOf(request.getLineNumber())) .setNoteNum(request.getNoteNum()) .setInspectionOrder(request.receiveNum)