From f363823274a1e5ea81c3f123ab2c1d14a9320f73 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Thu, 24 Jul 2025 17:18:30 +0800 Subject: [PATCH] youhua --- .../plugin/form/EquipmentCardListPlugin.java | 62 ++++++++++++++++--- 1 file changed, 55 insertions(+), 7 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java index e02e3ad..e49b252 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java @@ -1,6 +1,8 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import com.greenpineyu.fel.common.NumberUtil; +import kd.bos.coderule.api.CodeRuleInfo; +import kd.bos.coderule.service.cache.CodeRuleCache; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.entity.datamodel.ListSelectedRow; @@ -18,6 +20,7 @@ import kd.bos.orm.ORM; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.coderule.CodeRuleServiceHelper; import kd.bos.servicehelper.operation.OperationServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.fi.gl.util.DateUtil; @@ -60,15 +63,18 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi view.invokeOperation("refresh"); } else if (itemKey.equals("zcgj_asset")) {//同步资产卡片 List strings = new ArrayList<>(); - strings.add("100104"); - strings.add("100113"); - strings.add("100105"); - strings.add("100109"); - strings.add("100112"); + DynamicObject[] equipmenttype = BusinessDataServiceHelper.load("zcgj_equipmenttype", "number,zcgj_assetcat.number",null); + for (DynamicObject dynamicObject : equipmenttype) { + String number = dynamicObject.getString("zcgj_assetcat.number"); + if (number.isEmpty() && number!=null){ + strings.add(number) ; + } + } QFilter qFilter = new QFilter("assetcat.number", QCP.in, strings); - DynamicObject[] realcards = BusinessDataServiceHelper.load("fa_card_real", "number,assetname,model,realaccountdate,assetunit,supplier,zcgj_platenumber,unit,zcgj_manufacturer,zcgj_prodate,storeplace,creator,createtime,modifier,modifytime,auditdate,auditor", new QFilter[]{qFilter}); + DynamicObject[] realcards = BusinessDataServiceHelper.load("fa_asset_card", "zcgj_costcenter,headusedept,finentry,assetcat,number,assetname,model,realaccountdate,assetunit,supplier,zcgj_platenumber,unit,zcgj_manufacturer,zcgj_prodate,storeplace,creator,createtime,modifier,modifytime,auditdate,auditor", new QFilter[]{qFilter}); for (DynamicObject realcard : realcards) { String number = realcard.getString("number");//资产编码 +// DynamicObject assetcat = realcard.getDynamicObject("assetcat");//资产类别 String assetname = realcard.getString("assetname");//资产名称 log.info("同步的实物卡片为"+number+assetname); String model = realcard.getString("model");//规格型号 @@ -80,6 +86,9 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi String manufacturer = realcard.getString("zcgj_manufacturer");//生产厂家 Date prodate = realcard.getDate("zcgj_prodate");//出场日期 DynamicObject storeplace = realcard.getDynamicObject("storeplace");//存放地点 + DynamicObject headusedept = realcard.getDynamicObject("headusedept");//使用部门 + DynamicObject zcgj_costcenter = realcard.getDynamicObject("zcgj_costcenter");//成本中心 + DynamicObjectCollection finentrys = realcard.getDynamicObjectCollection("finentry");//财务卡片分录 String fulladdress = null; if(storeplace!=null){ DynamicObject storeplaceinfo = BusinessDataServiceHelper.loadSingle("fa_storeplace", new QFilter[]{new QFilter("id", QCP.equals, storeplace.getLong("id"))}); @@ -101,12 +110,13 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi if (eceq_equipment_card!=null){ equipmentcard.set("id",eceq_equipment_card.getLong("id")); } + equipmentcard.set("billno",timeText);//单据编号 equipmentcard.set("status","C");//单据状态 equipmentcard.set("billstatus","C");// equipmentcard.set("enable","1");//可用 equipmentcard.set("property","OWN");//设备性质 - equipmentcard.set("number",number);//设备编号 + equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 equipmentcard.set("name",assetname);//设备名称 equipmentcard.set("modelnum",model);//规格型号 equipmentcard.set("indate",realaccountdate);//入库日期 @@ -129,6 +139,25 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi equipmentcard.set("modifytime",modifytime);//修改日期 equipmentcard.set("auditor",auditor);//审核人 equipmentcard.set("auditdate",auditdate);//审核日期 + equipmentcard.set("zcgj_assetnumber",number);//资产编码 + equipmentcard.set("zcgj_headusedepts",headusedept);//使用部门 + equipmentcard.set("zcgj_costcenters",zcgj_costcenter);//审核日期 + + if(finentrys.size()>0){ + DynamicObject finentry = finentrys.get(0); + BigDecimal finOriginalval = finentry.getBigDecimal("fin_originalval");//资产原值 + BigDecimal fin_preusingamount = finentry.getBigDecimal("fin_preusingamount");//预计使用月 + BigDecimal fin_depredamount = finentry.getBigDecimal("fin_depredamount");//已折旧月 + BigDecimal fin_preresidualval = finentry.getBigDecimal("fin_preresidualval");//预计净残值 + BigDecimal fin_accumdepre = finentry.getBigDecimal("fin_accumdepre");//累计折旧 + BigDecimal fin_networth = finentry.getBigDecimal("fin_networth");//净值 + equipmentcard.set("zcgj_networth",fin_networth); + equipmentcard.set("zcgj_accumdepre",fin_accumdepre); + equipmentcard.set("zcgj_depredamount",fin_depredamount); + equipmentcard.set("zcgj_preresidualval",fin_preresidualval); + equipmentcard.set("zcgj_preusingamount",fin_preusingamount); + equipmentcard.set("zcgj_unitprice",finOriginalval); + } if (eceq_equipment_card!=null){ SaveServiceHelper.update(equipmentcard); System.out.println(); @@ -217,4 +246,23 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi return false; } } + + /** + * 获取编码规则生成编码 + * @param data 实体 + * @param number 编码规则编码 + * @return + */ + public static String getCodeRule(DynamicObject data,String number) { + //查找编码规则 + DynamicObject coderule = BusinessDataServiceHelper.loadSingle("bos_coderule", "id", new QFilter[]{new QFilter("number", QCP.equals, number)}); + //编码对象 + if (coderule != null) { + CodeRuleInfo codeRule = CodeRuleCache.reloadCodeRuleById(coderule.getString("id")); + //生成箱号编码 + String archivebillno = CodeRuleServiceHelper.getNumber(codeRule, data); + } + return null; + } + }