diff --git a/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java b/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java index fc8a24b..68b6e3d 100644 --- a/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java +++ b/src/main/java/com/gaotao/modules/boxManage/service/impl/BoxForNotificationServiceImpl.java @@ -698,8 +698,8 @@ public class BoxForNotificationServiceImpl implements BoxForNotificationService params.add(data.getRelatedOrderNo()); // @order_no 销售订单号 params.add(data.getRelatedOrderLineNo()); // @seq_no 销售订单行号 params.add(""); // @roll_no 空字符串 - params.add(data.getRequiredQty() == null ? "0" : String.valueOf(data.getRequiredQty())); // @roll_qty 要求发货数量 - params.add(data.getOrderQty() == null ? "0" : String.valueOf(data.getOrderQty())); // @order_qty 销售订单数量 + params.add(formatProcedureNumber(data.getRequiredQty())); // @roll_qty 要求发货数量 + params.add(formatProcedureNumber(data.getOrderQty())); // @order_qty 销售订单数量 params.add(sysUserEntity.getUsername()); // @username 当前登录人 params.add(data.getCustomerId()); // @Supplier_id 客户编码 params.add("OQC"); // @type 'OQC' @@ -726,4 +726,11 @@ public class BoxForNotificationServiceImpl implements BoxForNotificationService throw new RuntimeException("完成包装失败: " + e.getMessage(), e); } } + + private String formatProcedureNumber(Double value) { + if (value == null) { + return "0"; + } + return BigDecimal.valueOf(value).toPlainString(); + } } diff --git a/src/main/java/com/gaotao/modules/inboundNotification/service/impl/InboundNotificationServiceImpl.java b/src/main/java/com/gaotao/modules/inboundNotification/service/impl/InboundNotificationServiceImpl.java index 5723ada..e9ce7db 100644 --- a/src/main/java/com/gaotao/modules/inboundNotification/service/impl/InboundNotificationServiceImpl.java +++ b/src/main/java/com/gaotao/modules/inboundNotification/service/impl/InboundNotificationServiceImpl.java @@ -761,8 +761,8 @@ public class InboundNotificationServiceImpl implements InboundNotificationServic params.add(data.getRelatedOrderNo() == null ? "" : data.getRelatedOrderNo()); params.add(data.getRelatedOrderLineNo() == null ? "" : data.getRelatedOrderLineNo()); params.add(""); - params.add(data.getRequiredQtyCount() == null ? "0" : String.valueOf(data.getRequiredQtyCount())); - params.add(data.getOrderQty() == null ? "0" : String.valueOf(data.getOrderQty())); + params.add(formatProcedureNumber(data.getRequiredQtyCount())); + params.add(formatProcedureNumber(data.getOrderQty())); params.add(sysUserEntity.getUsername() == null ? "" : sysUserEntity.getUsername()); params.add(data.getSupplierId() == null ? "" : data.getSupplierId()); params.add("FQC"); @@ -819,6 +819,13 @@ public class InboundNotificationServiceImpl implements InboundNotificationServic return detailMapper.getInboundDetail(queryData); } + private String formatProcedureNumber(Double value) { + if (value == null) { + return "0"; + } + return BigDecimal.valueOf(value).toPlainString(); + } + public static String convertToSQLString(String input) { if (input == null || input.isEmpty()) { return "()"; diff --git a/src/main/java/com/gaotao/modules/oa/service/impl/ProductionBomServiceImpl.java b/src/main/java/com/gaotao/modules/oa/service/impl/ProductionBomServiceImpl.java index 43b72dc..bcf6389 100644 --- a/src/main/java/com/gaotao/modules/oa/service/impl/ProductionBomServiceImpl.java +++ b/src/main/java/com/gaotao/modules/oa/service/impl/ProductionBomServiceImpl.java @@ -99,6 +99,8 @@ public class ProductionBomServiceImpl implements ProductionBomService { params.add(item.getQtySetup() == null ? BigDecimal.ZERO : item.getQtySetup()); // @qtySetup params.add(item.getBaseQtyN() == null ? BigDecimal.ZERO : item.getBaseQtyN()); // @baseQtyN params.add(item.getBaseQtyD() == null ? BigDecimal.ZERO : item.getBaseQtyD()); // @baseQtyD + + log.info("Calling stored procedure UspInsertSOBom with params: {}", buildUspInsertSOBomParamsLog(params)); // 执行存储过程 List> resultList = procedureDao.getProcedureData("UspInsertSOBom", params); @@ -112,8 +114,23 @@ public class ProductionBomServiceImpl implements ProductionBomService { } } - log.debug("调用存储过程UspInsertSOBom成功,BOM订单号: {}, 行号: {}, 操作: {}", - item.getOrderNo(), item.getItemNo(), getMethodDesc(item.getMethod())); + log.debug("Stored procedure UspInsertSOBom executed successfully, BOM orderNo: {}, itemNo: {}, methodCode: {}", + item.getOrderNo(), item.getItemNo(), item.getMethod()); + } + + private Map buildUspInsertSOBomParamsLog(List params) { + String[] paramNames = { + "@site", "@buNo", "@orderNo", "@itemNo", "@parentPartNo", + "@qtyAssembly", "@qtyScrap", "@scrapFactor", "@remark", "@qtyRequired", + "@qtyReserved", "@qtyNotified", "@issueMethod", "@outBoundWareHouseId", + "@operationNo", "@rmTypeDb", "@method", "@qtySetup", "@baseQtyN", "@baseQtyD" + }; + + Map paramLog = new LinkedHashMap<>(); + for (int i = 0; i < paramNames.length && i < params.size(); i++) { + paramLog.put(paramNames[i], params.get(i)); + } + return paramLog; } /** diff --git a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java index d507854..6d20496 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java +++ b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java @@ -3865,10 +3865,26 @@ public class ScheduleServiceImpl implements ScheduleService { params.add(histSeqNo); params.add(operatorId); params.add(remark); // 添加备注参数 + logger.info("Calling stored procedure MaterialReturnDuringTheProductionProcess with params: {}", + buildMaterialReturnDuringProductionParamsLog(params)); //调用存储过程 List> resultList = procedureMapper.getProcedureData("MaterialReturnDuringTheProductionProcess", params); + Map resultMap = resultList.get(0); + logger.info("Stored procedure MaterialReturnDuringTheProductionProcess returned: {}", resultMap); //处理返回的结果 - return resultList.get(0); + return resultMap; + } + + private Map buildMaterialReturnDuringProductionParamsLog(List params) { + String[] paramNames = { + "@site", "@orderNo", "@itemNo", "@seqNo", "@rollNo", + "@returnQty", "@histSeqNo", "@operatorId", "@remark" + }; + Map paramLog = new LinkedHashMap<>(); + for (int i = 0; i < paramNames.length && i < params.size(); i++) { + paramLog.put(paramNames[i], params.get(i)); + } + return paramLog; } @Override diff --git a/src/main/resources/mapper/shopOrder/ShopOrderMapper.xml b/src/main/resources/mapper/shopOrder/ShopOrderMapper.xml index e428a97..f85f63f 100644 --- a/src/main/resources/mapper/shopOrder/ShopOrderMapper.xml +++ b/src/main/resources/mapper/shopOrder/ShopOrderMapper.xml @@ -120,12 +120,7 @@ D.CustomerID, C.CustomerName AS CustomerName, D.EnterDate, - dbo.Get_SOOpsScheduleAvailResource ( - T.Site, - T.OrderNo, - T.S_WorkCenterNo, - T.ItemNo - ) AS AvailResource, + AR.AvailResource AS AvailResource, T.S_WorkCenterNo AS WorkCenterNo, S.MachRunFactor, S.MachSetupTime, @@ -174,6 +169,7 @@ LEFT JOIN SORouting AS S2 WITH(NOLOCK) ON S.Site = S2.Site AND S.OrderNo = S2.OrderNo AND S.NextItemNo = S2.ItemNo LEFT JOIN (SELECT Site, CreatedOpsSeqNo, COUNT(1) AS RollCount FROM SFDC_Rolls WITH(NOLOCK) WHERE RollType = '下道流转' GROUP BY Site, CreatedOpsSeqNo) AS R ON R.Site = T.Site AND R.CreatedOpsSeqNo = T.SeqNo LEFT JOIN Customer C WITH(NOLOCK) ON D.Site = C.Site AND D.CustomerID = C.CustomerID + OUTER APPLY dbo.Get_SOOpsScheduleAvailResource_iTVF(T.Site, T.OrderNo, T.S_WorkCenterNo, T.ItemNo) AS AR AND T.Site = S.Site AND T.OrderNo = S.OrderNo