优化代码 解决合同计量行带出有误的问题
This commit is contained in:
parent
fed724c980
commit
e19f96774d
|
@ -6,6 +6,7 @@ import kd.bos.dataentity.entity.DynamicObject;
|
|||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||
import kd.bos.entity.operate.result.OperationResult;
|
||||
import kd.bos.form.control.Button;
|
||||
import kd.bos.form.control.Control;
|
||||
import kd.bos.form.control.events.BeforeClickEvent;
|
||||
import kd.bos.form.control.events.BeforeItemClickEvent;
|
||||
|
@ -41,8 +42,10 @@ public class ContractSettleBillPlugin extends AbstractBillPlugIn implements Plug
|
|||
public void registerListener(EventObject e) {
|
||||
super.registerListener(e);
|
||||
// 注册按钮点击事件
|
||||
this.addClickListeners("bar_audit");
|
||||
this.addItemClickListeners("bar_audit");
|
||||
// this.addClickListeners("bar_audit");
|
||||
// this.addItemClickListeners("bar_audit");
|
||||
// Button button = this.getView().getControl("bar_audit");
|
||||
// button.addClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -54,13 +57,15 @@ public class ContractSettleBillPlugin extends AbstractBillPlugIn implements Plug
|
|||
@Override
|
||||
public void click(EventObject evt) {
|
||||
super.click(evt);
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeItemClick(BeforeItemClickEvent evt) {
|
||||
super.beforeItemClick(evt);
|
||||
Control source = (Control) evt.getSource();
|
||||
if (StringUtils.equals("bar_audit", source.getKey())) {
|
||||
String key = source.getKey();
|
||||
if (StringUtils.equals("bar_audit", key)) {
|
||||
// 在此添加业务逻辑
|
||||
Object changetype = this.getModel().getValue("changetype");
|
||||
if (changetype != null) {
|
||||
|
|
|
@ -1,20 +1,45 @@
|
|||
package zcgj.zcdev.zcdev.pr.plugin.form;
|
||||
|
||||
import kd.bos.entity.tree.TreeNode;
|
||||
import kd.bos.form.FormShowParameter;
|
||||
import kd.bos.form.IPageCache;
|
||||
import kd.bos.form.control.TreeView;
|
||||
import kd.ec.basedata.common.enums.ResourceTypeEnum;
|
||||
import kd.ec.basedata.formplugin.ResourceFilterPlugin;
|
||||
import kd.ec.basedata.formplugin.ResourceItemListPlugin;
|
||||
|
||||
import java.util.EventObject;
|
||||
import java.util.Map;
|
||||
|
||||
public class ResourceFilterExtPlugin extends ResourceItemListPlugin {
|
||||
@Override
|
||||
public void beforeBindData(EventObject e) {
|
||||
// super.afterBindData(e);
|
||||
FormShowParameter formShowParameter = this.getView().getFormShowParameter();
|
||||
Map<String, Object> customParams = formShowParameter.getCustomParams();
|
||||
Object contractType = customParams.get("contractType");
|
||||
String firstOpen = this.getPageCache().get("firstOpen");
|
||||
if (firstOpen != null) {
|
||||
// this.getPageCache().put("firstOpen", "false");
|
||||
this.getPageCache().remove("firstOpen");
|
||||
|
||||
if (contractType != null) {
|
||||
if (contractType.toString().equals("wzcg")) {//物资采购
|
||||
this.setResourceTypeStyle("material");
|
||||
this.afterSelectedTag("material");
|
||||
} else if (contractType.toString().equals("sbcg")) {//设备采购
|
||||
this.setResourceTypeStyle("equipment");
|
||||
this.afterSelectedTag("equipment");
|
||||
}else if (contractType.toString().equals("qtcc") || contractType.toString().equals("lwlcc")) {//产出物
|
||||
this.setResourceTypeStyle("turnover");
|
||||
this.afterSelectedTag("turnover");
|
||||
}
|
||||
}
|
||||
}else{
|
||||
this.getPageCache().put("firstOpen","false");
|
||||
}
|
||||
|
||||
System.out.println();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterBindData(EventObject e) {
|
||||
super.afterBindData(e);
|
||||
FormShowParameter formShowParameter = this.getView().getFormShowParameter();
|
||||
Map<String, Object> customParams = formShowParameter.getCustomParams();
|
||||
Object contractType = customParams.get("contractType");
|
||||
|
@ -25,24 +50,14 @@ public class ResourceFilterExtPlugin extends ResourceItemListPlugin {
|
|||
if (contractType.toString().equals("wzcg")) {//物资采购
|
||||
this.getView().setVisible(true, new String[]{"flexpanelmaterial"});
|
||||
this.getView().setVisible(false, new String[]{"flexpanelsub", "flexpanellabour", "flexpanelcomposite", "flexpanelequipment", "flexpanelturnover","flexpanelother"});
|
||||
this.setResourceTypeStyle("material");
|
||||
this.afterSelectedTag("material");
|
||||
} else if (contractType.toString().equals("cs2")) {//设备采购
|
||||
} else if (contractType.toString().equals("sbcg")) {//设备采购
|
||||
this.getView().setVisible(true, new String[]{"flexpanelequipment"});
|
||||
this.getView().setVisible(false, new String[]{"flexpanelsub", "flexpanellabour", "flexpanelcomposite", "flexpanelmaterial", "flexpanelturnover","flexpanelother"});
|
||||
this.setResourceTypeStyle("equipment");
|
||||
this.afterSelectedTag("equipment");
|
||||
}else if (contractType.toString().equals("qtcc") || contractType.toString().equals("lwlcc")) {//产出物
|
||||
this.getView().setVisible(true, new String[]{"flexpanelturnover"});
|
||||
this.getView().setVisible(false, new String[]{"flexpanelsub", "flexpanellabour", "flexpanelcomposite", "flexpanelequipment", "flexpanelmaterial","flexpanelother"});
|
||||
this.setResourceTypeStyle("turnover");
|
||||
this.afterSelectedTag("turnover");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
package zcgj.zcdev.zcdev.pr.plugin.operate;
|
||||
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.entity.operate.result.OperationResult;
|
||||
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
|
||||
public class ContractSettleOp extends AbstractOperationServicePlugIn {
|
||||
|
||||
@Override
|
||||
public void onAddValidators(AddValidatorsEventArgs e) {
|
||||
super.onAddValidators(e);
|
||||
DynamicObject[] dataEntities1 = e.getDataEntities();
|
||||
DynamicObject object = dataEntities1[0];
|
||||
Object changetype = object.getString("changetype");
|
||||
if (changetype != null) {
|
||||
if (changetype.toString().equals("03")) {
|
||||
DynamicObject contract = object.getDynamicObject("contract");
|
||||
String billName = contract.getDataEntityType().getName();
|
||||
DynamicObject zcgjpartb = object.getDynamicObject("zcgj_partb");
|
||||
DynamicObjectCollection zcgjOtherpart = object.getDynamicObjectCollection("zcgj_otherpart");
|
||||
if (billName.equals("ec_out_contract_f7")) {
|
||||
QFilter f1 = new QFilter("number", "=", contract.getString("number"));
|
||||
DynamicObject outContractF7 = BusinessDataServiceHelper.loadSingle("ec_out_contract_f7", new QFilter[]{f1});
|
||||
outContractF7.set("partb", zcgjpartb);
|
||||
OperationResult saveOperationResult = SaveServiceHelper.saveOperate("ec_out_contract_f7", new DynamicObject[]{outContractF7}, null);//支出合同F7实体
|
||||
|
||||
QFilter f2 = new QFilter("billno", "=", contract.getString("number"));
|
||||
DynamicObject outContract = BusinessDataServiceHelper.loadSingle("ec_out_contract", new QFilter[]{f2});
|
||||
outContract.set("partb", zcgjpartb);
|
||||
if (zcgjOtherpart != null) {
|
||||
// DynamicObjectCollection otherpart = (DynamicObjectCollection) this.getModel().getValue("zcgj_otherpart");
|
||||
outContract.set("otherpart", zcgjOtherpart);
|
||||
outContract.set("ismulticontract", true);
|
||||
}
|
||||
OperationResult saveOperationResult1 = SaveServiceHelper.saveOperate("ec_out_contract", new DynamicObject[]{outContractF7}, null);//支出合同实体
|
||||
System.out.println(saveOperationResult1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -29,20 +29,22 @@ public class InContractSettlementValidator extends InContractSettleValidator {
|
|||
long id = dataEntity.getDataEntity().getLong("id");
|
||||
QFilter f1 = new QFilter("id", "=", id);
|
||||
DynamicObject incontractsettle = BusinessDataServiceHelper.loadSingle("ec_in_contract_settle", new QFilter[]{f1});
|
||||
DynamicObjectCollection itementry = incontractsettle.getDynamicObjectCollection("itementry");
|
||||
if(itementry == null) {
|
||||
if(itementry.isEmpty()) {
|
||||
this.addErrorMessage(dataEntity, ResManager.loadKDString("支付合同项不能为空", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0]));
|
||||
}
|
||||
DynamicObject contract = BusinessDataServiceHelper.loadSingle(dataEntity.getDataEntity().getDynamicObject("contract").getPkValue(), "ec_in_contract");
|
||||
BigDecimal totalSettleOfTaxAmount = contract.getBigDecimal("totalsettleoftaxamount");
|
||||
BigDecimal totalOfTaxAmount = contract.getBigDecimal("totaloftaxamount");
|
||||
DynamicObject contractType = contract.getDynamicObject("contracttype");
|
||||
DynamicObject contractAttr = contractType == null ? null : contractType.getDynamicObject("contattr");
|
||||
boolean validateAmount = true;
|
||||
if (contractAttr != null) {
|
||||
contractAttr = BusinessDataServiceHelper.loadSingle(contractAttr.getPkValue(), "ec_contattr");
|
||||
validateAmount = !StringUtils.equals("09", contractAttr.getString("basictype"));
|
||||
if(incontractsettle!=null){
|
||||
DynamicObjectCollection itementry = incontractsettle.getDynamicObjectCollection("itementry");
|
||||
if(itementry == null) {
|
||||
if(itementry.isEmpty()) {
|
||||
this.addErrorMessage(dataEntity, ResManager.loadKDString("支付合同项不能为空", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0]));
|
||||
}
|
||||
DynamicObject contract = BusinessDataServiceHelper.loadSingle(dataEntity.getDataEntity().getDynamicObject("contract").getPkValue(), "ec_in_contract");
|
||||
BigDecimal totalSettleOfTaxAmount = contract.getBigDecimal("totalsettleoftaxamount");
|
||||
BigDecimal totalOfTaxAmount = contract.getBigDecimal("totaloftaxamount");
|
||||
DynamicObject contractType = contract.getDynamicObject("contracttype");
|
||||
DynamicObject contractAttr = contractType == null ? null : contractType.getDynamicObject("contattr");
|
||||
boolean validateAmount = true;
|
||||
if (contractAttr != null) {
|
||||
contractAttr = BusinessDataServiceHelper.loadSingle(contractAttr.getPkValue(), "ec_contattr");
|
||||
validateAmount = !StringUtils.equals("09", contractAttr.getString("basictype"));
|
||||
}
|
||||
}
|
||||
}
|
||||
// DynamicObjectCollection payitemdetailap = incontractsettle.getDynamicObjectCollection("payitemdetailap");
|
||||
|
|
Loading…
Reference in New Issue