diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceStorageOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceStorageOrderServiceImpl.java index 151058eb..4949304e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceStorageOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceStorageOrderServiceImpl.java @@ -68,12 +68,16 @@ public class OutsourceStorageOrderServiceImpl implements IOutsourceStorageOrderS WarehouseStorageOrder warehouseStorageOrder = new WarehouseStorageOrder(); String loginName = ShiroUtils.getLoginName(); warehouseStorageOrder.setCreateBy(loginName); - warehouseStorageOrder.setCreateTime(DateUtils.getNowDate()); - warehouseStorageOrder.setWarehouseOrderType("3"); - warehouseStorageOrder.setWarehouseStorageType("4"); - warehouseStorageOrder.setWarehouseStorageStatus("0"); - warehouseStorageOrder.setWarehouseQualityStatus("0"); String warehouseStorageCode = redisCache.generateBillNo("RK"); + warehouseStorageOrder.setCreateTime(DateUtils.getNowDate()); + warehouseStorageOrder.setWarehouseOrderType("3");//委外订单 + warehouseStorageOrder.setWarehouseStorageType("4");//委外入库 + warehouseStorageOrder.setWarehouseStorageStatus("0");//待暂收 + warehouseStorageOrder.setWarehouseQualityStatus("0");//待品质 + warehouseStorageOrder.setWarehouseDeptType("0");//入库部门-仓库 + warehouseStorageOrder.setStorageNum(0); + warehouseStorageOrder.setQualityQualifiedNum(0); + warehouseStorageOrder.setQualityUnqualifiedNum(0); warehouseStorageOrder.setWarehouseStorageCode(warehouseStorageCode); warehouseStorageOrder.setNotifyArrivedNum(outsourceStorage.getNotifyArrivedNum()); warehouseStorageOrder.setArrivedTime(DateUtils.getNowDate()); @@ -99,7 +103,7 @@ public class OutsourceStorageOrderServiceImpl implements IOutsourceStorageOrderS // 获取列表中的第一条记录 if (!details.isEmpty()) { OutsourceStorageDetail firstDetail = details.get(0); - System.out.println("Material No: " + materialNo + ", First Detail: " + firstDetail); +// System.out.println("Material No: " + materialNo + ", First Detail: " + firstDetail); WarehouseStorageOrderDetail warehouseStorageOrderDetail = generateWarehouseStorageOrderDetail(firstDetail); warehouseStorageOrderDetail.setWarehouseStorageCode(warehouseStorageCode); warehouseStorageOrderDetailList.add(warehouseStorageOrderDetail); @@ -122,7 +126,14 @@ public class OutsourceStorageOrderServiceImpl implements IOutsourceStorageOrderS storageOrderDetail.setWarehouseStorageType("4"); storageOrderDetail.setWarehouseOrderType("3"); storageOrderDetail.setNotifyArriveNum(outstorageDetail.getTakingMaterial().intValue()); - storageOrderDetail.setActualHasArrivedNum(outstorageDetail.getTakingMaterial().intValue()); +// storageOrderDetail.setActualHasArrivedNum(outstorageDetail.getTakingMaterial().intValue()); + storageOrderDetail.setNotifyHasArrivedNum(outstorageDetail.getTakingMaterial().intValue()); + storageOrderDetail.setHasStorageNum(0); + storageOrderDetail.setActualHasArrivedNum(0); + storageOrderDetail.setTemporaryHasQualifiedNum(0); + storageOrderDetail.setQualityQualifiedNum(0); + storageOrderDetail.setQualityHasQualifiedNum(0); + storageOrderDetail.setMaterialNo(outstorageDetail.getMaterialNo()); storageOrderDetail.setMaterialName(outstorageDetail.getMaterialName()); storageOrderDetail.setMaterialType(outstorageDetail.getMaterialType()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseStorageOrderService.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseStorageOrderService.java index fd7f88c7..aba935a5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseStorageOrderService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseStorageOrderService.java @@ -101,7 +101,6 @@ public interface IWarehouseStorageOrderService /** * 修改保存暂收-委外单(委外入库) * */ - @Transactional(rollbackFor = Exception.class) int temporaryOutsourceSave(WarehouseStorageOrder warehouseStorageOrder); @Transactional(rollbackFor = Exception.class) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java index a1d5696f..97bd2485 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java @@ -1016,6 +1016,12 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService log.warn("更新生产领料单信息失败"); throw new BusinessException("更新生产领料单信息失败"); } + SysMakeOrder makeOrder = sysMakeOrderMapper.selectMakeOrderByMakeNo(oldMakeorderPick.getMakeNo()); + makeOrder.setMakeStatus("4");//生产中 + makeOrder.setUpdateBy(loginName); + makeOrder.setUpdateTime(new Date()); + sysMakeOrderMapper.updateSysMakeOrder(makeOrder); + return warehouseOutOrderMapper.updateWarehouseOutOrder(warehouseOutOrder); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java index cfb0f59e..3f6b178f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java @@ -412,8 +412,8 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS String loginName = ShiroUtils.getLoginName(); warehouseStorageOrder.setUpdateBy(loginName); warehouseStorageOrder.setUpdateTime(DateUtils.getNowDate()); - //改变状态为已暂收 - warehouseStorageOrder.setWarehouseStorageStatus("1"); + //改变状态为待入库 + warehouseStorageOrder.setWarehouseStorageStatus("2"); //设置品质状态,为待品质 warehouseStorageOrder.setWarehouseQualityStatus("0"); warehouseStorageOrder.setWarehouseEmployee(loginName); @@ -432,11 +432,11 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS actualArriveNum = warehouseStorageOrderDetailList.stream().mapToInt(WarehouseStorageOrderDetail::getActualArriveNum).sum(); int temporaryQualifiedNum = 0; - //检查填写的品质合格数是否有空值 + //检查填写的暂收合格数是否有空值 boolean hasTemporaryQualifiedNumNull = warehouseStorageOrderDetailList.stream() .anyMatch(item -> item.getTemporaryQualifiedNum() == null); if (hasTemporaryQualifiedNumNull) { - throw new BusinessException("存在品质合格数为空,请检查!"); + throw new BusinessException("存在暂收合格数为空,请检查!"); } //入库单主表的暂收合格数为子表的合计 temporaryQualifiedNum = warehouseStorageOrderDetailList.stream().mapToInt(WarehouseStorageOrderDetail::getTemporaryQualifiedNum).sum(); @@ -461,15 +461,15 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS if (updateResult <= 0) { throw new BusinessException("更新入库单主记录失败"); } - - try { - qualityOrderService.insertQualityOrderByOutsourceStorageOrder(warehouseStorageOrder, warehouseStorageOrder.getWarehouseStorageOrderDetailList()); - } catch (Exception e) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - log.error("生成品质单时发生错误", e); - throw new BusinessException("生成品质单时发生错误"); + if(temporaryQualifiedNum>0){ + try { + qualityOrderService.insertQualityOrderByOutsourceStorageOrder(warehouseStorageOrder, warehouseStorageOrder.getWarehouseStorageOrderDetailList()); + } catch (Exception e) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.error("生成品质单时发生错误", e); + throw new BusinessException("生成品质单时发生错误"); + } } - return updateResult; } @@ -752,17 +752,9 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS inventoryInquiry.setAvailableStockNum(avaliableStorage); inventoryInquiry.setReportDamageNum(scrapSum); // 设置历史总数 - if(warehouseStorageType.equals("0")){ - BigDecimal historicalNum = getHistoricalTotalFromQualityOrder(warehouseStorageOrderDetail); - BigDecimal historicalTotal = inventoryInquiry.getHistoricalTotal(); - historicalTotal = historicalTotal.add(historicalNum); - inventoryInquiry.setHistoricalTotal(historicalTotal); - }else{ - BigDecimal historicalNum = BigDecimal.valueOf(warehouseStorageOrderDetail.getStorageNum()); - BigDecimal historicalTotal = inventoryInquiry.getHistoricalTotal(); - historicalTotal = historicalTotal.add(historicalNum); - inventoryInquiry.setHistoricalTotal(historicalTotal); - } + BigDecimal historicalTotal = inventoryInquiry.getHistoricalTotal(); + historicalTotal = historicalTotal.add(storagenum); + inventoryInquiry.setHistoricalTotal(historicalTotal); inventoryInquiry.setUpdateBy(ShiroUtils.getLoginName()); inventoryInquiry.setUpdateTime(DateUtils.getNowDate()); return warehouseInventoryInquiryMapper.updateWarehouseInventoryInquiry(inventoryInquiry); @@ -779,12 +771,7 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS Integer storage = warehouseStorageOrderDetail.getStorageNum(); BigDecimal storagenum = BigDecimal.valueOf(storage); // 设置历史总数 - if(warehouseStorageType.equals("0")){ - BigDecimal historicalNum = getHistoricalTotalFromQualityOrder(warehouseStorageOrderDetail); - inventoryInquiry.setHistoricalTotal(historicalNum); - }else{ - inventoryInquiry.setHistoricalTotal(storagenum); - } + inventoryInquiry.setHistoricalTotal(storagenum); inventoryInquiry.setAvailableStockNum(storagenum); inventoryInquiry.setReportDamageNum(scrapSum); @@ -931,9 +918,9 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS oldPurchaseOrderChild.setUpdateTime(DateUtils.getNowDate()); Integer storageNumDetail = warehouseStorageOrderDetail.getStorageNum(); - Integer temporaryQualifiedNum = warehouseStorageOrderDetail.getTemporaryQualifiedNum(); - if (temporaryQualifiedNum < storageNumDetail){ - throw new BusinessException("入库数量不能大于暂收合格数"); + Integer qualityHasQualifiedNum = warehouseStorageOrderDetail.getQualityHasQualifiedNum(); + if (qualityHasQualifiedNum < storageNumDetail){ + throw new BusinessException("入库数量不能大于品质合格数"); } Integer hasStorageNum = warehouseStorageOrderDetail.getHasStorageNum(); @@ -941,19 +928,22 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS //更新已入库数 hasStorageNum = storageNumDetail; oldPurchaseOrderChild.setHasStorageNum(hasStorageNum); + warehouseStorageOrderDetail.setHasStorageNum(hasStorageNum); }else{ hasStorageNum = hasStorageNum + storageNumDetail; oldPurchaseOrderChild.setHasStorageNum(hasStorageNum); + warehouseStorageOrderDetail.setHasStorageNum(hasStorageNum); } - if (temporaryQualifiedNum < hasStorageNum){ - throw new BusinessException("已入库数量不能大于暂收合格数"); + if (qualityHasQualifiedNum < hasStorageNum){ + throw new BusinessException("已入库数量不能大于品质合格数"); } int updatePurchaseOrderChildResult = purchaseOrderChildMapper.updatePurchaseOrderChild(oldPurchaseOrderChild); if (updatePurchaseOrderChildResult <= 0){ throw new BusinessException("更新采购订单子表数据失败"); } + int updateWarehouseStorageOrderDetailResult = storageOrderDetailMapper.updateWarehouseStorageOrderDetail(warehouseStorageOrderDetail); if (updateWarehouseStorageOrderDetailResult <= 0){ throw new BusinessException("更新仓库入库单详情失败,未影响任何行"); @@ -966,10 +956,10 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS } //更新生产单数据 -// int updateMakeOrderResult = sysMakeOrderService.updateSysMakeOrderByWarehouseStorageOrder(warehouseStorageOrder,oldWarehouseStorageOrder, warehouseStorageOrderDetailList); -// if (updateMakeOrderResult <= 0){ -// throw new BusinessException("更新生产订单失败,未影响任何行"); -// } + int updateMakeOrderResult = sysMakeOrderService.updateSysMakeOrderByWarehouseStorageOrder(warehouseStorageOrder,oldWarehouseStorageOrder, warehouseStorageOrderDetailList); + if (updateMakeOrderResult <= 0){ + throw new BusinessException("更新生产订单失败,未影响任何行"); + } //更新开发修改单数据 // String relatedOrderCode = warehouseStorageOrder.getRelatedOrderCode(); diff --git a/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouse.html b/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouse.html index 3b4d6dd6..afb90a21 100644 --- a/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouse.html +++ b/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouse.html @@ -163,6 +163,7 @@ "notifyArriveNum": item.notifyArriveNum, "actualArriveNum": item.actualArriveNum, "temporaryQualifiedNum": item.temporaryQualifiedNum, + "qualityHasQualifiedNum":item.qualityHasQualifiedNum, "temporaryRemark": item.temporaryRemark, "temporaryReportUrl": item.temporaryReportUrl, "storageNum": item.storageNum, @@ -269,6 +270,11 @@ title: '暂收已合格数', field: 'temporaryHasQualifiedNum', }, + { + title: '品质已合格数', + align: 'center', + field: 'qualityHasQualifiedNum', + }, { title: '已入库数', field: 'hasStorageNum', @@ -324,7 +330,7 @@ } // 检查 storageNum 是否存在 - if (row.storageNum === undefined || row.storageNum === null) { + if (row.storageNum === undefined || row.storageNum === null|| row.storageNum === 0) { return ""; } diff --git a/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouseDetail.html b/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouseDetail.html index 14667113..14aa1c04 100644 --- a/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouseDetail.html +++ b/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouseDetail.html @@ -268,6 +268,11 @@ title: '暂收已合格数', field: 'temporaryHasQualifiedNum', }, + { + title: '品质已合格数', + align: 'center', + field: 'qualityHasQualifiedNum', + }, { title: '已入库数', field: 'hasStorageNum',