Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
hello 2025-08-12 11:33:44 +08:00
commit 7bbf00a4db
7 changed files with 212 additions and 8 deletions

View File

@ -133,6 +133,7 @@ public class AssistbalanceAutoData {
DynamicObject assistbalance DynamicObject assistbalance
=BusinessDataServiceHelper.newDynamicObject("zcgj_rpt_assistbalance"); =BusinessDataServiceHelper.newDynamicObject("zcgj_rpt_assistbalance");
assistbalance.set("zcgj_debitlocal", record.getDebitlocal()); assistbalance.set("zcgj_debitlocal", record.getDebitlocal());
assistbalance.set("zcgj_beginlocal", record.getBeginlocal());
assistbalance.set("zcgj_creditlocal", record.getCreditlocal()); assistbalance.set("zcgj_creditlocal", record.getCreditlocal());
assistbalance.set("zcgj_yeardebitfor", record.getYeardebitfor()); assistbalance.set("zcgj_yeardebitfor", record.getYeardebitfor());
assistbalance.set("zcgj_yearcreditfor", record.getYearcreditfor()); assistbalance.set("zcgj_yearcreditfor", record.getYearcreditfor());

View File

@ -101,6 +101,17 @@ public class CasPaybillToEcFundPlanApplyOp extends AbstractOperationServicePlugI
allActamt = allActamt.add(zcgjAmountRecommended); allActamt = allActamt.add(zcgjAmountRecommended);
dynamicObject.set("zcgj_amountpaid", allActamt);//实付金额 dynamicObject.set("zcgj_amountpaid", allActamt);//实付金额
dynamicObject.set("zcgj_amount_inpayment",amountrecommended);// dynamicObject.set("zcgj_amount_inpayment",amountrecommended);//
//zcgj_amount_remaining = zcgj_hdamount - zcgj_amount_inpayment - zcgj_amountpaid
//剩余待拨付金额 = 财务核定金额 - 付款处理中金额 - 实付金额
BigDecimal hdamount = dynamicObject.getBigDecimal("zcgj_hdamount");
if(hdamount !=null && isPay){
BigDecimal subtract = hdamount.subtract(amountrecommended).subtract(allActamt);
dynamicObject.set("zcgj_amount_remaining",subtract);
}else if(hdamount != null){
BigDecimal subtract = hdamount.add(amountrecommended).subtract(allActamt);//实付金额已经成为相反数
dynamicObject.set("zcgj_amount_remaining",subtract);
}
} }
} }
updateData.add(fundingplanapply); updateData.add(fundingplanapply);

View File

@ -124,7 +124,8 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi
Date modifytime = realcard.getDate("modifytime");//修改时间 Date modifytime = realcard.getDate("modifytime");//修改时间
DynamicObject auditor = realcard.getDynamicObject("auditor");//审核人 DynamicObject auditor = realcard.getDynamicObject("auditor");//审核人
Date auditdate = realcard.getDate("auditdate");//审核时间 Date auditdate = realcard.getDate("auditdate");//审核时间
BigDecimal assetamount = realcard.getBigDecimal("assetamount");//资产数量
String remark = realcard.getString("remark");//备注
DynamicObject equipmentcard = ORM.create().newDynamicObject("eceq_equipment_card"); DynamicObject equipmentcard = ORM.create().newDynamicObject("eceq_equipment_card");
Date date=new Date(); Date date=new Date();
long timestamp=date.getTime(); //时间戳 long timestamp=date.getTime(); //时间戳
@ -174,7 +175,8 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi
equipmentcard.set("zcgj_headusedepts",headusedept);//使用部门 equipmentcard.set("zcgj_headusedepts",headusedept);//使用部门
equipmentcard.set("zcgj_costcenters",zcgj_costcenter);//成本中心 equipmentcard.set("zcgj_costcenters",zcgj_costcenter);//成本中心
equipmentcard.set("zcgj_assetcat",assetcat);//资产类别 equipmentcard.set("zcgj_assetcat",assetcat);//资产类别
equipmentcard.set("zcgj_assetamount",assetamount);//数量
equipmentcard.set("zcgj_remark",remark);//备注
BigDecimal finOriginalval = BigDecimal.ZERO; BigDecimal finOriginalval = BigDecimal.ZERO;
BigDecimal fin_preusingamount = BigDecimal.ZERO; BigDecimal fin_preusingamount = BigDecimal.ZERO;
BigDecimal fin_depredamount = BigDecimal.ZERO; BigDecimal fin_depredamount = BigDecimal.ZERO;
@ -226,12 +228,13 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi
eceq_equipment.set("zcgj_depredamount",fin_depredamount); eceq_equipment.set("zcgj_depredamount",fin_depredamount);
eceq_equipment.set("zcgj_preresidualval",fin_preresidualval); eceq_equipment.set("zcgj_preresidualval",fin_preresidualval);
eceq_equipment.set("zcgj_preusingamount",fin_preusingamount); eceq_equipment.set("zcgj_preusingamount",fin_preusingamount);
eceq_equipment.set("unitprice",finOriginalval); eceq_equipment.set("zcgj_unitprice",finOriginalval);
DynamicObjectCollection entrys = eceq_equipment.getDynamicObjectCollection("zcgj_entryentity"); DynamicObjectCollection entrys = eceq_equipment.getDynamicObjectCollection("zcgj_entryentity");
SaveServiceHelper.save(new DynamicObject[]{eceq_equipment}); SaveServiceHelper.save(new DynamicObject[]{eceq_equipment});
} }
System.out.println("总报错信息为:"+operationResultErrorInfos); System.out.println("总报错信息为:"+operationResultErrorInfos);
} }
this.getView().showMessage("同步成功!");
} }
} }

View File

@ -0,0 +1,167 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.events.BeforeF7SelectEvent;
import kd.bos.form.field.events.BeforeF7SelectListener;
import kd.bos.isc.util.misc.StringUtil;
import kd.bos.list.ListShowParameter;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper;
import java.util.ArrayList;
import java.util.EventObject;
import java.util.List;
/*
* 设备调令单表单插件
* 说明1设备编码带出资产编码2:过滤设备编码字段3调出调入项目带出调出调入负责人4自动带出所属组织
*/
public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
BasedataEdit realCard = this.getControl("zcgj_realcard"); //设备编码
realCard.addBeforeF7SelectListener(this);
BasedataEdit outProject = this.getControl("zcgj_outproject"); //调出项目
outProject.addBeforeF7SelectListener(this);
BasedataEdit inProject = this.getControl("zcgj_inproject"); //调入项目
inProject.addBeforeF7SelectListener(this);
}
@Override
public void afterCreateNewData(EventObject e) {
super.afterCreateNewData(e);
long currentUserId = UserServiceHelper.getCurrentUserId();
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
this.getModel().setValue("zcgj_org", mainOrgId);//所属组织
}
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String key = e.getProperty().getName();
if (StringUtil.equals(key, "zcgj_realcard")) {
//设备编码
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
int rowIndex = changeData.getRowIndex();
DynamicObject realCard = (DynamicObject) changeData.getNewValue();//新值
if (realCard != null) {
String realCardNumber = realCard.getString("zcgj_assetnumber");//设备编码-资产编码
DynamicObject org = (DynamicObject) realCard.get("org");//管理组织
QFilter[] qFilters = new QFilter[]{new QFilter("number", QCP.equals, realCardNumber).and("org.id", QCP.equals, org.get("id"))};
DynamicObject fa_card_real_base = BusinessDataServiceHelper.loadSingle("fa_card_real_base", "id", qFilters);//实物卡片基础资料
this.getModel().setValue("zcgj_realcardsw", fa_card_real_base, rowIndex);//资产编码
} else {
this.getModel().setValue("zcgj_realcardsw", null, rowIndex);//资产编码
}
} else if (StringUtil.equals(key, "zcgj_outorg") || StringUtil.equals(key, "zcgj_inorg")) {
//调出组织调入组织
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
Object newValue = changeData.getNewValue();//新值
Object oldValue = changeData.getOldValue();//旧值
if (newValue == null || !newValue.equals(oldValue)) {
if (StringUtil.equals(key, "zcgj_outorg")) {
//调出组织
DynamicObjectCollection dispatchEntryCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_dispatchentry");//调出资产详情分录
dispatchEntryCollection.clear();
this.getView().updateView("zcgj_dispatchentry");//刷新分录
this.getModel().setValue("zcgj_outproject", null);//清空调出项目
} else {
//调入组织
this.getModel().setValue("zcgj_inproject", null);//清空调入项目
}
}
} else if (StringUtil.equals(key, "zcgj_outproject") || StringUtil.equals(key, "zcgj_inproject")) {
//调出项目调入项目
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
Object newValue = changeData.getNewValue();//新值
if (newValue != null) {
DynamicObject newValueDy = (DynamicObject) newValue;
QFilter[] qFilters = new QFilter[]{new QFilter("billno", QCP.equals, newValueDy.getString("number"))};
DynamicObject ec_project = BusinessDataServiceHelper.loadSingle("ec_project", "id,zcgj_pm", qFilters);//项目
if (ec_project != null) {
if (StringUtil.equals(key, "zcgj_outproject")) {
//调出项目
this.getModel().setValue("zcgj_outuser", ec_project.get("zcgj_pm"));//调出负责人
} else {
this.getModel().setValue("zcgj_inuser", ec_project.get("zcgj_pm"));//调出负责人
}
}
}
}
}
@Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String propertyName = beforeF7SelectEvent.getProperty().getName();
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
List<QFilter> qFilters = new ArrayList<>();
if (StringUtil.equals(propertyName, "zcgj_realcard")) {
//设备编码
Object outOrg = this.getModel().getValue("zcgj_outorg");//调出组织
if (outOrg == null) {
this.getView().showErrorNotification("请先填写调出组织!");
beforeF7SelectEvent.setCancel(true);
return;
}
DynamicObject outOrgDy = (DynamicObject) outOrg;//调出组织
QFilter filter = new QFilter("org.id", "=", outOrgDy.get("id"));
DynamicObject[] equipmentInfos = BusinessDataServiceHelper.load("eceq_equipment_info", "id", new QFilter[]{filter});//设备台账F7
List<Long> equipmentInfoIds = getIdsFromDynamicObjects(equipmentInfos);
qFilters.add(new QFilter("id", QCP.in, equipmentInfoIds));
} else if (StringUtil.equals(propertyName, "zcgj_outproject")) {
// 调出项目
Object outOrg = this.getModel().getValue("zcgj_outorg");//调出组织
if (outOrg == null) {
this.getView().showErrorNotification("请先填写调出组织!");
beforeF7SelectEvent.setCancel(true);
return;
}
DynamicObject outOrgDy = (DynamicObject) outOrg;//调出组织
QFilter filter = new QFilter("fiaccountorg.id", "=", outOrgDy.get("id"));
DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{filter});//工程项目
List<Long> projectF7Ids = getIdsFromDynamicObjects(projectF7s);
qFilters.add(new QFilter("id", QCP.in, projectF7Ids));
} else if (StringUtil.equals(propertyName, "zcgj_inproject")) {
//调入项目
Object inOrg = this.getModel().getValue("zcgj_inorg");//调入组织
if (inOrg == null) {
this.getView().showErrorNotification("请先填写调入组织!");
beforeF7SelectEvent.setCancel(true);
return;
}
DynamicObject inOrgDy = (DynamicObject) inOrg;
QFilter filter = new QFilter("fiaccountorg.id", "=", inOrgDy.get("id"));
DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{filter});
List<Long> projectF7Ids = getIdsFromDynamicObjects(projectF7s);
qFilters.add(new QFilter("id", QCP.in, projectF7Ids));
}
formShowParameter.getListFilterParameter().setQFilters(qFilters);
}
private List<Long> getIdsFromDynamicObjects(DynamicObject[] dynamicObjects) {
List<Long> ids = new ArrayList<>();
if (dynamicObjects != null && dynamicObjects.length > 0) {
for (DynamicObject obj : dynamicObjects) {
ids.add((Long) obj.get("id"));
}
}
return ids;
}
}

View File

@ -41,14 +41,16 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin
//设置期间 //设置期间
DynamicObject org = (DynamicObject) this.getModel().getValue("zcgj_org"); DynamicObject org = (DynamicObject) this.getModel().getValue("zcgj_org");
if(org!=null){ if(org!=null){
//查询组织下对应的当前期间数据 /*//查询组织下对应的当前期间数据
DynamicObject[] orgByCurperiod = BusinessDataServiceHelper.load("gl_accountbook", DynamicObject[] orgByCurperiod = BusinessDataServiceHelper.load("gl_accountbook",
"org,curperiod", "org,curperiod",
new QFilter[]{new QFilter("enable", QCP.equals, Boolean.TRUE). new QFilter[]{new QFilter("enable", QCP.equals, Boolean.TRUE).
and("status", QCP.equals, "C").and("org.id", QCP.equals, org.getLong("id"))}); and("status", QCP.equals, "C").and("org.id", QCP.equals, org.getLong("id"))});
if(orgByCurperiod!=null && orgByCurperiod.length>0){ if(orgByCurperiod!=null && orgByCurperiod.length>0){
this.getModel().setValue("zcgj_period",orgByCurperiod[0].getDynamicObject("curperiod")); this.getModel().setValue("zcgj_period",orgByCurperiod[0].getDynamicObject("curperiod"));
} }*/
//设置期间
carryCurrentPeriodAndDate();
//初始化值 //初始化值
initData(org); initData(org);
} }
@ -156,4 +158,19 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin
return LocalDate.of(year, 12, 31); return LocalDate.of(year, 12, 31);
} }
protected void carryCurrentPeriodAndDate() {
Calendar cal = Calendar.getInstance();
int year = cal.get(1);
int month = cal.get(2) + 1;
QFilter yearFilter = new QFilter("periodyear", "=", year);
QFilter monthFilter = new QFilter("periodnumber", "=", month);
DynamicObject bdPeriod = BusinessDataServiceHelper.loadSingle("bd_period", "id,name,begindate,enddate", new QFilter[]{yearFilter, monthFilter});
if (bdPeriod != null) {
this.getModel().setValue("zcgj_period", bdPeriod.getPkValue());
//this.getModel().setValue("begindate", bdPeriod.get("begindate"));
// this.getModel().setValue("enddate", bdPeriod.get("enddate"));
}
}
} }

View File

@ -49,7 +49,6 @@ public class OutContractSettleFiConfirmWorkFlowPlugin implements IWorkflowPlugin
outFinaceconfirm.set("zcgj_invoice_org",outContractSettle.getDynamicObject("project").getDynamicObject("projectorg")); outFinaceconfirm.set("zcgj_invoice_org",outContractSettle.getDynamicObject("project").getDynamicObject("projectorg"));
outFinaceconfirm.set("zcgj_jscustomer",outContractSettle.getDynamicObject("zcgj_jscustomer")); outFinaceconfirm.set("zcgj_jscustomer",outContractSettle.getDynamicObject("zcgj_jscustomer"));
outFinaceconfirm.set("billstatus","A"); outFinaceconfirm.set("billstatus","A");
outFinaceconfirm.set("zcgj_is_reversabillid",true);
outFinaceconfirm.set("creator",outContractSettle.getDynamicObject("creator")); outFinaceconfirm.set("creator",outContractSettle.getDynamicObject("creator"));
DynamicObjectCollection itementry = outContractSettle.getDynamicObjectCollection("itementry"); DynamicObjectCollection itementry = outContractSettle.getDynamicObjectCollection("itementry");

View File

@ -67,7 +67,8 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
QFilter qFilter3 = new QFilter("bizstatus", QCP.not_equals, "DELETE"); QFilter qFilter3 = new QFilter("bizstatus", QCP.not_equals, "DELETE");
// QFilter qFilter4 = new QFilter("billstatus", QCP.equals, "C"); // QFilter qFilter4 = new QFilter("billstatus", QCP.equals, "C");
DynamicObject[] realcards = BusinessDataServiceHelper.load("fa_asset_card", "zcgj_costcenter,headusedept,finentry,assetcat,number,assetname,model,realaccountdate," + 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,qFilter3}); "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,remark,assetamount", new QFilter[]{qFilter,qFilter2,qFilter3});
log.info("同步的实物数量有"+realcards.length); log.info("同步的实物数量有"+realcards.length);
String operationResultErrorInfos = null; String operationResultErrorInfos = null;
for (DynamicObject realcard : realcards) { for (DynamicObject realcard : realcards) {
@ -86,6 +87,9 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
DynamicObject storeplace = realcard.getDynamicObject("storeplace");//存放地点 DynamicObject storeplace = realcard.getDynamicObject("storeplace");//存放地点
DynamicObject headusedept = realcard.getDynamicObject("headusedept");//使用部门 DynamicObject headusedept = realcard.getDynamicObject("headusedept");//使用部门
DynamicObject zcgj_costcenter = realcard.getDynamicObject("zcgj_costcenter");//成本中心 DynamicObject zcgj_costcenter = realcard.getDynamicObject("zcgj_costcenter");//成本中心
BigDecimal assetamount = realcard.getBigDecimal("assetamount");//资产数量
String remark = realcard.getString("remark");//备注
DynamicObjectCollection finentrys = realcard.getDynamicObjectCollection("finentry");//财务卡片分录 DynamicObjectCollection finentrys = realcard.getDynamicObjectCollection("finentry");//财务卡片分录
String fulladdress = null; String fulladdress = null;
if(storeplace!=null){ if(storeplace!=null){
@ -148,6 +152,8 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
equipmentcard.set("zcgj_headusedepts",headusedept);//使用部门 equipmentcard.set("zcgj_headusedepts",headusedept);//使用部门
equipmentcard.set("zcgj_costcenters",zcgj_costcenter);//成本中心 equipmentcard.set("zcgj_costcenters",zcgj_costcenter);//成本中心
equipmentcard.set("zcgj_assetcat",assetcat);//资产类别 equipmentcard.set("zcgj_assetcat",assetcat);//资产类别
equipmentcard.set("zcgj_assetamount",assetamount);//数量
equipmentcard.set("zcgj_remark",remark);//备注
BigDecimal finOriginalval = BigDecimal.ZERO; BigDecimal finOriginalval = BigDecimal.ZERO;
BigDecimal fin_preusingamount = BigDecimal.ZERO; BigDecimal fin_preusingamount = BigDecimal.ZERO;
BigDecimal fin_depredamount = BigDecimal.ZERO; BigDecimal fin_depredamount = BigDecimal.ZERO;
@ -199,7 +205,7 @@ public class EquipmentCardTaskPlugin extends AbstractTask {
eceq_equipment.set("zcgj_depredamount",fin_depredamount); eceq_equipment.set("zcgj_depredamount",fin_depredamount);
eceq_equipment.set("zcgj_preresidualval",fin_preresidualval); eceq_equipment.set("zcgj_preresidualval",fin_preresidualval);
eceq_equipment.set("zcgj_preusingamount",fin_preusingamount); eceq_equipment.set("zcgj_preusingamount",fin_preusingamount);
eceq_equipment.set("unitprice",finOriginalval); eceq_equipment.set("zcgj_unitprice",finOriginalval);
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 则取上月的