diff --git a/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java b/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java index 6af6194..c6d7fd7 100644 --- a/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java +++ b/lc123/cloud/app/plugin/form/im/OtherOutApplyBillPlugin.java @@ -192,9 +192,10 @@ public class OtherOutApplyBillPlugin extends AbstractBillPlugIn implements Befor dynamicObject.set("tqq9_drzz",org);//调入组织 dynamicObject.set("tqq9_zczh",entry.getDynamicObject("tqq9_registration"));//注册证号 dynamicObject.set("tqq9_licensenoxkzh",entry.getString("tqq9_ykzno"));//许可证号 -// dynamicObject.set("tqq9_lot",entry.getDynamicObject("lot"));//批号主档 dynamicObject.set("tqq9_producedate",entry.getDate("tqq9_createdate"));//生产日期 dynamicObject.set("tqq9_expirydate",entry.getDate("tqq9_deadline"));//到期日期 + dynamicObject.set("tqq9_dcck",entry.getDynamicObject("tqq9_thck"));//退货仓库 + dynamicObject.set("tqq9_lot",entry.getDynamicObject("tqq9_ph"));//批号 if(bd_materialinventoryinfo!=null){ QFilter purinbillF=new QFilter("billentry.material.id", QCP.equals,bd_materialinventoryinfo.getLong("id")); purinbillF=purinbillF.and("billstatus", QCP.equals,"C"); diff --git a/lc123/cloud/app/plugin/form/pm/PurRefundApplyBillPlugin.java b/lc123/cloud/app/plugin/form/pm/PurRefundApplyBillPlugin.java index 29eab1c..6d56821 100644 --- a/lc123/cloud/app/plugin/form/pm/PurRefundApplyBillPlugin.java +++ b/lc123/cloud/app/plugin/form/pm/PurRefundApplyBillPlugin.java @@ -39,7 +39,6 @@ public class PurRefundApplyBillPlugin extends AbstractBillPlugIn implements Plug BillShowParameter param = new BillShowParameter(); param.setFormId("tqq9_otheroutapply"); param.setCustomParam("tqq9_otheroutapplybillno", this.getModel().getValue("billno"));//采购退货申请单号 - param.setCloseCallBack(new CloseCallBack(this, "tqq9_otheroutapply")); param.getOpenStyle().setShowType(ShowType.Modal); this.getView().showForm(param); diff --git a/lc123/cloud/app/plugin/operate/im/OtherInIotManagePlugin.java b/lc123/cloud/app/plugin/operate/im/OtherInIotManagePlugin.java new file mode 100644 index 0000000..50a83c4 --- /dev/null +++ b/lc123/cloud/app/plugin/operate/im/OtherInIotManagePlugin.java @@ -0,0 +1,80 @@ +package tqq9.lc123.cloud.app.plugin.operate.im; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.plugin.AbstractOperationServicePlugIn; +import kd.bos.entity.plugin.args.AfterOperationArgs; +import kd.bos.logging.Log; +import kd.bos.logging.LogFactory; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.SaveServiceHelper; +import kd.sdk.plugin.Plugin; + +import java.util.Date; +import java.util.HashMap; + +/** + * 单据操作插件 + */ +public class OtherInIotManagePlugin extends AbstractOperationServicePlugIn implements Plugin { + private final static Log logger = LogFactory.getLog(OtherInIotManagePlugin.class); + + + @Override + public void afterExecuteOperationTransaction(AfterOperationArgs e) { + super.afterExecuteOperationTransaction(e); + //物料Map + DynamicObject[] materials = BusinessDataServiceHelper.load("bd_material", "id,number,name,tqq9_brand,baseunit,tqq9_brand", null); + HashMap materialMap = new HashMap(); + for (DynamicObject dynamicObject : materials) { + materialMap.put(dynamicObject.getLong("id"), dynamicObject); + } + for (DynamicObject dataEntity : e.getDataEntities()) { + String billno = dataEntity.getString("billno"); + QFilter qFilter = new QFilter("billno", QCP.equals, billno); + DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("im_otherinbill",qFilter.toArray()); + DynamicObjectCollection billentry = dynamicObject.getDynamicObjectCollection("billentry"); + DynamicObject[] tqq9_goodlotmanages=new DynamicObject[billentry.size()]; + boolean falg=false; + for (int i = 0; i < billentry.size(); i++) { + DynamicObject entry = billentry.get(i); + DynamicObject tqq9_goodlotmanage = BusinessDataServiceHelper.newDynamicObject("tqq9_goodlotmanage"); + Date producedate = entry.getDate("producedate");//生产日期 + Date expirydate = entry.getDate("expirydate");//到期日期 + String lotnumber = entry.getString("lotnumber");//批号 + DynamicObject tqq9_registration = entry.getDynamicObject("tqq9_registration");//商品注册证 + DynamicObject materialpurch = entry.getDynamicObject("material");//物料采购信息 + DynamicObject masterid = materialpurch.getDynamicObject("masterid");//物料id + DynamicObject material = materialMap.get(masterid.getLong("id"));//物料 + DynamicObject tqq9_brand = material.getDynamicObject("tqq9_brand");//商品品牌 + String number = material.getString("number");//商品编码 + String name = null; + if(tqq9_registration!=null){ + name=tqq9_registration.getString("name"); + } + tqq9_goodlotmanage.set("number",number);//商品编码 + tqq9_goodlotmanage.set("tqq9_lot",lotnumber);//批号 + + tqq9_goodlotmanage.set("name",name);//商品注册证名称 + tqq9_goodlotmanage.set("tqq9_brand",tqq9_brand);//商品品牌 + tqq9_goodlotmanage.set("tqq9_crreatdate",producedate);//生产日期 + tqq9_goodlotmanage.set("tqq9_invaliddate",expirydate);//到期日期 + tqq9_goodlotmanage.set("status","C");//数据状态 + tqq9_goodlotmanage.set("enable","1");//使用状态 + QFilter goodlotmanageF = new QFilter("number", QCP.equals,number); + goodlotmanageF=goodlotmanageF.and(new QFilter("tqq9_lot", QCP.equals,lotnumber)); + DynamicObject tqq9_goodlotmanage1 = BusinessDataServiceHelper.loadSingle("tqq9_goodlotmanage",goodlotmanageF.toArray()); + if(tqq9_goodlotmanage1==null){ + falg=true; + tqq9_goodlotmanages[i]=tqq9_goodlotmanage; + } + } + if(falg){ + SaveServiceHelper.save(tqq9_goodlotmanages); + } + } + + } +} \ No newline at end of file diff --git a/lc123/cloud/app/plugin/operate/im/PurInIotManagePlugin.java b/lc123/cloud/app/plugin/operate/im/PurInIotManagePlugin.java index e825c69..895634b 100644 --- a/lc123/cloud/app/plugin/operate/im/PurInIotManagePlugin.java +++ b/lc123/cloud/app/plugin/operate/im/PurInIotManagePlugin.java @@ -35,7 +35,7 @@ public class PurInIotManagePlugin extends AbstractOperationServicePlugIn impleme for (DynamicObject dataEntity : e.getDataEntities()) { String billno = dataEntity.getString("billno"); QFilter qFilter = new QFilter("billno", QCP.equals, billno); - DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("im_otherinbill",qFilter.toArray()); + DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("im_purinbill",qFilter.toArray()); DynamicObjectCollection billentry = dynamicObject.getDynamicObjectCollection("billentry"); DynamicObject[] tqq9_goodlotmanages=new DynamicObject[billentry.size()]; boolean falg=false; diff --git a/lc123/cloud/app/plugin/operate/im/PurInlotReceiptPlugin.java b/lc123/cloud/app/plugin/operate/im/PurInlotReceiptPlugin.java index 765e46b..8079d9c 100644 --- a/lc123/cloud/app/plugin/operate/im/PurInlotReceiptPlugin.java +++ b/lc123/cloud/app/plugin/operate/im/PurInlotReceiptPlugin.java @@ -96,11 +96,13 @@ public class PurInlotReceiptPlugin extends AbstractOperationServicePlugIn implem while (iterator.hasNext()){ DynamicObject lot = iterator.next(); DynamicObject bd_lot = lot.getDynamicObject("fbasedataId"); - bd_lot = BusinessDataServiceHelper.loadSingle("bd_lot", new QFilter[]{new QFilter("id", QCP.equals, bd_lot.getLong("id"))}); - String lotstatus = bd_lot.getString("lotstatus"); - if (lotstatus.equals("B")) { - logger.info("删除成功"); - iterator.remove(); + if(bd_lot!=null){ + bd_lot = BusinessDataServiceHelper.loadSingle("bd_lot", new QFilter[]{new QFilter("id", QCP.equals, bd_lot.getLong("id"))}); + String lotstatus = bd_lot.getString("lotstatus"); + if (lotstatus.equals("B")) { + logger.info("删除成功"); + iterator.remove(); + } } } } diff --git a/lc123/cloud/app/plugin/operate/im/ReturnStockSyncNotifierPlugin.java b/lc123/cloud/app/plugin/operate/im/ReturnStockSyncNotifierPlugin.java index 70230da..e73db84 100644 --- a/lc123/cloud/app/plugin/operate/im/ReturnStockSyncNotifierPlugin.java +++ b/lc123/cloud/app/plugin/operate/im/ReturnStockSyncNotifierPlugin.java @@ -22,6 +22,7 @@ import kd.sdk.plugin.Plugin; import tqq9.lc123.cloud.app.api.utils.Constants; import tqq9.lc123.cloud.app.plugin.utils.BotpParamUtils; +import java.math.BigDecimal; import java.util.*; /** @@ -57,7 +58,7 @@ public class ReturnStockSyncNotifierPlugin extends AbstractOperationServicePlugI for (DynamicObject entry : billentry) { String mainbillnumber = entry.getString("mainbillnumber");//核心单据编号 String mainbillentryid = entry.getString("mainbillentryid");//核心单据行id - String qty = entry.getString("qty");//数量 + BigDecimal qty = entry.getBigDecimal("qty");//数量 //查询采购订单 DynamicObject pm_purorderbill = BusinessDataServiceHelper.loadSingle("pm_purorderbill", new QFilter[]{new QFilter("billno", QCP.equals, mainbillnumber)}); DynamicObjectCollection billentry1 = pm_purorderbill.getDynamicObjectCollection("billentry");