diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/ext/erp/service/impl/WmsToErpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/ext/erp/service/impl/WmsToErpServiceImpl.java index 99730f95..ae5a9516 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/ext/erp/service/impl/WmsToErpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/ext/erp/service/impl/WmsToErpServiceImpl.java @@ -405,8 +405,8 @@ public class WmsToErpServiceImpl implements WmsToErpService { for (int i = 0; i < ja.size(); i++) { JSONObject jo = ja.getJSONObject(i); - String CGENERALHID = jo.getString("CGENERALHID"); - JSONObject purchase = purchaseIn_wql.query("CGENERALHID = '"+CGENERALHID+"'").uniqueResult(0); + String CGENERALBID = jo.getString("CGENERALBID"); + JSONObject purchase = purchaseIn_wql.query("CGENERALBID = '"+CGENERALBID+"'").uniqueResult(0); if (ObjectUtil.isEmpty(purchase)){ purchase = new JSONObject(); purchase.put("CGENERALHID",jo.getString("CGENERALHID")); @@ -445,7 +445,63 @@ public class WmsToErpServiceImpl implements WmsToErpService { } if (jo.getString("FBILLFLAG").equals("3")){ //生成入库单 + JSONObject io_mst = new JSONObject(); + String iostorinv_id = IdUtil.getSnowflake(1, 1).nextId() + ""; + String bill_code = CodeUtil.getNewCode("IO_CODE"); + io_mst.put("iostorinv_id", iostorinv_id); + io_mst.put("bill_code", bill_code); + io_mst.put("buss_type", "0007"); + io_mst.put("io_type", "0"); + io_mst.put("bill_type", "000701"); + io_mst.put("biz_date", DateUtil.today()); + JSONObject stor_jo = WQLObject.getWQLObject("st_ivt_bsrealstorattr").query("is_attachment = '1'").uniqueResult(0); + io_mst.put("stor_id", stor_jo.getString("stor_id")); + io_mst.put("stor_code", stor_jo.getString("stor_code")); + io_mst.put("stor_name", stor_jo.getString("stor_name")); + io_mst.put("total_qty", purchase.getString("qty")); + io_mst.put("detail_count", "1"); + io_mst.put("bill_status", "10"); + io_mst.put("create_mode", "01"); + io_mst.put("input_optid", "1452555001116364823"); + io_mst.put("input_optname", "mes系统"); + io_mst.put("input_time", DateUtil.now()); + io_mst.put("update_optid", "1452555001116364823"); + io_mst.put("update_optname", "mes系统"); + io_mst.put("update_time", DateUtil.now()); + io_mst.put("is_delete", "0"); + io_mst.put("is_upload", "0"); + io_mst.put("sysdeptid", "1"); + io_mst.put("syscompanyid", "1"); + io_mst.put("bizdeptid", "1"); + WQLObject.getWQLObject("EM_BI_IOStorInv").insert(io_mst); + //插入明细表 + JSONObject io_dtl = new JSONObject(); + io_dtl.put("iostorinvdtl_id", IdUtil.getSnowflake(1, 1).nextId() + ""); + io_dtl.put("iostorinv_id", iostorinv_id); + io_dtl.put("seq_no", "1"); + io_dtl.put("bill_status", "10"); + JSONObject mater_jo = WQLObject.getWQLObject("md_me_materialbase").query("ext_id = '"+purchase.getString("ITEM_ID")+"'").uniqueResult(0); + if (ObjectUtil.isEmpty(mater_jo)){ + log.info("未查询到外部标识为:"+purchase.getString("ITEM_ID")+"的物料!"); + throw new BadRequestException("未查询到外部标识为:"+purchase.getString("ITEM_ID")+"的物料!"); + } + io_dtl.put("material_id",mater_jo.getString("material_id")); + io_dtl.put("pcsn",purchase.getString("VBATCHCODE")); + JSONObject qty_jo = WQLObject.getWQLObject("md_pb_measureunit").query("ext_id = '"+purchase.getString("UNIT")+"'").uniqueResult(0); + io_dtl.put("qty_unit_id",qty_jo.getString("measure_unit_id")); + io_dtl.put("qty_unit_name",qty_jo.getString("unit_name")); + io_dtl.put("plan_qty",purchase.getString("QTY")); + io_dtl.put("source_billdtl_id",purchase.getString("CGENERALBID")); + io_dtl.put("source_bill_type",purchase.getString("PO")); + io_dtl.put("source_bill_code",purchase.getString("VBILLCODE")); + io_dtl.put("source_bill_table",purchase.getString("EM_BI_ErpPurchaseIn")); + io_dtl.put("base_billdtl_id",purchase.getString("CGENERALBID")); + io_dtl.put("base_bill_type",purchase.getString("PO")); + io_dtl.put("base_bill_code",purchase.getString("VBILLCODE")); + io_dtl.put("base_bill_table",purchase.getString("EM_BI_ErpPurchaseIn")); + io_dtl.put("remark_ext",purchase.getString("CGENERALHID")); + WQLObject.getWQLObject("EM_BI_IOStorInvDtl").insert(io_dtl); } purchaseIn_wql.insert(purchase); }else { @@ -500,33 +556,50 @@ public class WmsToErpServiceImpl implements WmsToErpService { io_mst.put("stor_id", stor_jo.getString("stor_id")); io_mst.put("stor_code", stor_jo.getString("stor_code")); io_mst.put("stor_name", stor_jo.getString("stor_name")); - io_mst.put("total_qty", purchase.getString("QTY")); + io_mst.put("total_qty", purchase.getString("qty")); io_mst.put("detail_count", "1"); io_mst.put("bill_status", "10"); io_mst.put("create_mode", "01"); - io_mst.put("input_optid", currentUserId + ""); - io_mst.put("input_optname", nickName); - io_mst.put("input_time", now); - io_mst.put("update_optid", currentUserId + ""); - io_mst.put("update_optname", nickName); - io_mst.put("update_time", now); + io_mst.put("input_optid", "1452555001116364823"); + io_mst.put("input_optname", "mes系统"); + io_mst.put("input_time", DateUtil.now()); + io_mst.put("update_optid", "1452555001116364823"); + io_mst.put("update_optname", "mes系统"); + io_mst.put("update_time", DateUtil.now()); io_mst.put("is_delete", "0"); io_mst.put("is_upload", "0"); - JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser(); - Long deptId = currentUser.getDeptId(); - io_mst.put("sysdeptid", deptId + ""); - io_mst.put("syscompanyid", deptId + ""); - io_mst.put("bizdeptid", deptId + ""); - for (int i = 0; i < rows.size(); i++) { - HashMap row = rows.get(i); - row.put("iostorinvdtl_id", IdUtil.getSnowflake(1, 1).nextId() + ""); - row.put("iostorinv_id", iostorinv_id); - row.put("seq_no", (i + 1) + ""); - row.put("bill_status", "10"); - WQLObject.getWQLObject("EM_BI_IOStorInvDtl").insert(row); - - } + io_mst.put("sysdeptid", "1"); + io_mst.put("syscompanyid", "1"); + io_mst.put("bizdeptid", "1"); WQLObject.getWQLObject("EM_BI_IOStorInv").insert(io_mst); + + //插入明细表 + JSONObject io_dtl = new JSONObject(); + io_dtl.put("iostorinvdtl_id", IdUtil.getSnowflake(1, 1).nextId() + ""); + io_dtl.put("iostorinv_id", iostorinv_id); + io_dtl.put("seq_no", "1"); + io_dtl.put("bill_status", "10"); + JSONObject mater_jo = WQLObject.getWQLObject("md_me_materialbase").query("ext_id = '"+purchase.getString("ITEM_ID")+"'").uniqueResult(0); + if (ObjectUtil.isEmpty(mater_jo)){ + log.info("未查询到外部标识为:"+purchase.getString("ITEM_ID")+"的物料!"); + throw new BadRequestException("未查询到外部标识为:"+purchase.getString("ITEM_ID")+"的物料!"); + } + io_dtl.put("material_id",mater_jo.getString("material_id")); + io_dtl.put("pcsn",purchase.getString("VBATCHCODE")); + JSONObject qty_jo = WQLObject.getWQLObject("md_pb_measureunit").query("ext_id = '"+purchase.getString("UNIT")+"'").uniqueResult(0); + io_dtl.put("qty_unit_id",qty_jo.getString("measure_unit_id")); + io_dtl.put("qty_unit_name",qty_jo.getString("unit_name")); + io_dtl.put("plan_qty",purchase.getString("QTY")); + io_dtl.put("source_billdtl_id",purchase.getString("CGENERALBID")); + io_dtl.put("source_bill_type",purchase.getString("PO")); + io_dtl.put("source_bill_code",purchase.getString("VBILLCODE")); + io_dtl.put("source_bill_table",purchase.getString("EM_BI_ErpPurchaseIn")); + io_dtl.put("base_billdtl_id",purchase.getString("CGENERALBID")); + io_dtl.put("base_bill_type",purchase.getString("PO")); + io_dtl.put("base_bill_code",purchase.getString("VBILLCODE")); + io_dtl.put("base_bill_table",purchase.getString("EM_BI_ErpPurchaseIn")); + io_dtl.put("remark_ext",purchase.getString("CGENERALHID")); + WQLObject.getWQLObject("EM_BI_IOStorInvDtl").insert(io_dtl); } purchaseIn_wql.update(purchase); }