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,17 +39,20 @@ 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);
|
||||
log.info("同步的实物卡片为"+number+assetname);
|
||||
String model = realcard.getString("model");//规格型号
|
||||
Date realaccountdate = realcard.getDate("realaccountdate");//启用日期
|
||||
DynamicObject assetunit = realcard.getDynamicObject("assetunit");//资产组织
|
||||
|
@ -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) {
|
||||
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");//修改人
|
||||
|
@ -71,42 +78,62 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
|
|||
Date auditdate = realcard.getDate("auditdate");//审核时间
|
||||
|
||||
DynamicObject equipmentcard = ORM.create().newDynamicObject("eceq_equipment_card");
|
||||
Date date = new Date();
|
||||
long timestamp = date.getTime(); //时间戳
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置格式
|
||||
String timeText = format.format(timestamp);
|
||||
Date date=new Date();
|
||||
long timestamp=date.getTime(); //时间戳
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置格式
|
||||
String timeText=format.format(timestamp);
|
||||
DynamicObject eceq_equipment_card = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{new QFilter("number", QCP.equals, number)});
|
||||
if (eceq_equipment_card != null) {
|
||||
equipmentcard.set("id", eceq_equipment_card.getLong("id"));
|
||||
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",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号
|
||||
equipmentcard.set("name",assetname);//设备名称
|
||||
equipmentcard.set("modelnum",model);//规格型号
|
||||
equipmentcard.set("indate",realaccountdate);//入库日期
|
||||
equipmentcard.set("org",assetunit);//管理组织
|
||||
equipmentcard.set("equipstatus","FREE");//设备状态
|
||||
equipmentcard.set("project",null);//工程项目
|
||||
equipmentcard.set("useorg",null);//使用组织
|
||||
equipmentcard.set("supplier",supplier);//供应商
|
||||
equipmentcard.set("carnumber",platenumber);//车牌号
|
||||
equipmentcard.set("enginenumber",null);//发动机编号
|
||||
equipmentcard.set("framenumber",null);//车架号码
|
||||
equipmentcard.set("unit",unit);//设备单位
|
||||
equipmentcard.set("power",null);//功率
|
||||
equipmentcard.set("manufacturer",manufacturer);//生产厂家
|
||||
equipmentcard.set("proddate",prodate);//出场日期
|
||||
equipmentcard.set("storageplace",fulladdress);//存放地点
|
||||
equipmentcard.set("creator",creator);//创建人
|
||||
equipmentcard.set("createtime",createtime);//创建日期
|
||||
equipmentcard.set("modifier",modifier);//修改人
|
||||
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);
|
||||
}
|
||||
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("name", assetname);//设备名称
|
||||
equipmentcard.set("modelnum", model);//规格型号
|
||||
equipmentcard.set("indate", realaccountdate);//入库日期
|
||||
equipmentcard.set("org", assetunit);//管理组织
|
||||
equipmentcard.set("equipstatus", "FREE");//设备状态
|
||||
equipmentcard.set("project", null);//工程项目
|
||||
equipmentcard.set("useorg", null);//使用组织
|
||||
equipmentcard.set("supplier", supplier);//供应商
|
||||
equipmentcard.set("carnumber", platenumber);//车牌号
|
||||
equipmentcard.set("enginenumber", null);//发动机编号
|
||||
equipmentcard.set("framenumber", null);//车架号码
|
||||
equipmentcard.set("unit", unit);//设备单位
|
||||
equipmentcard.set("power", null);//功率
|
||||
equipmentcard.set("manufacturer", manufacturer);//生产厂家
|
||||
equipmentcard.set("proddate", prodate);//出场日期
|
||||
equipmentcard.set("storageplace", fulladdress);//存放地点
|
||||
equipmentcard.set("creator", creator);//创建人
|
||||
equipmentcard.set("createtime", createtime);//创建日期
|
||||
equipmentcard.set("modifier", modifier);//修改人
|
||||
equipmentcard.set("modifytime", modifytime);//修改日期
|
||||
equipmentcard.set("auditor", auditor);//审核人
|
||||
equipmentcard.set("auditdate", auditdate);//审核日期
|
||||
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