This commit is contained in:
xiaoshi 2025-08-04 13:24:53 +08:00
parent e8fc9783f9
commit 44c35f68d5
2 changed files with 55 additions and 20 deletions

View File

@ -23,6 +23,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.QueryServiceHelper;
import kd.bos.servicehelper.coderule.CodeRuleServiceHelper;
import kd.bos.servicehelper.operation.OperationServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
@ -67,7 +68,6 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi
IFormView view = this.getView();
view.invokeOperation("refresh");
} else if (itemKey.equals("zcgj_asset")) {//同步资产卡片
String operationResultErrorInfos = null;
Set<String> strings = new HashSet();
DynamicObject[] equipmenttype = BusinessDataServiceHelper.load("zcgj_equipmenttype", "number,zcgj_assetcat",new QFilter[]{new QFilter("zcgj_assetcat.number", QCP.is_notnull,"" )});
for (DynamicObject dynamicObject : equipmenttype) {
@ -93,6 +93,7 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi
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,finentry.fin_originalval,finentry.fin_preresidualval,finentry.fin_depredamount,finentry.fin_preusingamount,finentry.fin_accumdepre,finentry.fin_networth", new QFilter[]{qFilter,qFilter2});
log.info("同步的实物数量有"+realcards.length);
String operationResultErrorInfos = null;
for (DynamicObject realcard : realcards) {
String number = realcard.getString("number");//资产编码
// DynamicObject assetcat = realcard.getDynamicObject("assetcat");//资产类别
@ -139,6 +140,7 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi
}else{
equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号
}
equipmentcard.set("billno",timeText);//单据编号
equipmentcard.set("status","C");//单据状态
equipmentcard.set("billstatus","C");//
@ -168,22 +170,27 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi
equipmentcard.set("auditdate",auditdate);//审核日期
equipmentcard.set("zcgj_assetnumber",number);//资产编码
equipmentcard.set("zcgj_headusedepts",headusedept);//使用部门
equipmentcard.set("zcgj_costcenters",zcgj_costcenter);//审核日期
equipmentcard.set("zcgj_costcenters",zcgj_costcenter);//成本中心
BigDecimal finOriginalval = BigDecimal.ZERO;
BigDecimal fin_preusingamount = BigDecimal.ZERO;
BigDecimal fin_depredamount = BigDecimal.ZERO;
BigDecimal fin_preresidualval = BigDecimal.ZERO;
BigDecimal fin_accumdepre = BigDecimal.ZERO;
BigDecimal fin_networth = BigDecimal.ZERO;
if(finentrys.size()>0){
DynamicObject finentry = finentrys.get(0);
BigDecimal fin_originalval = 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");//净值
finOriginalval = finentry.getBigDecimal("fin_originalval");//资产原值
fin_preusingamount = finentry.getBigDecimal("fin_preusingamount");//预计使用月
fin_depredamount = finentry.getBigDecimal("fin_depredamount");//已折旧月
fin_preresidualval = finentry.getBigDecimal("fin_preresidualval");//预计净残值
fin_accumdepre = finentry.getBigDecimal("fin_accumdepre");//累计折旧
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("unitprice",fin_originalval);
equipmentcard.set("unitprice",finOriginalval);
}
if (eceq_equipment_card!=null){
SaveServiceHelper.update(equipmentcard);
@ -195,9 +202,22 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi
System.out.println(number+assetname+"报错信息为:"+operationResultErrorInfos);
}
}
DynamicObject eceq_equipment = BusinessDataServiceHelper.loadSingle("eceq_equipinfo", new QFilter[]{new QFilter("zcgj_assetnumber", QCP.equals, number)});
if (eceq_equipment != null) {
eceq_equipment.set("zcgj_assetnumber",number);//资产编码
eceq_equipment.set("zcgj_headusedepts",headusedept);//使用部门
eceq_equipment.set("zcgj_costcenters",zcgj_costcenter);//成本中心
eceq_equipment.set("zcgj_networth",fin_networth);
eceq_equipment.set("zcgj_accumdepre",fin_accumdepre);
eceq_equipment.set("zcgj_depredamount",fin_depredamount);
eceq_equipment.set("zcgj_preresidualval",fin_preresidualval);
eceq_equipment.set("zcgj_preusingamount",fin_preusingamount);
eceq_equipment.set("unitprice",finOriginalval);
DynamicObjectCollection entrys = eceq_equipment.getDynamicObjectCollection("zcgj_entryentity");
SaveServiceHelper.save(new DynamicObject[]{eceq_equipment});
}
System.out.println("总报错信息为:"+operationResultErrorInfos);
}
System.out.println("总报错信息为:"+operationResultErrorInfos);
this.getView().showMessage("同步操作成功。");
}
}
@ -295,6 +315,7 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi
archivebillno = CodeRuleServiceHelper.getNumber(codeRule, data);
}
if(archivebillno.isEmpty() && archivebillno==null){
DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject("eceq_equipment_card");
// 调用自动编码规则
CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(dynamicObject.getDataEntityType().getName(), dynamicObject, null);

View File

@ -144,16 +144,21 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
equipmentcard.set("auditdate",auditdate);//审核日期
equipmentcard.set("zcgj_assetnumber",number);//资产编码
equipmentcard.set("zcgj_headusedepts",headusedept);//使用部门
equipmentcard.set("zcgj_costcenters",zcgj_costcenter);//审核日期
equipmentcard.set("zcgj_costcenters",zcgj_costcenter);//成本中心
BigDecimal finOriginalval = BigDecimal.ZERO;
BigDecimal fin_preusingamount = BigDecimal.ZERO;
BigDecimal fin_depredamount = BigDecimal.ZERO;
BigDecimal fin_preresidualval = BigDecimal.ZERO;
BigDecimal fin_accumdepre = BigDecimal.ZERO;
BigDecimal fin_networth = BigDecimal.ZERO;
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");//净值
finOriginalval = finentry.getBigDecimal("fin_originalval");//资产原值
fin_preusingamount = finentry.getBigDecimal("fin_preusingamount");//预计使用月
fin_depredamount = finentry.getBigDecimal("fin_depredamount");//已折旧月
fin_preresidualval = finentry.getBigDecimal("fin_preresidualval");//预计净残值
fin_accumdepre = finentry.getBigDecimal("fin_accumdepre");//累计折旧
fin_networth = finentry.getBigDecimal("fin_networth");//净值
equipmentcard.set("zcgj_networth",fin_networth);
equipmentcard.set("zcgj_accumdepre",fin_accumdepre);
equipmentcard.set("zcgj_depredamount",fin_depredamount);
@ -173,6 +178,15 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
}
DynamicObject eceq_equipment = BusinessDataServiceHelper.loadSingle("eceq_equipinfo", new QFilter[]{new QFilter("zcgj_assetnumber", QCP.equals, number)});
if (eceq_equipment != null) {
eceq_equipment.set("zcgj_assetnumber",number);//资产编码
eceq_equipment.set("zcgj_headusedepts",headusedept);//使用部门
eceq_equipment.set("zcgj_costcenters",zcgj_costcenter);//成本中心
eceq_equipment.set("zcgj_networth",fin_networth);
eceq_equipment.set("zcgj_accumdepre",fin_accumdepre);
eceq_equipment.set("zcgj_depredamount",fin_depredamount);
eceq_equipment.set("zcgj_preresidualval",fin_preresidualval);
eceq_equipment.set("zcgj_preusingamount",fin_preusingamount);
eceq_equipment.set("unitprice",finOriginalval);
DynamicObjectCollection entrys = eceq_equipment.getDynamicObjectCollection("zcgj_entryentity");
QFilter qf = new QFilter("realcard.number", QCP.equals, number);
// if (entrys.size() > 0) {//若分录行数大于0 则取上月的