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

This commit is contained in:
xiaoshi 2025-08-15 14:15:16 +08:00
commit 52b1dd4bb0
4 changed files with 446 additions and 19 deletions

View File

@ -0,0 +1,56 @@
package zcgj.zcdev.zcdev.fs.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.sdk.plugin.Plugin;
import zcgj.zcdev.zcdev.fs.utils.OrgCheckUtils;
import java.util.EventObject;
/**
* 锁定费用承担部门
*/
public class LockCostdeptPlugin extends AbstractBillPlugIn implements Plugin {
@Override
public void afterBindData(EventObject e) {
super.afterBindData(e);
DynamicObject company = (DynamicObject)this.getModel().getValue("company");
setDeptEnable(company);
}
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String name = e.getProperty().getName();
if(name.equals("company")){
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
DynamicObject company = (DynamicObject) changeData.getNewValue();//新值
setDeptEnable(company);
}
}
private void setDeptEnable(DynamicObject company) {
if(company!=null){
String number = company.getString("number");
if(OrgCheckUtils.isKS(company.getLong("id"))
&& !"10008491".equals(number)
&& !"10009939".equals(number)
&& !"cw002000".equals(number)
&& !"10006996".equals(number)
&& !"10006989".equals(number)
&& !"10006982".equals(number)
&& !"cw000155".equals(number)
){
this.getView().setEnable(false,"costdept");
this.getView().setEnable(false,"costcompany");
}else{
this.getView().setEnable(true,"costdept");
this.getView().setEnable(true,"costcompany");
}
}
}
}

View File

@ -3,8 +3,12 @@ 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.ListSelectedRowCollection;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.CloseCallBack;
import kd.bos.form.ShowFormHelper;
import kd.bos.form.events.ClosedCallBackEvent;
import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.events.BeforeF7SelectEvent;
import kd.bos.form.field.events.BeforeF7SelectListener;
@ -33,6 +37,10 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
outProject.addBeforeF7SelectListener(this);
BasedataEdit inProject = this.getControl("zcgj_inproject"); //调入项目
inProject.addBeforeF7SelectListener(this);
BasedataEdit zcgj_department = this.getView().getControl("zcgj_department");//部门
zcgj_department.addBeforeF7SelectListener(this);
BasedataEdit zcgj_org = this.getView().getControl("zcgj_org");//所属组织
zcgj_org.addBeforeF7SelectListener(this);
}
@Override
@ -72,7 +80,7 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
ChangeData changeData = changeSet[0];
Object newValue = changeData.getNewValue();//新值
Object oldValue = changeData.getOldValue();//旧值
if (newValue == null || !newValue.equals(oldValue)) {
if ((newValue == null || !newValue.equals(oldValue)) && oldValue != null) {
if (StringUtil.equals(key, "zcgj_outorg")) {
//调出组织
DynamicObjectCollection dispatchEntryCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_dispatchentry");//调出资产详情分录
@ -92,17 +100,28 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
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);//项目
DynamicObject ec_project = BusinessDataServiceHelper.loadSingle("ec_project", "id,zcgj_pm,fiaccountorg", qFilters);//项目
if (ec_project != null) {
if (StringUtil.equals(key, "zcgj_outproject")) {
//调出项目
this.getModel().setValue("zcgj_outuser", ec_project.get("zcgj_pm"));//调出负责人
this.getModel().setValue("zcgj_outorg", ec_project.get("fiaccountorg"));//调出组织
} else {
this.getModel().setValue("zcgj_inuser", ec_project.get("zcgj_pm"));//调出负责人
this.getModel().setValue("zcgj_inuser", ec_project.get("zcgj_pm"));//调入负责人
this.getModel().setValue("zcgj_inorg", ec_project.get("fiaccountorg"));//调入组织
}
}
} else {
if (StringUtil.equals(key, "zcgj_outproject")) {
//调出项目
this.getModel().setValue("zcgj_outuser", null);//调出负责人
this.getModel().setValue("zcgj_outorg", null);//调出组织
} else {
this.getModel().setValue("zcgj_inuser", null);//调入负责人
this.getModel().setValue("zcgj_inorg", null);//调入组织
}
}
} else if (StringUtil.equals(key, "zcgj_department")){
} else if (StringUtil.equals(key, "zcgj_department")) {
//部门
DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门
if (costDept != null) {
@ -125,49 +144,92 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
beforeF7SelectEvent.setCancel(true);
return;
}
DynamicObject outOrgDy = (DynamicObject) outOrg;//调出组织
QFilter filter = new QFilter("org.id", "=", outOrgDy.get("id"));
QFilter filter = new QFilter("useorg.id", "=", outOrgDy.get("id"));//设备台账F7-使用组织
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);
// 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));
// beforeF7SelectEvent.setCancel(true);
// ListShowParameter ec_ecbd_projectf7 = ShowFormHelper.createShowListForm("ec_ecbd_projectf7", true);
// ec_ecbd_projectf7.setCloseCallBack(new CloseCallBack(this, "zcgj_outproject"));
// ec_ecbd_projectf7.setMultiSelect(false);
// ec_ecbd_projectf7.setIsolationOrg(true);
// ec_ecbd_projectf7.getListFilterParameter().setQFilters(qFilters);
// this.getView().showForm(ec_ecbd_projectf7);
} else if (StringUtil.equals(propertyName, "zcgj_inproject")) {
//调入项目
Object inOrg = this.getModel().getValue("zcgj_inorg");//调入组织
if (inOrg == null) {
this.getView().showErrorNotification("请先填写调入组织!");
beforeF7SelectEvent.setCancel(true);
// 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});
DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{filter});//工程项目
List<Long> projectF7Ids = getIdsFromDynamicObjects(projectF7s);
qFilters.add(new QFilter("id", QCP.in, projectF7Ids));
// beforeF7SelectEvent.setCancel(true);
// ListShowParameter ec_ecbd_projectf7 = ShowFormHelper.createShowListForm("ec_ecbd_projectf7", true);
// ec_ecbd_projectf7.setCloseCallBack(new CloseCallBack(this, "zcgj_inproject"));
// ec_ecbd_projectf7.setMultiSelect(false);
// ec_ecbd_projectf7.setIsolationOrg(true);
// ec_ecbd_projectf7.getListFilterParameter().setQFilters(qFilters);
// this.getView().showForm(ec_ecbd_projectf7);
} else if (propertyName.equals("zcgj_department")) {
// 部门
DynamicObject creator = this.getModel().getDataEntity().getDynamicObject("creator");//创建人
if (creator == null) {
return;
}
List<Long> id = UserServiceHelper.getOrgsUserJoin(creator.getLong("id"));
qFilters.add(new QFilter("id", QCP.in, id));
formShowParameter.setCustomParam("isIncludeAllSub", "true");
} else if (propertyName.equals("zcgj_org")) {
// 所属组织
DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门
DynamicObject zcgj_org = (DynamicObject) this.getModel().getValue("zcgj_org");//所属组织
if (costDept != null && zcgj_org != null) {
DynamicObject orgPattern = costDept.getDynamicObject("orgpattern");
if (orgPattern == null) {
return;
}
String orgPatternNumber = orgPattern.getString("number");
if (orgPatternNumber.equals("Orgform06")) {
Long id = (Long) zcgj_org.get("id");
qFilters.add(new QFilter("id", QCP.in, id));
formShowParameter.setCustomParam("isIncludeAllSub", "true");
}
}
}
// formShowParameter.setHasRight(true);
// formShowParameter.getCustomParams().put("isIgnoreLicense", true);
// formShowParameter.setIsolationOrg(false);
formShowParameter.getListFilterParameter().setQFilters(qFilters);
}
public void closedCallBack(ClosedCallBackEvent closedCallBackEvent) {
super.closedCallBack(closedCallBackEvent);
String actionId = closedCallBackEvent.getActionId();
ListSelectedRowCollection returnData = (ListSelectedRowCollection) closedCallBackEvent.getReturnData();
if (returnData == null) {
return;
}
Object[] primaryKeyValues = returnData.getPrimaryKeyValues();
Long primaryKeyValue = (Long) primaryKeyValues[0];
this.getModel().setValue(actionId, primaryKeyValue);
}
private List<Long> getIdsFromDynamicObjects(DynamicObject[] dynamicObjects) {
List<Long> ids = new ArrayList<>();
if (dynamicObjects != null && dynamicObjects.length > 0) {

View File

@ -38,6 +38,18 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin
}
getView().updateView("zcgj_fin_approved_amount");
//公司资金往来 zcgj_fundplyentry
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_fundplyentry");
QFilter isenable = new QFilter("enable", QCP.equals, true);
DynamicObject[] fundplys = BusinessDataServiceHelper.load("zcgj_fundply", "id,number,name,zcgj_indexitem", new QFilter[]{isenable},"zcgj_indexitem");
if(fundplys!=null && fundplys.length>0){
for (DynamicObject fundply : fundplys) {
DynamicObject item = fundplyentry.addNew();
item.set("zcgj_funditem",fundply);
}
}
getView().updateView("zcgj_fundplyentry");
//设置期间
DynamicObject org = (DynamicObject) this.getModel().getValue("zcgj_org");
if(org!=null){
@ -70,6 +82,7 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin
DynamicObject[] load = BusinessDataServiceHelper.load("zcgj_ec_fundingplanapply",
"zcgj_period," +
"zcgj_infundproject_entry.zcgj_in_fundproject,zcgj_infundproject_entry.zcgj_in_custom,zcgj_infundproject_entry.zcgj_iinitialreceivable " +
",zcgj_infundproject_entry.zcgj_expectedmonetarycap,zcgj_infundproject_entry.zcgj_expectedmonetaryfund,zcgj_infundproject_entry.zcgj_otheramount,zcgj_infundproject_entry.zcgj_expectedreceivableba "+
",zcgj_outfundproject_entry.zcgj_out_fundproject,zcgj_outfundproject_entry.zcgj_out_supplier,zcgj_outfundproject_entry.zcgj_openingpayable" +
",createtime",
searchFilterList.toArray(new QFilter[]{}), "createtime desc");
@ -78,6 +91,13 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin
DynamicObjectCollection indataentry = data.getDynamicObjectCollection("zcgj_infundproject_entry");
DynamicObjectCollection inentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_infundproject_entry");
inentry.clear();
//本月计划产值
BigDecimal lastplancashamtall = BigDecimal.ZERO;
BigDecimal lastplanbankamtall = BigDecimal.ZERO;
BigDecimal lastotheramtall = BigDecimal.ZERO;
BigDecimal lastplanarbalanceall = BigDecimal.ZERO;
BigDecimal lastplanvalall = BigDecimal.ZERO;
for (DynamicObject dynamicObject : indataentry) {
DynamicObject newData = inentry.addNew();
newData.set("zcgj_in_fundproject",dynamicObject.get("zcgj_in_fundproject"));
@ -91,6 +111,12 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin
}
newData.set("zcgj_in_custom",collection);
newData.set("zcgj_iinitialreceivable",dynamicObject.get("zcgj_iinitialreceivable"));
lastplancashamtall = lastplancashamtall.add(dynamicObject.getBigDecimal("zcgj_expectedmonetarycap"));
lastplanbankamtall= lastplanbankamtall.add(dynamicObject.getBigDecimal("zcgj_expectedmonetaryfund"));
lastotheramtall = lastotheramtall.add(dynamicObject.getBigDecimal("zcgj_otheramount"));
lastplanarbalanceall = lastplanarbalanceall.add(dynamicObject.getBigDecimal("zcgj_expectedreceivableba"));
lastplanvalall = lastplanvalall.add(dynamicObject.getBigDecimal("zcgj_plannedoutputvalue"));
}
this.getView().updateView("zcgj_infundproject_entry");
@ -113,7 +139,22 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin
newData.set("zcgj_openingpayable",dynamicObject.get("zcgj_openingpayable"));
}
this.getView().updateView("zcgj_outfundproject_entry");
}
//本月预计收款(货币) zcgj_expectedmonetarycap 其中上月预计收货币资金 zcgj_lastplancashamt
//本月预计收款承兑zcgj_expectedmonetaryfund 其中上月预计收承兑 zcgj_lastplanbankamt
//本月预计收款其他 zcgj_otheramount 其中上月预计收其他 zcgj_lastotheramt
//本月预计应收余额 zcgj_expectedreceivableba 上月预计应收余额 zcgj_lastplanarbalance
//本月计划产值 zcgj_plannedoutputvalue 上月计划产值 zcgj_lastplanval
DynamicObjectCollection infundlastentry = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_infundlastentry");
DynamicObject infundlastentryObject = infundlastentry.addNew();
infundlastentryObject.set("zcgj_lastplancashamt",lastplancashamtall);
infundlastentryObject.set("zcgj_lastplanbankamt",lastplanbankamtall);
infundlastentryObject.set("zcgj_lastotheramt",lastotheramtall);
infundlastentryObject.set("zcgj_lastplanarbalance",lastplanarbalanceall);
infundlastentryObject.set("zcgj_lastplanval",lastplanvalall);
this.getView().updateView("zcgj_infundlastentry");
}
}
@ -145,6 +186,79 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin
}else if(name.equals("zcgj_org")){
DynamicObject org = (DynamicObject) changeData.getNewValue();
initData(org);
}else if(name.equals("zcgj_cashamt") ||
name.equals("zcgj_bankamt") ||
name.equals("zcgj_businessamt") ||
name.equals("zcgj_supplyamt") ||
name.equals("zcgj_otheramt")){
int rowIndex = changeData.getRowIndex();
DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry");
//4-5+3
BigDecimal zcgjCashamt4 = fundplyentry.get(4).getBigDecimal("zcgj_cashamt") == null?BigDecimal.ZERO:fundplyentry.get(4).getBigDecimal("zcgj_cashamt");
BigDecimal zcgjBankamt4 = fundplyentry.get(4).getBigDecimal("zcgj_bankamt") == null?BigDecimal.ZERO:fundplyentry.get(4).getBigDecimal("zcgj_bankamt");
BigDecimal zcgjBusinessamt4 = fundplyentry.get(4).getBigDecimal("zcgj_businessamt") == null?BigDecimal.ZERO:fundplyentry.get(4).getBigDecimal("zcgj_businessamt");
BigDecimal zcgjSupplyamt4 = fundplyentry.get(4).getBigDecimal("zcgj_supplyamt") == null?BigDecimal.ZERO: fundplyentry.get(4).getBigDecimal("zcgj_supplyamt") ;
BigDecimal zcgjOtheramt4 = fundplyentry.get(4).getBigDecimal("zcgj_otheramt")== null?BigDecimal.ZERO:fundplyentry.get(4).getBigDecimal("zcgj_otheramt");
BigDecimal zcgjCashamt5 = fundplyentry.get(5).getBigDecimal("zcgj_cashamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_cashamt");
BigDecimal zcgjBankamt5 = fundplyentry.get(5).getBigDecimal("zcgj_bankamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_bankamt");
BigDecimal zcgjBusinessamt5 = fundplyentry.get(5).getBigDecimal("zcgj_businessamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_businessamt");
BigDecimal zcgjSupplyamt5 = fundplyentry.get(5).getBigDecimal("zcgj_supplyamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_supplyamt");
BigDecimal zcgjOtheramt5 = fundplyentry.get(5).getBigDecimal("zcgj_otheramt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_otheramt");
BigDecimal zcgjCashamt3 = fundplyentry.get(3).getBigDecimal("zcgj_cashamt")== null?BigDecimal.ZERO:fundplyentry.get(3).getBigDecimal("zcgj_cashamt");
BigDecimal zcgjBankamt3 = fundplyentry.get(3).getBigDecimal("zcgj_bankamt")== null?BigDecimal.ZERO:fundplyentry.get(3).getBigDecimal("zcgj_bankamt");
BigDecimal zcgjBusinessamt3 = fundplyentry.get(3).getBigDecimal("zcgj_businessamt")== null?BigDecimal.ZERO:fundplyentry.get(3).getBigDecimal("zcgj_businessamt");
BigDecimal zcgjSupplyamt3 = fundplyentry.get(3).getBigDecimal("zcgj_supplyamt")== null?BigDecimal.ZERO:fundplyentry.get(3).getBigDecimal("zcgj_supplyamt");
BigDecimal zcgjOtheramt3 = fundplyentry.get(3).getBigDecimal("zcgj_otheramt")== null?BigDecimal.ZERO:fundplyentry.get(3).getBigDecimal("zcgj_otheramt");
fundplyentry.get(6).set("zcgj_cashamt",zcgjCashamt4.subtract(zcgjCashamt5).add(zcgjCashamt3));
fundplyentry.get(6).set("zcgj_bankamt",zcgjBankamt4.subtract(zcgjBankamt5).add(zcgjBankamt3));
fundplyentry.get(6).set("zcgj_businessamt",zcgjBusinessamt4.subtract(zcgjBusinessamt5).add(zcgjBusinessamt3));
fundplyentry.get(6).set("zcgj_supplyamt",zcgjSupplyamt4.subtract(zcgjSupplyamt5).add(zcgjSupplyamt3));
fundplyentry.get(6).set("zcgj_otheramt",zcgjOtheramt4.subtract(zcgjOtheramt5).add(zcgjOtheramt3));
BigDecimal allAmt = fundplyentry.get(6).getBigDecimal("zcgj_cashamt")
.add(fundplyentry.get(6).getBigDecimal("zcgj_bankamt"))
.add(fundplyentry.get(6).getBigDecimal("zcgj_businessamt"))
.add(fundplyentry.get(6).getBigDecimal("zcgj_supplyamt"))
.add(fundplyentry.get(6).getBigDecimal("zcgj_otheramt"));
fundplyentry.get(6).set("zcgj_totalamt",allAmt);
this.getView().updateView("zcgj_fundplyentry",rowIndex);
this.getView().updateView("zcgj_fundplyentry",6);
if(rowIndex == 2){
BigDecimal amt = (BigDecimal) changeData.getNewValue();
BigDecimal zcgjCashamt2 = fundplyentry.get(2).getBigDecimal("zcgj_cashamt")== null?BigDecimal.ZERO:fundplyentry.get(2).getBigDecimal("zcgj_cashamt");
BigDecimal zcgjBankamt2 = fundplyentry.get(2).getBigDecimal("zcgj_bankamt")== null?BigDecimal.ZERO:fundplyentry.get(2).getBigDecimal("zcgj_bankamt");
BigDecimal zcgjBusinessamt2 = fundplyentry.get(2).getBigDecimal("zcgj_businessamt")== null?BigDecimal.ZERO:fundplyentry.get(2).getBigDecimal("zcgj_businessamt");
BigDecimal zcgjSupplyamt2 = fundplyentry.get(2).getBigDecimal("zcgj_supplyamt")== null?BigDecimal.ZERO:fundplyentry.get(2).getBigDecimal("zcgj_supplyamt");
BigDecimal zcgjOtheramt2 = fundplyentry.get(2).getBigDecimal("zcgj_otheramt")== null?BigDecimal.ZERO:fundplyentry.get(2).getBigDecimal("zcgj_otheramt");
DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_fin_approved_amount");
for (DynamicObject dynamicObject : zcgjFinApprovedAmount) {
String zcgjSetttype = dynamicObject.getString("zcgj_setttype");
//{"XJ","YHCD","SYCD","GYL","QTJRCP"};
if("XJ".equals(zcgjSetttype)){
dynamicObject.set("zcgj_applymonthamt",zcgjCashamt2);
dynamicObject.set("zcgj_hdamount",zcgjCashamt2);
}else if("YHCD".equals(zcgjSetttype)){
dynamicObject.set("zcgj_applymonthamt",zcgjBankamt2);
dynamicObject.set("zcgj_hdamount",zcgjBankamt2);
}else if("SYCD".equals(zcgjSetttype)){
dynamicObject.set("zcgj_applymonthamt",zcgjBusinessamt2);
dynamicObject.set("zcgj_hdamount",zcgjBusinessamt2);
}else if("GYL".equals(zcgjSetttype)){
dynamicObject.set("zcgj_applymonthamt",zcgjSupplyamt2);
dynamicObject.set("zcgj_hdamount",zcgjSupplyamt2);
}else if("QTJRCP".equals(zcgjSetttype)){
dynamicObject.set("zcgj_applymonthamt",zcgjOtheramt2);
dynamicObject.set("zcgj_hdamount",zcgjOtheramt2);
}
}
getView().updateView("zcgj_fin_approved_amount");
}
}
}

View File

@ -0,0 +1,195 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package zcgj.zcdev.zcdev.pr.plugin.form;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import kd.bos.base.AbstractBasedataController;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.entity.BillEntityType;
import kd.bos.entity.MainEntityType;
import kd.bos.filter.CommonBaseDataFilterColumn;
import kd.bos.form.FormShowParameter;
import kd.bos.form.IFormView;
import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.events.BaseDataCustomControllerEvent;
import kd.bos.form.field.events.BasedataControllerSourceEnum;
import kd.bos.list.BillList;
import kd.bos.mvc.list.ListView;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.MetadataServiceHelper;
import kd.bos.servicehelper.QueryServiceHelper;
import kd.ec.basedata.business.model.cont.ProjectConstant;
import kd.ec.basedata.common.enums.ProjectStatusEnum;
import kd.ec.basedata.common.enums.StatusEnum;
import kd.ec.basedata.common.permission.IIgnoreApp;
import kd.ec.basedata.common.permission.MetaEntityNumberConverter;
import kd.ec.basedata.common.permission.ProjectPermissionHelper;
import kd.ec.basedata.common.utils.MetaDataUtil;
/**
* 工程项目系统代码二开
*/
public class ProjectControllerExt extends AbstractBasedataController implements IIgnoreApp {
public ProjectControllerExt() {
}
public void buildBaseDataCoreFilter(BaseDataCustomControllerEvent event) {
BasedataControllerSourceEnum sourceEnum = event.getSourceEnum();
switch (sourceEnum) {
case F7:
this.buildProjectF7Filter(event);
break;
case FUZZY:
this.buildProjectFuzzyFilter(event);
break;
case COMMON:
this.buildProjectCommonFilter(event);
}
}
protected void buildProjectF7Filter(BaseDataCustomControllerEvent event) {
if (event.getSource() instanceof BillList) {
BillList source = (BillList) event.getSource();
if (!this.needIgnoreForF7(source)) {
String entityNum = MetaDataUtil.getEntityNumByF7BillList(source);
String appId = MetaDataUtil.getAppIdByEntityNum(entityNum);
List<QFilter> qFilters = this.buildQFilter(appId, entityNum);
String parentPageId = source.getView().getFormShowParameter().getParentPageId();
IFormView parentView = source.getView().getViewNoPlugin(parentPageId);
String viewAppId = source.getView().getFormShowParameter().getAppId();
this.projectStatusFilter(entityNum, viewAppId, event);
event.addQFilters(qFilters);
}
}
}
protected void buildProjectFuzzyFilter(BaseDataCustomControllerEvent event) {
if (event.getSource() instanceof BasedataEdit) {
BasedataEdit source = (BasedataEdit) event.getSource();
IFormView billView = source.getView();
List<QFilter> qFilters = this.buildQFilterByView(billView);
String formId = this.getFormIdByView(billView);
String appId = source.getView().getFormShowParameter().getAppId();
this.projectStatusFilter(formId, appId, event);
event.addQFilters(qFilters);
}
}
protected void buildProjectCommonFilter(BaseDataCustomControllerEvent event) {
if (event.getSource() instanceof CommonBaseDataFilterColumn) {
CommonBaseDataFilterColumn source = (CommonBaseDataFilterColumn) event.getSource();
IFormView view = source.getView();
List<QFilter> qFilters = this.buildQFilterByView(view);
event.getQfilters().addAll(qFilters);
String formId = this.getFormIdByView(view);
String appId = view.getFormShowParameter().getAppId();
this.projectStatusFilter(formId, appId, event);
}
}
protected List<QFilter> buildQFilterByView(IFormView view) {
FormShowParameter formShowParameter = view.getFormShowParameter();
String formId = MetaDataUtil.getEntityTypeId(formShowParameter);
String appId = formShowParameter.getAppId();
if (this.needIgnoreForApp(appId)) {
return new ArrayList();
} else {
String convertToEntityNumber = MetaEntityNumberConverter.getInstance().convertToEntityNumber(formId);
if (StringUtils.isNotEmpty(convertToEntityNumber)) {
formId = convertToEntityNumber;
}
return this.buildQFilter(appId, formId);
}
}
protected List<QFilter> buildQFilter(String appId, String entityNum) {
List<QFilter> qFilterList = new ArrayList();
// 注释掉权限过滤相关代码
// Set<Long> allProjectWithPermission = ProjectPermissionHelper.getAllProjectWithPermission(appId, entityNum);
// QFilter idQFilter = new QFilter(ProjectConstant.ID_ENTITY_PK, "in", allProjectWithPermission);
// qFilterList.add(idQFilter);
// 保留状态过滤如果需要
QFilter billStatusFilter = new QFilter("billstatus", "=", StatusEnum.Checked.getValue());
qFilterList.add(billStatusFilter);
return qFilterList;
}
protected String getFormIdByView(IFormView view) {
String formId = view.getFormShowParameter().getFormId();
if (view instanceof ListView) {
formId = ((ListView) view).getBillFormId();
}
return formId;
}
protected void handleCloseAndFinishedProject(IFormView iFormView, String formId, BaseDataCustomControllerEvent event) {
QFilter numberFilter = new QFilter("number", "=", formId);
DynamicObject bosFormMeta = QueryServiceHelper.queryOne("bos_formmeta", "id", new QFilter[]{numberFilter});
if (bosFormMeta == null && formId.endsWith("_mob")) {
formId = formId.substring(0, formId.length() - 4);
}
MainEntityType dataEntityType = MetadataServiceHelper.getDataEntityType(formId);
if (!this.isListView(iFormView) && dataEntityType instanceof BillEntityType) {
event.addQFilter(new QFilter("status", "!=", ProjectStatusEnum.CLOSED.getValue()));
event.addQFilter(new QFilter("status", "!=", ProjectStatusEnum.FINISH.getValue()));
}
}
protected boolean isListView(IFormView iFormView) {
return iFormView instanceof ListView;
}
protected void projectStatusFilter(String formId, String appId, BaseDataCustomControllerEvent event) {
QFilter statusFilter = this.getStatusFilter(formId, appId);
if (statusFilter != null) {
event.addQFilter(statusFilter);
}
}
protected QFilter getStatusFilter(String formId, String appId) {
QFilter statusFilter = null;
if (appId == null) {
return null;
} else {
switch (appId) {
case "ecpf":
case "ecsa":
statusFilter = new QFilter("status", "!=", ProjectStatusEnum.CLOSED.getValue());
break;
case "cont":
case "ecma":
case "ecco":
case "eceq":
case "ecevm":
case "ecin":
case "ecdes":
statusFilter = new QFilter("status", "!=", ProjectStatusEnum.PAUSE.getValue());
default:
if (statusFilter == null) {
statusFilter = new QFilter("status", "!=", ProjectStatusEnum.CLOSED.getValue());
} else {
statusFilter.and(new QFilter("status", "!=", ProjectStatusEnum.CLOSED.getValue()));
}
statusFilter.and(new QFilter("status", "!=", ProjectStatusEnum.FINISH.getValue()));
}
return statusFilter;
}
}
}