From b4f1ee22c21fddc668085d2610011fd5d0f28d45 Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Thu, 1 Dec 2022 10:16:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/nl/wms/ext/wql/QCRM_001.wql | 2 +- .../org/nl/wms/pda/st/wql/PDA_VIRTUALOUT.wql | 1 + .../service/impl/CheckOutBillServiceImpl.java | 83 +++++++++++++++++++ .../src/views/wms/st/outbill/AddDialog.vue | 34 ++++++++ 4 files changed, 119 insertions(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/wql/QCRM_001.wql b/lms/nladmin-system/src/main/java/org/nl/wms/ext/wql/QCRM_001.wql index 625b01fd3..e02bf8211 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/wql/QCRM_001.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/wql/QCRM_001.wql @@ -49,7 +49,7 @@ SELECT sub.product_name AS material_code, sub.product_description AS material_name, - sub.container_name AS pcsn, + sub.sap_pcsn AS pcsn, sub.sale_order_name AS mfgordername, sub.customer_name AS customername, sub.customer_description AS customerdescription, diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_VIRTUALOUT.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_VIRTUALOUT.wql index a65b0b3ec..7069fb504 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_VIRTUALOUT.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_VIRTUALOUT.wql @@ -54,6 +54,7 @@ WHEN '1001' THEN '发货出库' WHEN '1002' THEN '报废出库' WHEN '1003' THEN '改切出库' + WHEN '1004' THEN '调拨出库' WHEN '1009' THEN '手工出库' END ) AS bill_type_name, diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java index abc7fd279..998bb8b25 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java @@ -274,6 +274,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { map.put("update_time", now); map.put("is_delete", "0"); map.put("is_upload", "0"); + map.put("out_stor_id",map.getString("out_stor_id")); if (ObjectUtil.isNotEmpty(user)) { if (!user.equals("mes") || user.equals("sap")) { Long deptId = SecurityUtils.getDeptId(); @@ -1934,6 +1935,88 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { subTab.update(jsonSub); } + JSONObject out_jo = WQLObject.getWQLObject("ST_IVT_IOStorInv").query("iostorinv_id = '"+iostorinv_id+"'").uniqueResult(0); + if (out_jo.getString("bill_type").equals("1004")){ + //调拨出库自动生成调拨入库单 + WQLObject dtl_wql = WQLObject.getWQLObject("st_ivt_iostorinvdtl"); + WQLObject mst_wql = WQLObject.getWQLObject("ST_IVT_IOStorInv"); + WQLObject dis_wql = WQLObject.getWQLObject("ST_IVT_IOStorInvDis"); + + //校验主表状态为生成 + if (!out_jo.getString("bill_status").equals("99")) { + throw new BadRequestException("主表状态必须为完成!"); + } + + JSONObject mst_row = mst_wql.query("iostorinv_id = '" + iostorinv_id + "'").uniqueResult(0); + JSONArray dis_rows = dis_wql.query("iostorinv_id = '" + iostorinv_id + "'").getResultJSONArray(0); + + //生成手工入库单 + String new_iostorinv_id = IdUtil.getSnowflake(1, 1).nextId() + ""; + String bill_code = CodeUtil.getNewCode("IO_CODE"); + jo_mst.put("iostorinv_id", new_iostorinv_id); + jo_mst.put("bill_code", bill_code); + jo_mst.put("io_type", "0"); + jo_mst.put("bill_type", "0004"); + jo_mst.put("buss_type", ((String) jo_mst.get("bill_type")).substring(0, 4)); + //查询移入仓库的信息 + JSONObject in_stor = WQLObject.getWQLObject("st_ivt_bsrealstorattr").query("stor_id = '"+out_jo.getString("out_stor_id")+"'").uniqueResult(0); + if (ObjectUtil.isEmpty(in_stor)){ + throw new BadRequestException("未查询到对应的移入仓库信息!"); + } + jo_mst.put("stor_id",in_stor.getString("stor_id")); + jo_mst.put("stor_code",in_stor.getString("stor_code")); + jo_mst.put("stor_name",in_stor.getString("stor_name")); + jo_mst.put("bill_status", "30"); + jo_mst.put("input_optid", currentUserId + ""); + jo_mst.put("input_optname", nickName); + jo_mst.put("input_time", now); + jo_mst.put("update_optid", currentUserId + ""); + jo_mst.put("update_optname", nickName); + jo_mst.put("update_time", now); + jo_mst.put("out_stor_id", ""); + mst_wql.insert(jo_mst); + + for (int i = 0; i < dis_rows.size(); i++) { + //插入明细表 + String iostorinvdtl_id = IdUtil.getSnowflake(1, 1).nextId() + ""; + JSONObject dis_row = dis_rows.getJSONObject(i); + //查询对应的出库单明细 + JSONObject dtl_row = dtl_wql.query("iostorinvdtl_id = '" + dis_row.getString("iostorinvdtl_id") + "'").uniqueResult(0); + dis_row.put("iostorinvdtl_id", iostorinvdtl_id); + dis_row.put("iostorinv_id", new_iostorinv_id); + dis_row.put("seq_no", i + 1); + dis_row.put("bill_status", "30"); + dis_row.put("real_qty", "0"); + dis_row.put("source_billdtl_id", dtl_row.getString("iostorinvdtl_id")); + dis_row.put("source_bill_type", mst_row.getString("bill_type")); + dis_row.put("source_bill_code", mst_row.getString("bill_code")); + dis_row.put("source_bill_table", "ST_IVT_IOStorInvDtl"); + dis_row.put("assign_qty", dis_row.getString("plan_qty")); + dis_row.put("unassign_qty", "0"); + //插入调拨明细表 + dtl_wql.insert(dis_row); + + dis_row.put("iostorinvdis_id", IdUtil.getSnowflake(1, 1).nextId()); + dis_row.put("seq_no", 1); + dis_row.put("sect_id", ""); + dis_row.put("sect_code", ""); + dis_row.put("sect_name", ""); + dis_row.put("struct_id", ""); + dis_row.put("struct_code", ""); + dis_row.put("struct_name", ""); + dis_row.put("work_status", "00"); + dis_row.put("real_qty", "0"); + //插入分配表 + dis_wql.insert(dis_row); + + //将包装关系中对应的记录状态改为包装 + HashMap map = new HashMap<>(); + map.put("status", "1"); + WQLObject.getWQLObject("PDM_BI_SubPackageRelation").update(map, "package_box_SN = '" + dis_row.getString("box_no") + "' AND status = '3'"); + } + } + + /* * 回传: * 销售出库:sap、mes diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue b/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue index 6547b3533..3ee5de01a 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue @@ -98,6 +98,25 @@ + + + + + + @@ -255,6 +274,7 @@ const defaultForm = { bill_type: '', remark: '', biz_date: new Date(), + out_stor_id: '', create_mode: '', tableData: [] } @@ -279,6 +299,7 @@ export default { nowrow: {}, nowindex: '', storlist: [], + inStorList: [], invtypelist: [], rules: { stor_id: [ @@ -305,15 +326,28 @@ export default { crudUserStor.getUserStor().then(res => { this.storlist = res }) + crudUserStor.queryStor({}).then(res => { + this.inStorList = res + }) }, close() { this.$emit('AddChanged') }, [CRUD.HOOK.beforeSubmit]() { + debugger if (this.form.tableData.length === 0) { this.crud.notify('请至少选择一条明细', CRUD.NOTIFICATION_TYPE.INFO) return false } + if (this.form.bill_type !== '1004') { + this.form.out_stor_id = '' + } + if (this.form.bill_type === '1004') { + if (this.form.out_stor_id === this.form.stor_id) { + this.crud.notify('移出仓库和移入仓库不能一致!', CRUD.NOTIFICATION_TYPE.INFO) + return false + } + } }, [CRUD.HOOK.afterToEdit]() { checkoutbill.getOutBillDtl({ 'iostorinv_id': this.form.iostorinv_id }).then(res => {