From e94c9f030591751d07bdfb5debd82913eec925a3 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, 21 Oct 2025 18:06:26 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=85=B6=E4=BB=96=E5=87=BA=E5=BA=93=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=EF=BC=8C=E9=87=87=E8=B4=AD=E9=80=80=E8=B4=A7=E6=89=B9?= =?UTF-8?q?=E5=8F=B7=E5=B8=A6=E5=87=BA=E6=89=B9=E6=AC=A1=E5=8F=AF=E7=94=A8?= =?UTF-8?q?=E9=87=8F=202.=E8=BF=94=E5=88=A9=E7=B3=BB=E7=BB=9F=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=BF=94=E5=88=A9=E9=87=91=E9=A2=9D=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=203.xml=E6=A0=BC=E5=BC=8F=E6=8E=A5=E5=8F=A3=E8=BD=AC=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/im/OtherOutApplyBillPlugin.java | 39 ++++++++++++++++--- .../form/pm/PurRefundApplyBillPlugin.java | 38 ++++++++++++++++++ .../operate/pm/PurOrderBillRebatePlugin.java | 20 +++++----- .../app/plugin/utils/HttpRequestUtils.java | 6 +-- 4 files changed, 85 insertions(+), 18 deletions(-) diff --git a/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java b/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java index ac02c78..0758db1 100644 --- a/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java +++ b/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java @@ -1,9 +1,12 @@ package tqq9.lc123.cloud.app.plugin.form.im; +import kd.bos.algo.DataSet; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.utils.StringUtils; +import kd.bos.db.DB; +import kd.bos.db.DBRoute; import kd.bos.entity.datamodel.IDataModel; import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; @@ -13,6 +16,7 @@ import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.events.BeforeF7SelectEvent; import kd.bos.form.field.events.BeforeF7SelectListener; import kd.bos.list.ListShowParameter; +import kd.bos.orm.ORM; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; @@ -65,6 +69,7 @@ public class OtherOutApplyBillPlugin extends AbstractBillPlugIn implements Befor } } + /** * 售后单号带出售后信息 */ @@ -103,21 +108,45 @@ public class OtherOutApplyBillPlugin extends AbstractBillPlugIn implements Befor DynamicObject masterid = newValue.getDynamicObject("masterid");//物料 QFilter purinbillF = new QFilter("billentry.material.id", QCP.equals, newValue.getLong("id")); purinbillF = purinbillF.and("billstatus", QCP.equals, "C"); - //采购入库单 - DynamicObject[] purinbills = BusinessDataServiceHelper.load("im_purinbill", "id,billno,billentry.material,billentry.priceandtax", purinbillF.toArray(), "auditdate desc"); + //price + DynamicObject[] purinbills = BusinessDataServiceHelper.load("im_purinbill", "id,billno,billentry.material,billentry.price", purinbillF.toArray(), "auditdate desc"); if(purinbills != null && purinbills.length > 0){ DynamicObject purinbill = purinbills[0]; DynamicObjectCollection billentry = purinbill.getDynamicObjectCollection("billentry"); for (DynamicObject dynamicObject : billentry) { String number = dynamicObject.getString("material.masterid.number"); if (StringUtils.equals(number, masterid.getString("number"))) { - BigDecimal priceandtax = dynamicObject.getBigDecimal("priceandtax"); - this.getModel().setValue("tqq9_price", priceandtax); + BigDecimal price = dynamicObject.getBigDecimal("price"); + this.getModel().setValue("tqq9_price", price); } break; } } } + //批号带出批次可用量 + if (StringUtils.equals("tqq9_lot", name)) { + ChangeData changeData = e.getChangeSet()[0]; + int rowIndex = changeData.getRowIndex(); + DynamicObject material = (DynamicObject)model.getValue("tqq9_materiel", rowIndex);//物料库存信息 + DynamicObject tqq9_lot = (DynamicObject)model.getValue("tqq9_lot", rowIndex);//批号 + if(material!=null){ + DynamicObject masterid = material.getDynamicObject("masterid");//物料 + if(masterid!=null){ + String id = masterid.getString("id"); + String tqq9_phno = tqq9_lot.getString("number");//批号 + String sql = "/*dialect*/ select sum(fbaseqty) useqty from t_im_inv_realbalance where fmaterialid ='"+id+"' and flotnum ='"+tqq9_phno+"'" ; + DataSet pzDataSet = DB.queryDataSet(this.getClass().getName(), DBRoute.of("scm"), sql); + DataSet copy = pzDataSet.copy(); + DynamicObjectCollection dynamicObjects = ORM.create().toPlainDynamicObjectCollection(copy); + if(dynamicObjects.size()>0){ + BigDecimal useqty = dynamicObjects.get(0).getBigDecimal("useqty"); + model.setValue("tqq9_pckyamount",useqty,rowIndex); + this.getView().updateView(); + } + } + + } + } } @@ -198,7 +227,7 @@ public class OtherOutApplyBillPlugin extends AbstractBillPlugIn implements Befor dynamicObject.set("tqq9_dczz", org);//调出组织 dynamicObject.set("tqq9_drzz", org);//调入组织 dynamicObject.set("tqq9_zczh", entry.getDynamicObject("tqq9_registration"));//注册证号 - dynamicObject.set("tqq9_licensenoxkzh", entry.getString("tqq9_ykzno"));//许可证号 + dynamicObject.set("tqq9_licenseno", entry.getString("tqq9_licenseno"));//许可证号 dynamicObject.set("tqq9_producedate", entry.getDate("tqq9_createdate"));//生产日期 dynamicObject.set("tqq9_expirydate", entry.getDate("tqq9_deadline"));//到期日期 dynamicObject.set("tqq9_drck", entry.getDynamicObject("tqq9_thck"));//退货仓库 diff --git a/lc123/cloud/app/plugin/form/pm/PurRefundApplyBillPlugin.java b/lc123/cloud/app/plugin/form/pm/PurRefundApplyBillPlugin.java index ced4a48..ea6b2ed 100644 --- a/lc123/cloud/app/plugin/form/pm/PurRefundApplyBillPlugin.java +++ b/lc123/cloud/app/plugin/form/pm/PurRefundApplyBillPlugin.java @@ -1,11 +1,17 @@ package tqq9.lc123.cloud.app.plugin.form.pm; +import kd.bos.algo.DataSet; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.bill.BillShowParameter; import kd.bos.dataentity.OperateOption; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.utils.StringUtils; +import kd.bos.db.DB; +import kd.bos.db.DBRoute; +import kd.bos.entity.datamodel.IDataModel; +import kd.bos.entity.datamodel.events.ChangeData; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.entity.operate.result.OperationResult; import kd.bos.form.CloseCallBack; import kd.bos.form.ShowType; @@ -18,6 +24,7 @@ import kd.bos.form.operate.FormOperate; import kd.bos.list.ListShowParameter; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; +import kd.bos.orm.ORM; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; @@ -25,6 +32,7 @@ import kd.bos.servicehelper.operation.OperationServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; import tqq9.lc123.cloud.app.api.utils.Constants; +import java.math.BigDecimal; import java.util.EventObject; import java.util.HashMap; @@ -130,4 +138,34 @@ public class PurRefundApplyBillPlugin extends AbstractBillPlugIn implements Befo } } + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String name = e.getProperty().getName(); + if (StringUtils.equals("tqq9_ph", name)) { + ChangeData changeData = e.getChangeSet()[0]; + int rowIndex = changeData.getRowIndex(); + IDataModel model = this.getModel(); + DynamicObject material = (DynamicObject)model.getValue("material", rowIndex);//物料采购信息 + DynamicObject tqq9_ph = (DynamicObject)model.getValue("tqq9_ph", rowIndex);//批号 + if(material!=null&&tqq9_ph!=null){ + DynamicObject masterid = material.getDynamicObject("masterid");//物料 + if(masterid!=null){ + String id = masterid.getString("id"); + String tqq9_phno = tqq9_ph.getString("number");//批号 + String sql = "/*dialect*/ select sum(fbaseqty) useqty from t_im_inv_realbalance where fmaterialid ='"+id+"' and flotnum ='"+tqq9_phno+"'" ; + DataSet pzDataSet = DB.queryDataSet(this.getClass().getName(), DBRoute.of("scm"), sql); + DataSet copy = pzDataSet.copy(); + DynamicObjectCollection dynamicObjects = ORM.create().toPlainDynamicObjectCollection(copy); + if(dynamicObjects.size()>0){ + BigDecimal useqty = dynamicObjects.get(0).getBigDecimal("useqty"); + model.setValue("tqq9_pckyamount",useqty,rowIndex); + this.getView().updateView(); + } + } + + } + } + } } \ No newline at end of file diff --git a/lc123/cloud/app/plugin/operate/pm/PurOrderBillRebatePlugin.java b/lc123/cloud/app/plugin/operate/pm/PurOrderBillRebatePlugin.java index b00f0e4..5b5e6aa 100644 --- a/lc123/cloud/app/plugin/operate/pm/PurOrderBillRebatePlugin.java +++ b/lc123/cloud/app/plugin/operate/pm/PurOrderBillRebatePlugin.java @@ -434,13 +434,13 @@ public class PurOrderBillRebatePlugin extends AbstractOperationServicePlugIn imp BigDecimal notaxamount = tqq9_hshfsyje.multiply(oneHundred.divide(oneHundred.add(taxrate), 10, RoundingMode.HALF_UP)).setScale(2, RoundingMode.HALF_UP); BigDecimal taxamount = tqq9_hshfsyje.subtract(notaxamount);//税额 // HashMap bodyMap = new HashMap<>(); - JSONObject bodyMap = new JSONObject(); - bodyMap.put("id", hfid); - bodyMap.put("money", tqq9_hshfsyje); - bodyMap.put("taxAmount", taxamount); + HashMap queryMap = new HashMap<>(); + queryMap.put("id", hfid); + queryMap.put("money", tqq9_hshfsyje); + queryMap.put("taxAmount", taxamount); Gson gson = new Gson(); try { - String bodyString = HttpRequestUtils.postJson(Cancel_URL, bodyMap.toString(), tokenMap); + String bodyString = HttpRequestUtils.doGet(Cancel_URL, queryMap, tokenMap); JSONObject map = gson.fromJson(bodyString, JSONObject.class); Boolean data = map.getBoolean("data"); if (data == null || !data) { @@ -458,13 +458,13 @@ public class PurOrderBillRebatePlugin extends AbstractOperationServicePlugIn imp BigDecimal notaxamount = tqq9_hsxfsyje.multiply(oneHundred.divide(oneHundred.add(taxrate), 10, RoundingMode.HALF_UP)).setScale(2, RoundingMode.HALF_UP); BigDecimal taxamount = tqq9_hsxfsyje.subtract(notaxamount);//税额 // HashMap bodyMap = new HashMap<>(); - JSONObject bodyMap = new JSONObject(); - bodyMap.put("id", xfid); - bodyMap.put("money", tqq9_hsxfsyje); - bodyMap.put("taxAmount", taxamount); + HashMap queryMap = new HashMap<>(); + queryMap.put("id", xfid); + queryMap.put("money", tqq9_hsxfsyje); + queryMap.put("taxAmount", taxamount); Gson gson = new Gson(); try { - String bodyString = HttpRequestUtils.postJson(Cancel_URL, bodyMap.toString(), tokenMap); + String bodyString = HttpRequestUtils.doGet(Cancel_URL, queryMap, tokenMap); JSONObject map = gson.fromJson(bodyString, JSONObject.class); Boolean data = map.getBoolean("data"); if (data == null || !data) { diff --git a/lc123/cloud/app/plugin/utils/HttpRequestUtils.java b/lc123/cloud/app/plugin/utils/HttpRequestUtils.java index 3e342ad..1f23c4b 100644 --- a/lc123/cloud/app/plugin/utils/HttpRequestUtils.java +++ b/lc123/cloud/app/plugin/utils/HttpRequestUtils.java @@ -244,14 +244,14 @@ public class HttpRequestUtils { httpPost.setConfig(config); // 设置请求头 - httpPost.setHeader("Content-Type", "application/xml; charset=UTF-8"); - httpPost.setHeader("Accept", "application/xml"); +// httpPost.setHeader("Content-Type", "application/xml"); +// httpPost.setHeader("Accept", "application/xml"); if (headers != null && !headers.isEmpty()) { headers.forEach(httpPost::setHeader); } // 设置请求体 - StringEntity entity = new StringEntity(xmlParams, ContentType.APPLICATION_XML); + StringEntity entity = new StringEntity(xmlParams, ContentType.APPLICATION_SOAP_XML); httpPost.setEntity(entity); // 执行请求并处理响应