youhua
This commit is contained in:
parent
a5b859ebee
commit
400242cc2f
|
@ -2,6 +2,8 @@ package zcgj.zcdev.zcdev.pr.task;
|
|||
|
||||
import kd.bos.algo.DataSet;
|
||||
import kd.bos.algo.Row;
|
||||
import kd.bos.coderule.api.CodeRuleInfo;
|
||||
import kd.bos.coderule.service.cache.CodeRuleCache;
|
||||
import kd.bos.context.RequestContext;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
|
@ -15,6 +17,7 @@ import kd.bos.orm.query.QFilter;
|
|||
import kd.bos.schedule.executor.AbstractTask;
|
||||
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;
|
||||
import zcgj.zcdev.zcdev.pr.plugin.form.AdjustAmountOftaxBillPlugin;
|
||||
|
@ -36,15 +39,18 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
|
|||
@Override
|
||||
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {//同步资产卡片
|
||||
List<String> 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");//规格型号
|
||||
|
@ -56,13 +62,14 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
|
|||
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"))});
|
||||
fulladdress = storeplaceinfo.getString("fulladdress");
|
||||
}
|
||||
// DynamicObject storeplaceinfo = BusinessDataServiceHelper.loadSingle("fa_storeplace", new QFilter[]{new QFilter("id", QCP.equals, storeplace.getLong("id"))});
|
||||
// String fulladdress = storeplaceinfo.getString("fulladdress");
|
||||
DynamicObject creator = realcard.getDynamicObject("creator");//创建人
|
||||
Date createtime = realcard.getDate("createtime");//创建时间
|
||||
DynamicObject modifier = realcard.getDynamicObject("modifier");//修改人
|
||||
|
@ -79,12 +86,13 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
|
|||
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);//入库日期
|
||||
|
@ -107,6 +115,25 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
|
|||
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();
|
||||
|
@ -134,7 +161,7 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
|
|||
// 增强版比较器(自动适配多种日期格式)
|
||||
for (int i = 0; i < depresplitdetails.size(); i++) {
|
||||
DynamicObject item = depresplitdetails.get(i);
|
||||
log.info("排序前 " + i + ": " + item.getDynamicObject("period").getString("number"));
|
||||
// log.info("排序前 " + i + ": " + item.getDynamicObject("period").getString("number"));
|
||||
}
|
||||
Comparator<DynamicObject> smartComparator = (o1, o2) -> {
|
||||
DynamicObject p1 = o1.getDynamicObject("period");
|
||||
|
@ -254,4 +281,23 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
|
|||
// 默认返回标准格式
|
||||
return DateTimeFormatter.ofPattern("yyyyMM");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取编码规则生成编码
|
||||
* @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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue