From 53e6d53acee835ec9262cfa4a6b055a073f85675 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=9A=E8=B1=86=E8=B1=86?= <13356128+sunandmoon60@user.noreply.gitee.com> Date: Tue, 28 Oct 2025 13:21:14 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BB=98=E6=AC=BE=E7=BB=93=E6=9E=9C=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4=202.=E5=8C=97?= =?UTF-8?q?=E5=B9=BF=E5=87=BA=E5=85=A5=E5=BA=93=E6=8E=A5=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E6=95=B4=203.=E6=B3=A8=E5=86=8C=E8=AF=81=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E5=95=86=E9=93=BE=E6=8E=A5=E4=B8=8B=E8=BD=BD=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/CasPaybillController.java | 68 +++++++++++-------- .../api/controller/WMSPurInController.java | 2 + .../api/controller/WMSSaleOutController.java | 2 + .../form/im/OtherOutApplyBillPlugin.java | 2 +- .../form/sys/DownloadAttachmentPlugin.java | 11 ++- .../plugin/operate/im/PurInConvertPlugin.java | 2 + .../operate/im/SaleOutBillConvertPlugin.java | 2 + 7 files changed, 55 insertions(+), 34 deletions(-) diff --git a/lc123/cloud/app/api/controller/CasPaybillController.java b/lc123/cloud/app/api/controller/CasPaybillController.java index 4f135dd..796bacd 100644 --- a/lc123/cloud/app/api/controller/CasPaybillController.java +++ b/lc123/cloud/app/api/controller/CasPaybillController.java @@ -49,20 +49,23 @@ public class CasPaybillController { List results = new ArrayList<>(); ApiResultExt resultExt = new ApiResultExt(); List billnos = new ArrayList<>(); - HashMap billStatusMap = new HashMap<>(); - HashMap billIdMap = new HashMap<>(); - Set validValues = new HashSet<>(); - validValues.add("4"); - validValues.add("5"); - validValues.add("6"); - validValues.add("7"); - validValues.add("8"); + HashMap billStatusMap = new HashMap<>(); +// HashMap billIdMap = new HashMap<>(); +// Set validValues = new HashSet<>(); +// validValues.add("4"); +// validValues.add("5"); +// validValues.add("6"); +// validValues.add("7"); +// validValues.add("8"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 目标日期格式 for (int i = 0; i < data.size(); i++) { HashMap dataMap = data.get(i); String billno = (String) dataMap.get("billno"); billnos.add(billno); - billStatusMap.put(billno, (String) dataMap.get("billstatus")); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("billstatus",dataMap.get("billstatus")); + jsonObject.put("tqq9_digital_receipt",dataMap.get("tqq9_digital_receipt")); + billStatusMap.put(billno, jsonObject); } QFilter qFilter = new QFilter("billno", QCP.in, billnos); DynamicObject[] cas_paybills = BusinessDataServiceHelper.load(Constants.CAS_PAYBILL, LC_PAYBILL_PROPERTIES, qFilter.toArray()); @@ -98,16 +101,16 @@ public class CasPaybillController { resultBean.setId(cas_paybill.getString("id")); resultBean.setBillStatus(true); iserror = false; - if(!validValues.contains((String)dataMap.get("billstatus"))){ - ArrayList rowMsg = error.getRowMsg(); - rowMsg.add("传入编号:" + billno + "的交易状态有误"); - error.setRowMsg(rowMsg); - error.setEntityKey(Constants.CAS_PAYBILL); - error.setKeys(keys); - resultBean.setId(""); - resultBean.setBillStatus(false); - index++; - } +// if(!validValues.contains((String)dataMap.get("billstatus"))){ +// ArrayList rowMsg = error.getRowMsg(); +// rowMsg.add("传入编号:" + billno + "的交易状态有误"); +// error.setRowMsg(rowMsg); +// error.setEntityKey(Constants.CAS_PAYBILL); +// error.setKeys(keys); +// resultBean.setId(""); +// resultBean.setBillStatus(false); +// index++; +// } } } if (iserror) { @@ -126,25 +129,30 @@ public class CasPaybillController { OperateOption option = OperateOption.create(); for (DynamicObject cas_paybill : cas_paybills) { - String billstatus = billStatusMap.get(cas_paybill.getString("billno")); - if (StringUtils.equals("5", billstatus)) { -// cas_paybill.set("billstatus", "D"); + JSONObject json = billStatusMap.get(cas_paybill.getString("billno")); + String billstatus = json.getString("billstatus"); + String tqq9_digital_receipt = json.getString("tqq9_digital_receipt"); + if (StringUtils.equals("D", billstatus)) { OperationResult payResult = OperationServiceHelper.executeOperate(Constants.TYPE_PAY, Constants.CAS_PAYBILL, new DynamicObject[]{cas_paybill}, option); List allErrorOrValidateInfo = payResult.getAllErrorOrValidateInfo(); - if (!allErrorOrValidateInfo.isEmpty()) { + if (!payResult.isSuccess()) { index++; + for (IOperateInfo iOperateInfo : allErrorOrValidateInfo) { + HashMap returnMap = resultExt.addErrorToResultBeanByNumber(results, iOperateInfo, Constants.CAS_PAYBILL); + results = (List) returnMap.get("ResultBeanList"); + } + }else{ + cas_paybill.set("tqq9_digital_receipt", tqq9_digital_receipt); + SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); + } - for (IOperateInfo iOperateInfo : allErrorOrValidateInfo) { - HashMap returnMap = resultExt.addErrorToResultBeanByNumber(results, iOperateInfo, Constants.CAS_PAYBILL); - results = (List) returnMap.get("ResultBeanList"); - } - } else if (StringUtils.equals("4", billstatus) || StringUtils.equals("6", billstatus)) { + } else if (StringUtils.equals("F", billstatus) ) { cas_paybill.set("billstatus", "F"); SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); - } else if (StringUtils.equals("7", billstatus)) { + } else if (StringUtils.equals("E", billstatus)) { cas_paybill.set("billstatus", "E"); SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); - } else if (StringUtils.equals("8", billstatus)) { + } else if (StringUtils.equals("G", billstatus)) { cas_paybill.set("billstatus", "G"); SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); } diff --git a/lc123/cloud/app/api/controller/WMSPurInController.java b/lc123/cloud/app/api/controller/WMSPurInController.java index 3b5ce83..7216e89 100644 --- a/lc123/cloud/app/api/controller/WMSPurInController.java +++ b/lc123/cloud/app/api/controller/WMSPurInController.java @@ -176,6 +176,7 @@ public class WMSPurInController { for (Object detail : details) { JSONObject detail1 = (JSONObject) detail; String entryId = detail1.getString("erpDetailId");//金蝶源头单据细单号 + String wmsDetailId = detail1.getString("wmsDetailId");//WMS入库单细单号 BigDecimal quantity = detail1.getBigDecimal("quantity");//入库数量 String uniqueCode = detail1.getString("uniqueCode");//商品编码 Date manufactureDate = detail1.getDate("manufactureDate");//生产日期 @@ -185,6 +186,7 @@ public class WMSPurInController { String licenceCode = detail1.getString("licenceCode");//生产许可证 String producer = detail1.getString("producer");//生产厂商 detailObject.put("entryId", entryId); + detailObject.put("wmsDetailId", wmsDetailId); detailObject.put("uniqueCode", uniqueCode); detailObject.put("quantity", quantity); detailObject.put("manufactureDate", manufactureDate); diff --git a/lc123/cloud/app/api/controller/WMSSaleOutController.java b/lc123/cloud/app/api/controller/WMSSaleOutController.java index e1e3531..057dffe 100644 --- a/lc123/cloud/app/api/controller/WMSSaleOutController.java +++ b/lc123/cloud/app/api/controller/WMSSaleOutController.java @@ -169,6 +169,7 @@ public class WMSSaleOutController { for (Object detail : details) { JSONObject detail1 = (JSONObject) detail; String entryId = detail1.getString("erpDetailId");//金蝶源头单据细单号 + String wmsDetailId = detail1.getString("wmsDetailId");//WMS入库单细单号 BigDecimal quantity = detail1.getBigDecimal("quantity");//出库数量 String uniqueCode = detail1.getString("uniqueCode");//商品编码 Date manufactureDate = detail1.getDate("manufactureDate");//生产日期 @@ -178,6 +179,7 @@ public class WMSSaleOutController { String licenceCode = detail1.getString("licenceCode");//生产许可证 String producer = detail1.getString("producer");//生产厂商 detailObject.put("entryId", entryId); + detailObject.put("wmsDetailId", wmsDetailId); detailObject.put("uniqueCode", uniqueCode); detailObject.put("quantity", quantity); detailObject.put("manufactureDate", manufactureDate); diff --git a/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java b/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java index 86fb440..b57fdf6 100644 --- a/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java +++ b/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java @@ -193,7 +193,7 @@ public class OtherOutApplyBillPlugin extends AbstractBillPlugIn implements Befor Date date = new Date(); dataEntity.set("tqq9_bizdate", date); dataEntity.set("tqq9_dblx", "A");//调拨类型 - dataEntity.set("tqq9_dbckfl", "C");//调拨出库分类 + dataEntity.set("tqq9_dbckfl", "G");//调拨出库分类 dataEntity.set("org", org);//组织 dataEntity.set("tqq9_dczz1", org);//调出组织 dataEntity.set("tqq9_drck2", org);//调入组织 diff --git a/lc123/cloud/app/plugin/form/sys/DownloadAttachmentPlugin.java b/lc123/cloud/app/plugin/form/sys/DownloadAttachmentPlugin.java index 595036a..bd9af5a 100644 --- a/lc123/cloud/app/plugin/form/sys/DownloadAttachmentPlugin.java +++ b/lc123/cloud/app/plugin/form/sys/DownloadAttachmentPlugin.java @@ -22,9 +22,14 @@ public class DownloadAttachmentPlugin extends AbstractBillPlugIn implements Plug super.itemClick(evt); String itemKey = evt.getItemKey(); if (StringUtils.equals("tqq9_download", itemKey)) { - String tqq9_zcztplj = this.getModel().getValue("tqq9_zcztplj").toString(); - if (StringUtils.isNotBlank(tqq9_zcztplj)) { - this.getView().openUrl(tqq9_zcztplj); + String url = ""; + url = this.getModel().getValue("tqq9_zcztplj_tag").toString(); + if (StringUtils.isBlank(url)) { + url = this.getModel().getValue("tqq9_zcztplj").toString(); + } + String[] split = url.split(","); + for (String s : split) { + this.getView().openUrl(s); } } } diff --git a/lc123/cloud/app/plugin/operate/im/PurInConvertPlugin.java b/lc123/cloud/app/plugin/operate/im/PurInConvertPlugin.java index 2567912..bba2950 100644 --- a/lc123/cloud/app/plugin/operate/im/PurInConvertPlugin.java +++ b/lc123/cloud/app/plugin/operate/im/PurInConvertPlugin.java @@ -74,6 +74,7 @@ public class PurInConvertPlugin extends AbstractConvertPlugIn implements Plugin quantity = new BigDecimal(jsonMap.get("quantity").toString()).negate();//入库数量 } String batch = jsonMap.get("batch") != null ? jsonMap.get("batch").toString() : null; // 批次 + String wmsDetailId = jsonMap.get("wmsDetailId") != null ? jsonMap.get("wmsDetailId").toString() : null; // WMS分录id String uniqueCode = jsonMap.get("uniqueCode") != null ? jsonMap.get("uniqueCode").toString() : null; // 商品编码 String registrationCode = jsonMap.get("registrationCode") != null ? jsonMap.get("registrationCode").toString() : null; // 注册证号 String licenceCode = jsonMap.get("licenceCode") != null ? jsonMap.get("licenceCode").toString() : null; // 生产许可证号 @@ -87,6 +88,7 @@ public class PurInConvertPlugin extends AbstractConvertPlugIn implements Plugin entry.set("producedate", manufactureDate); entry.set("expirydate", expirationDate); entry.set("lotnumber", batch); + entry.set("tqq9_wmsdetailid", wmsDetailId); entry.set("tqq9_licenseno", licenceCode); entry.set("tqq9_registration", tqq9_registration); entry.set("tqq9_proxyandfactory", tqq9_proxyandfactory); diff --git a/lc123/cloud/app/plugin/operate/im/SaleOutBillConvertPlugin.java b/lc123/cloud/app/plugin/operate/im/SaleOutBillConvertPlugin.java index 3e54e29..7faee6e 100644 --- a/lc123/cloud/app/plugin/operate/im/SaleOutBillConvertPlugin.java +++ b/lc123/cloud/app/plugin/operate/im/SaleOutBillConvertPlugin.java @@ -75,6 +75,7 @@ public class SaleOutBillConvertPlugin extends AbstractConvertPlugIn implements P expirationDate = new Date(expiration.longValue()); //失效期 } String batch = jsonMap.get("batch") != null ? jsonMap.get("batch").toString() : null; // 批次 + String wmsDetailId = jsonMap.get("wmsDetailId") != null ? jsonMap.get("wmsDetailId").toString() : null; // WMS分录id String uniqueCode = jsonMap.get("uniqueCode") != null ? jsonMap.get("uniqueCode").toString() : null; // 商品编码 String registrationCode = jsonMap.get("registrationCode") != null ? jsonMap.get("registrationCode").toString() : null; // 注册证号 String licenceCode = jsonMap.get("licenceCode") != null ? jsonMap.get("licenceCode").toString() : null; // 生产许可证号 @@ -88,6 +89,7 @@ public class SaleOutBillConvertPlugin extends AbstractConvertPlugIn implements P entry.set("producedate", manufactureDate); entry.set("expirydate", expirationDate); entry.set("lotnumber", batch); + entry.set("tqq9_wmsdetailid", wmsDetailId); entry.set("tqq9_licenseno", licenceCode); entry.set("tqq9_registration", tqq9_registration); entry.set("tqq9_sccs", tqq9_proxyandfactory);