youhua
This commit is contained in:
parent
963e5f0864
commit
1897d56193
|
@ -28,6 +28,8 @@ import java.time.format.DateTimeFormatter;
|
||||||
import java.time.format.DateTimeParseException;
|
import java.time.format.DateTimeParseException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import static com.icbc.api.internal.apache.http.h.d.ym;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实物卡片同步设备定时任务
|
* 实物卡片同步设备定时任务
|
||||||
*/
|
*/
|
||||||
|
@ -84,6 +86,9 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
|
||||||
DynamicObject eceq_equipment_card = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{new QFilter("zcgj_assetnumber", QCP.equals, number)});
|
DynamicObject eceq_equipment_card = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{new QFilter("zcgj_assetnumber", QCP.equals, number)});
|
||||||
if (eceq_equipment_card!=null){
|
if (eceq_equipment_card!=null){
|
||||||
equipmentcard.set("id",eceq_equipment_card.getLong("id"));
|
equipmentcard.set("id",eceq_equipment_card.getLong("id"));
|
||||||
|
equipmentcard.set("number",eceq_equipment_card.getString("number"));//设备编号
|
||||||
|
}else{
|
||||||
|
equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号
|
||||||
}
|
}
|
||||||
|
|
||||||
equipmentcard.set("billno",timeText);//单据编号
|
equipmentcard.set("billno",timeText);//单据编号
|
||||||
|
@ -91,7 +96,6 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
|
||||||
equipmentcard.set("billstatus","C");//
|
equipmentcard.set("billstatus","C");//
|
||||||
equipmentcard.set("enable","1");//可用
|
equipmentcard.set("enable","1");//可用
|
||||||
equipmentcard.set("property","OWN");//设备性质
|
equipmentcard.set("property","OWN");//设备性质
|
||||||
equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号
|
|
||||||
equipmentcard.set("name",assetname);//设备名称
|
equipmentcard.set("name",assetname);//设备名称
|
||||||
equipmentcard.set("modelnum",model);//规格型号
|
equipmentcard.set("modelnum",model);//规格型号
|
||||||
equipmentcard.set("indate",realaccountdate);//入库日期
|
equipmentcard.set("indate",realaccountdate);//入库日期
|
||||||
|
@ -142,24 +146,22 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
|
||||||
}
|
}
|
||||||
DynamicObject eceq_equipment = BusinessDataServiceHelper.loadSingle("eceq_equipinfo", new QFilter[]{new QFilter("number", QCP.equals, number)});
|
DynamicObject eceq_equipment = BusinessDataServiceHelper.loadSingle("eceq_equipinfo", new QFilter[]{new QFilter("number", QCP.equals, number)});
|
||||||
if (eceq_equipment != null) {
|
if (eceq_equipment != null) {
|
||||||
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM"); //设置格式
|
|
||||||
String ym = sd.format(date);
|
|
||||||
DynamicObjectCollection entrys = eceq_equipment.getDynamicObjectCollection("zcgj_entryentity");
|
DynamicObjectCollection entrys = eceq_equipment.getDynamicObjectCollection("zcgj_entryentity");
|
||||||
QFilter qf = new QFilter("realcard.number", QCP.equals, number);
|
QFilter qf = new QFilter("realcard.number", QCP.equals, number);
|
||||||
if (entrys.size() > 0) {//若分录行数大于0 则取上月的
|
if (entrys.size() > 0) {//若分录行数大于0 则取上月的
|
||||||
qf.and(new QFilter("billno", QCP.in, ym));
|
|
||||||
for (int i = 0; i < entrys.size(); i++) {
|
for (int i = 0; i < entrys.size(); i++) {
|
||||||
DynamicObject entry = entrys.get(i);
|
DynamicObject entry = entrys.get(i);
|
||||||
String zcgjDebillno = entry.getString("zcgj_debillno");
|
long billnoid = entry.getLong("zcgj_debillno");
|
||||||
entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入
|
qf.and(new QFilter("id", QCP.not_equals, billnoid));
|
||||||
|
// entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// DynamicObjectCollection depresplitdetails = QueryServiceHelper.query("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf});
|
DynamicObjectCollection depresplitdetails = QueryServiceHelper.query("fa_depresplitdetail", "id,billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf});
|
||||||
|
|
||||||
// DynamicObject[] depresplitdetails = BusinessDataServiceHelper.load("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf});
|
// DynamicObject[] depresplitdetails = BusinessDataServiceHelper.load("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf});
|
||||||
DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "id,billno,period,splitdept,assentry,assentry.costcentrer,assentry.splitamount",
|
// DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "id,billno,period,splitdept,assentry,assentry.costcentrer,assentry.splitamount",
|
||||||
new QFilter[]{new QFilter("realcard.number", QCP.equals, number)}, "period.number DESC");
|
// new QFilter[]{new QFilter("realcard.number", QCP.equals, number)}, "period.number DESC");
|
||||||
DynamicObjectCollection depresplitdetails = ORM.create().toPlainDynamicObjectCollection(rows.copy());
|
// DynamicObjectCollection depresplitdetails = ORM.create().toPlainDynamicObjectCollection(rows.copy());
|
||||||
// // 增强版比较器(自动适配多种日期格式)
|
// // 增强版比较器(自动适配多种日期格式)
|
||||||
// for (int i = 0; i < depresplitdetails.size(); i++) {
|
// for (int i = 0; i < depresplitdetails.size(); i++) {
|
||||||
// DynamicObject item = depresplitdetails.get(i);
|
// DynamicObject item = depresplitdetails.get(i);
|
||||||
|
@ -199,24 +201,28 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
|
||||||
// DynamicObject item = depresplitdetails.get(i);
|
// DynamicObject item = depresplitdetails.get(i);
|
||||||
// log.info("排序前 " + i + ": " + item.getDynamicObject("period").getString("number"));
|
// log.info("排序前 " + i + ": " + item.getDynamicObject("period").getString("number"));
|
||||||
// }
|
// }
|
||||||
// //按字段 menuindex 排序
|
//按字段 menuindex 排序
|
||||||
// Collections.sort(depresplitdetails , new Comparator<DynamicObject>(){
|
Collections.sort(depresplitdetails , new Comparator<DynamicObject>(){
|
||||||
// @Override
|
@Override
|
||||||
// public int compare(DynamicObject stu1, DynamicObject stu2) {
|
public int compare(DynamicObject o1, DynamicObject o2) {
|
||||||
// return stu1.getInt("menuindex")-stu2.getInt("menuindex");
|
long id1 = o1.getLong("id");
|
||||||
// }
|
DynamicObject oo1 = BusinessDataServiceHelper.loadSingle("fa_depresplitdetail", new QFilter[]{new QFilter("id", QCP.equals, id1)});
|
||||||
// });
|
long id2 = o2.getLong("id");
|
||||||
|
DynamicObject oo2 = BusinessDataServiceHelper.loadSingle("fa_depresplitdetail", new QFilter[]{new QFilter("id", QCP.equals, id2)});
|
||||||
|
return oo2.getDynamicObject("period").getString("number").compareTo(oo1.getDynamicObject("period").getString("number"));
|
||||||
|
}
|
||||||
|
});
|
||||||
for (DynamicObject depresplitdetail : depresplitdetails) {
|
for (DynamicObject depresplitdetail : depresplitdetails) {
|
||||||
long id = depresplitdetail.getLong("id");
|
long id = depresplitdetail.getLong("id");
|
||||||
DynamicObject loadSingle = BusinessDataServiceHelper.loadSingle("fa_depresplitdetail", new QFilter[]{new QFilter("id", QCP.equals, id)});
|
DynamicObject loadSingle = BusinessDataServiceHelper.loadSingle("fa_depresplitdetail", new QFilter[]{new QFilter("id", QCP.equals, id)});
|
||||||
String billno = loadSingle.getString("billno");
|
// String billnoid = loadSingle.getString("billno");
|
||||||
DynamicObject period = loadSingle.getDynamicObject("period");//折旧区间
|
DynamicObject period = loadSingle.getDynamicObject("period");//折旧区间
|
||||||
DynamicObject splitdept = loadSingle.getDynamicObject("splitdept");//使用部门
|
DynamicObject splitdept = loadSingle.getDynamicObject("splitdept");//使用部门
|
||||||
DynamicObjectCollection assentry = loadSingle.getDynamicObjectCollection("assentry");
|
DynamicObjectCollection assentry = loadSingle.getDynamicObjectCollection("assentry");
|
||||||
DynamicObject costcentrer = assentry.get(0).getDynamicObject("costcentrer");//成本中心
|
DynamicObject costcentrer = assentry.get(0).getDynamicObject("costcentrer");//成本中心
|
||||||
BigDecimal splitamount = assentry.get(0).getBigDecimal("splitamount");//分摊金额
|
BigDecimal splitamount = assentry.get(0).getBigDecimal("splitamount");//分摊金额
|
||||||
DynamicObject addNew = entrys.addNew();
|
DynamicObject addNew = entrys.addNew();
|
||||||
addNew.set("zcgj_debillno", billno);
|
addNew.set("zcgj_debillno", id);
|
||||||
addNew.set("zcgj_assperiod", period);
|
addNew.set("zcgj_assperiod", period);
|
||||||
addNew.set("zcgj_headusedept", splitdept);
|
addNew.set("zcgj_headusedept", splitdept);
|
||||||
addNew.set("zcgj_entrybillno", number);
|
addNew.set("zcgj_entrybillno", number);
|
||||||
|
|
Loading…
Reference in New Issue