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

This commit is contained in:
xiaoshi 2025-06-27 15:22:14 +08:00
commit 87a7082151
15 changed files with 374 additions and 33 deletions

View File

@ -0,0 +1,68 @@
package zcgj.zcdev.zcdev.fs.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.IClientViewProxy;
import kd.bos.form.control.AttachmentPanel;
import kd.bos.form.control.events.AttachmentOperaClickListener;
import kd.bos.form.events.AfterDoOperationEventArgs;
import kd.bos.mvc.form.ClientViewProxy;
import java.util.EventObject;
import java.util.List;
import java.util.Map;
public class ApplicationfundsPlugin extends AbstractBillPlugIn implements AttachmentOperaClickListener {
@Override
public void registerListener(EventObject e) {
AttachmentPanel panel = getControl("zcgj_attachmentpanelap");
panel.addOperaClickListener(this);;
super.registerListener(e);
}
@Override
public void afterBindData(EventObject e) {
setAttFileVisble();//隐藏删除按钮
super.afterBindData(e);
}
@Override
public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
setAttFileVisble();
super.afterDoOperation(afterDoOperationEventArgs);
}
@Override
public void propertyChanged(PropertyChangedArgs e) {
if (e.getProperty().getName().equals("zcgj_attachmentcount")) {
setAttFileVisble();
}
super.propertyChanged(e);
}
private void setAttFileVisble() {
String billstatus = String.valueOf(this.getModel().getValue("status"));
if (!billstatus.equals("A")) {
AttachmentPanel attachmentPanel = this.getControl("zcgj_attachmentpanelap");
List<Map<String, Object>> attachmentData = attachmentPanel.getAttachmentData();
if(attachmentData == null && attachmentData.isEmpty()){
return;
}
List<Map<String, Object>> attachmentDatas = attachmentPanel.getAttachmentData();
for(Map<String, Object> attachmentMap : attachmentDatas){
String visiablePreview = "1";//是否显示预览按钮
String visiableDownload = "1";//是否显示下载按钮
String visiableRename = "1";//是否显示重命名按钮
String visiableDelete = "0";//是否显示删除按钮
//visible参数规则为01组成,0代表不可见,1代表可见
attachmentMap.put("visible",visiablePreview + visiableDownload + visiableRename+visiableDelete);
//attachmentMap.put("hiddenBtn",hiddenBtnList);
}
ClientViewProxy cvp = this.getView().getService(IClientViewProxy.class);
cvp.setFieldProperty("zcgj_attachmentpanelap","v",attachmentDatas);
}
}
}

View File

@ -0,0 +1,103 @@
package zcgj.zcdev.zcdev.fs.plugin.form;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.entity.datamodel.IDataModel;
import kd.bos.form.IFormView;
import kd.bos.form.control.Control;
import kd.bos.form.control.events.BeforeClickEvent;
import kd.bos.form.control.events.BeforeItemClickEvent;
import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.ssc.task.formplugin.util.VoucherUtil;
import java.util.EventObject;
import java.util.Map;
import java.util.Set;
/**
* 我的共享任务审批时增加付款完成校验
*/
public class TaskApproveFormCkPlugin extends AbstractFormPlugin {
//
public void registerListener(EventObject evt) {
this.addClickListeners(new String[]{"submit", "submitandnext"});
}
@Override
public void beforeItemClick(BeforeItemClickEvent evt) {
super.beforeItemClick(evt);
}
@Override
public void beforeClick(BeforeClickEvent evt) {
super.beforeClick(evt);
Control control = (Control)evt.getSource();
String fieldKey = control.getKey();
if (StringUtils.equals(fieldKey, "submit")
|| StringUtils.equals(fieldKey, "submitandnext")) {
IFormView view = this.getView();
Map<String, Object> customParams = view.getFormShowParameter().getCustomParams();
Long billtypeid = 0L;
Long tasktypeid = 0L;
Long sscid = 0L;
String billnumber = "";
String billid = "";
String billNo = null;
if (customParams != null) {
billtypeid = (Long)customParams.get("billtypeid");//单据类型id
tasktypeid = (Long)customParams.get("tasktypeid");//任务类型id
sscid = (Long)customParams.get("sscid");//任务类型id
billnumber = (String)customParams.get("billnumber");//单据编码单据标识 entityName
billid = (String)customParams.get("billid");//业务单据id
billNo = VoucherUtil.getTaskBillNo(billid);//业务单据编号
IDataModel model = this.getModel();
String operation = (String)model.getValue("operationgroupfield");
if ("1".equals(operation)) { //如果审批操作是通过
QFilter tasktypeFilter = new QFilter("orgfield.id", QCP.equals,sscid);
tasktypeFilter.and(new QFilter("tasklevel", QCP.equals,"2"));//任务类型为结算时
DynamicObject[] tasktypeArray = BusinessDataServiceHelper.load("task_tasktype", "id", new QFilter[]{tasktypeFilter});
if(tasktypeArray != null && tasktypeArray.length > 0){
DynamicObject tasktype = tasktypeArray[0];
if(tasktypeid.getLong("id") == tasktype.getLong("id")) {
if(StringUtils.isNotBlank(billNo) && StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(billnumber) ) {
QFilter accountTableFilter = new QFilter("id", QCP.equals,Long.valueOf(billid));
DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(billnumber, new QFilter[]{accountTableFilter});
String billstatus = sourceBillObject.getString("billstatus");
if(!"G".equals(billstatus)) {
if("er_repaymentbill".equals(billnumber)) {
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的收款未完成,请完成收款后提交。"));
evt.setCancel(true);
}else if(
"er_dailyreimbursebill".equals(billnumber) || //费用报销单
"er_publicreimbursebill".equals(billnumber) || //对公报销的呢
"er_tripreimbursebill".equals(billnumber) || //差旅报销单
"er_dailyloanbill".equals(billnumber) || //借款单
"er_prepaybill".equals(billnumber) || //预付单
"er_applypaybill".equals(billnumber) || //付款申请单
"cas_paybill".equals(billnumber) //付款处理单
){
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的付款未完成,请完成付款后提交。"));
evt.setCancel(true);
}
}
}
}
}
}
}
//System.out.println(billtypeid);
//System.out.println(tasktypeid);
//System.out.println(billnumber);
//System.out.println(billid);
//System.out.println(billNo);
}
}
}

View File

@ -69,7 +69,7 @@ public class TaskListPayStatusCkOp extends AbstractOperationServicePlugIn {
DynamicObject tasktypeid = dataEntity.getDynamicObject("tasktypeid"); DynamicObject tasktypeid = dataEntity.getDynamicObject("tasktypeid");
DynamicObject sscid = dataEntity.getDynamicObject("sscid"); DynamicObject sscid = dataEntity.getDynamicObject("sscid");
QFilter tasktypeFilter = new QFilter("orgfield.id", QCP.equals,sscid.getLong("id")); QFilter tasktypeFilter = new QFilter("orgfield.id", QCP.equals,sscid.getLong("id"));
tasktypeFilter.and(new QFilter("tasklevel", QCP.equals,"2")); tasktypeFilter.and(new QFilter("tasklevel", QCP.equals,"2"));//任务类型为结算时
DynamicObject[] tasktypeArray = BusinessDataServiceHelper.load("task_tasktype", "id", new QFilter[]{tasktypeFilter}); DynamicObject[] tasktypeArray = BusinessDataServiceHelper.load("task_tasktype", "id", new QFilter[]{tasktypeFilter});
if(tasktypeArray != null && tasktypeArray.length > 0){ if(tasktypeArray != null && tasktypeArray.length > 0){
DynamicObject tasktype = tasktypeArray[0]; DynamicObject tasktype = tasktypeArray[0];
@ -84,7 +84,15 @@ public class TaskListPayStatusCkOp extends AbstractOperationServicePlugIn {
if(!"G".equals(billstatus)) { if(!"G".equals(billstatus)) {
if("er_repaymentbill".equals(entityName)) { if("er_repaymentbill".equals(entityName)) {
this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s-%s】的收款未完成请完成收款后操作。",billnumber,subject)); this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s-%s】的收款未完成请完成收款后操作。",billnumber,subject));
}else{ }else if(
"er_dailyreimbursebill".equals(entityName) || //费用报销单
"er_publicreimbursebill".equals(entityName) || //对公报销的呢
"er_tripreimbursebill".equals(entityName) || //差旅报销单
"er_dailyloanbill".equals(entityName) || //借款单
"er_prepaybill".equals(entityName) || //预付单
"er_applypaybill".equals(entityName) || //付款申请单
"cas_paybill".equals(entityName) //付款处理单
) {
this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s-%s】的付款未完成请完成付款后操作。",billnumber,subject)); this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s-%s】的付款未完成请完成付款后操作。",billnumber,subject));
} }
} }

View File

@ -47,4 +47,24 @@ public class OrgCheckUtils {
} }
return false; return false;
} }
/**
* 判断某个组织是否在某个组织下面
* parentOrgNumber 上层组织编码
* currentOrgId 需要判断的组织id
*/
public static boolean isChildrenOrg(String parentOrgNumber,Long currentOrgId){
QFilter filterOrgId = new QFilter("number", QCP.equals,parentOrgNumber);//中材矿山建设有限公司
DynamicObject adminOrg = BusinessDataServiceHelper.loadSingle("bos_org", "number,name,fullname", new QFilter[]{filterOrgId});
long orgId = adminOrg.getLong("id");
List<Long> orgIds = new ArrayList<>(1);
//orgIds.add(1692204547985902592L);
orgIds.add(orgId);
List<Long> subOrgIds = OrgUnitServiceHelper.getAllSubordinateOrgs(1L, orgIds, true);
Set<Long> orgSer = subOrgIds.stream().collect(Collectors.toSet());
if(orgSer.contains(currentOrgId)){
return true;
}
return false;
}
} }

View File

@ -43,7 +43,7 @@ public class ContractProcessRevisionFilterPlugin extends AbstractBillPlugIn impl
if(projectObj!=null){ if(projectObj!=null){
DynamicObject projectInfo = (DynamicObject)projectObj; DynamicObject projectInfo = (DynamicObject)projectObj;
QFilter qFilter = new QFilter("project.id", QCP.equals, projectInfo.getLong("id")); QFilter qFilter = new QFilter("project.id", QCP.equals, projectInfo.getLong("id"));
QFilter treeFilter = new QFilter("number", QCP.equals, projectInfo.getString("number")); QFilter treeFilter = new QFilter("project.number", QCP.equals, projectInfo.getString("number"));
ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
showParameter.getListFilterParameter().getQFilters().add(qFilter); showParameter.getListFilterParameter().getQFilters().add(qFilter);
showParameter.getTreeFilterParameter().getQFilters().add(treeFilter); showParameter.getTreeFilterParameter().getQFilters().add(treeFilter);

View File

@ -61,13 +61,19 @@ public class InContractFinaceConfirmeListPlugin extends AbstractListPlugin imple
@Override @Override
public void filterContainerBeforeF7Select(BeforeFilterF7SelectEvent args) { public void filterContainerBeforeF7Select(BeforeFilterF7SelectEvent args) {
super.filterContainerBeforeF7Select(args); super.filterContainerBeforeF7Select(args);
//获取当前人员有权限的组织 long userId = Long.parseLong(RequestContext.get().getUserId());
HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(Long.parseLong(RequestContext.get().getUserId())); boolean superUser = PermissionServiceHelper.isSuperUser(userId); //判断是否为全功能用户
//有权的组织 boolean adminUser = PermissionServiceHelper.isAdminUser(userId); //判断是否管理员用户
List<Long> hasPermOrgs = userHasPermOrgs.getHasPermOrgs(); if(!superUser && !adminUser){
String fieldName = args.getFieldName(); //获取当前人员有权限的组织
if ("zcgj_org.id".equals(fieldName)) { //HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(userId);
args.getQfilters().add(new QFilter("id", QCP.in, hasPermOrgs)); HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(userId,true);
//有权的组织
List<Long> hasPermOrgs = userHasPermOrgs.getHasPermOrgs();
String fieldName = args.getFieldName();
if ("zcgj_org.id".equals(fieldName)) {
args.getQfilters().add(new QFilter("id", QCP.in, hasPermOrgs));
}
} }
} }

View File

@ -72,13 +72,18 @@ public class OutContractFinaceConfirmeListPlugin extends AbstractListPlugin impl
@Override @Override
public void filterContainerBeforeF7Select(BeforeFilterF7SelectEvent args) { public void filterContainerBeforeF7Select(BeforeFilterF7SelectEvent args) {
super.filterContainerBeforeF7Select(args); super.filterContainerBeforeF7Select(args);
//获取当前人员有权限的组织 long userId = Long.parseLong(RequestContext.get().getUserId());
HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(Long.parseLong(RequestContext.get().getUserId())); boolean superUser = PermissionServiceHelper.isSuperUser(userId); //判断是否为全功能用户
//有权的组织 boolean adminUser = PermissionServiceHelper.isAdminUser(userId); //判断是否管理员用户
List<Long> hasPermOrgs = userHasPermOrgs.getHasPermOrgs(); if(!superUser && !adminUser) {
String fieldName = args.getFieldName(); //获取当前人员有权限的组织
if ("zcgj_org.id".equals(fieldName)) { HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(Long.parseLong(RequestContext.get().getUserId()));
args.getQfilters().add(new QFilter("id", QCP.in, hasPermOrgs)); //有权的组织
List<Long> hasPermOrgs = userHasPermOrgs.getHasPermOrgs();
String fieldName = args.getFieldName();
if ("zcgj_org.id".equals(fieldName)) {
args.getQfilters().add(new QFilter("id", QCP.in, hasPermOrgs));
}
} }
} }

View File

@ -15,6 +15,10 @@ import kd.bos.form.ShowType;
import kd.bos.form.control.EntryGrid; import kd.bos.form.control.EntryGrid;
import kd.bos.form.events.HyperLinkClickEvent; import kd.bos.form.events.HyperLinkClickEvent;
import kd.bos.form.events.HyperLinkClickListener; import kd.bos.form.events.HyperLinkClickListener;
import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.events.BeforeF7SelectEvent;
import kd.bos.form.field.events.BeforeF7SelectListener;
import kd.bos.list.ListShowParameter;
import kd.bos.orm.query.QCP; import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter; import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.BusinessDataServiceHelper;
@ -31,7 +35,7 @@ import java.util.List;
/** /**
* 支出合同确认单插件 * 支出合同确认单插件
*/ */
public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn implements Plugin, HyperLinkClickListener { public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn implements Plugin, HyperLinkClickListener, BeforeF7SelectListener {
@Override @Override
@ -108,6 +112,23 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme
if(newValue!=null){ if(newValue!=null){
initData(newValue.getLong("id")); initData(newValue.getLong("id"));
} }
}else if(StringUtils.equals(name, "zcgj_expenseitem")){ //费用项目发生改变时清空科目分类
int rowIndex = changeData.getRowIndex();
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_expenseitementry");
if(dynamicObjectCollection!=null){
DynamicObject zcgjExpenseitem = dynamicObjectCollection.get(rowIndex).getDynamicObject("zcgj_expenseitem");
QFilter filter = new QFilter("zcgj_entryentity.zcgj_fee",QCP.equals,zcgjExpenseitem.getLong("id"));
//分录过滤
//使用BusinessDataServiceHelper.load查出来的数据返回的是符合条件的整单即使只有分录中的某一行符合条件也会返回整张单包括其他分录行的数据
//使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行不含其他行数据
DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee", "zcgj_entryentity.zcgj_accounttype", new QFilter[]{filter});
if(accountfeeEntries!=null && accountfeeEntries.size()==1){
long id = accountfeeEntries.get(0).getLong("zcgj_entryentity.zcgj_accounttype");
this.getModel().setValue("zcgj_accounttype",id,rowIndex);
}else{
this.getModel().setValue("zcgj_accounttype",null,rowIndex);
}
}
} }
@ -148,6 +169,16 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme
super.registerListener(e); super.registerListener(e);
EntryGrid control = this.getControl("zcgj_entryentity"); EntryGrid control = this.getControl("zcgj_entryentity");
control.addHyperClickListener(this); control.addHyperClickListener(this);
BasedataEdit contractprocess = this.getControl("zcgj_cbs"); //承包工序
if(contractprocess != null) {
contractprocess.addBeforeF7SelectListener(this);
}
BasedataEdit accounttype = this.getControl("zcgj_accounttype"); //科目分类
if(accounttype != null) {
accounttype.addBeforeF7SelectListener(this);
}
} }
@Override @Override
@ -219,4 +250,58 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme
} }
return BigDecimal.ZERO; return BigDecimal.ZERO;
} }
@Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String name = beforeF7SelectEvent.getProperty().getName();
if(name.equals("zcgj_cbs")) {//工序根据项目过滤
Object projectObj = this.getModel().getValue("zcgj_project");
if(projectObj instanceof DynamicObject){
DynamicObject project = (DynamicObject) projectObj;
QFilter qFilter = new QFilter("project.id", QCP.equals, project.getLong("id"));
QFilter treeFilter = new QFilter("project.number", QCP.equals, project.getString("number"));
ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
showParameter.getListFilterParameter().getQFilters().add(qFilter);
showParameter.getTreeFilterParameter().getQFilters().add(treeFilter);
}
}else if(name.equals("zcgj_accounttype")){ //科目分类根据科目分类基础资料过滤
int row = beforeF7SelectEvent.getRow();
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_expenseitementry");
if(dynamicObjectCollection!=null){
DynamicObject zcgjExpenseitem = dynamicObjectCollection.get(row).getDynamicObject("zcgj_expenseitem");
if(zcgjExpenseitem!=null){
QFilter filter = new QFilter("zcgj_entryentity.zcgj_fee",QCP.equals,zcgjExpenseitem.getLong("id"));
//分录过滤
//使用BusinessDataServiceHelper.load查出来的数据返回的是符合条件的整单即使只有分录中的某一行符合条件也会返回整张单包括其他分录行的数据
//使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行不含其他行数据
DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee", "zcgj_entryentity.zcgj_accounttype.number", new QFilter[]{filter});
List<String> numbers = new ArrayList<>();
if(accountfeeEntries!=null){
for (DynamicObject dynamicObject : accountfeeEntries) {
String zcgjAccounttypeNumber = dynamicObject.getString("zcgj_entryentity.zcgj_accounttype.number");
if(zcgjAccounttypeNumber!=null){
numbers.add(zcgjAccounttypeNumber);
}
}
}
QFilter qFilter = new QFilter("number", QCP.in, numbers);
QFilter treeFilter = new QFilter("number", QCP.in, numbers);
ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
showParameter.getListFilterParameter().getQFilters().add(qFilter);
}else{
this.getView().showErrorNotification("请选择费用项目!");
beforeF7SelectEvent.setCancel(true);
}
}
}
}
} }

View File

@ -0,0 +1,53 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.bill.BillShowParameter;
import kd.bos.bill.OperationStatus;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.servicehelper.user.UserServiceHelper;
import kd.sdk.plugin.Plugin;
import java.util.EventObject;
/**
* 1付款申请单通用插件
*/
public class PaymentapplyGeneralPlugin extends AbstractBillPlugIn implements Plugin {
@Override
public void afterBindData(EventObject e) {
super.afterBindData(e);
//如果是新增时
BillShowParameter bsp=(BillShowParameter)this.getView().getFormShowParameter();
if(bsp.getStatus()== OperationStatus.ADDNEW ){
DynamicObject person = this.getModel().getDataEntity().getDynamicObject("person");
if(person!=null){
long mainOrgId = UserServiceHelper.getUserMainOrgId(person.getLong("id"));
this.getModel().setValue("zcgj_persondepart", mainOrgId);
this.getView().updateView("zcgj_persondepart");
}
}
}
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String name = e.getProperty().getName();
if("person".equals(name)){
ChangeData changeData = e.getChangeSet()[0];//获取改变的数据
DynamicObject oldValue = (DynamicObject) changeData.getOldValue();
DynamicObject newValue = (DynamicObject) changeData.getNewValue();
if(newValue !=null){
long userid = newValue.getLong("id");
long mainOrgId = UserServiceHelper.getUserMainOrgId(userid);
this.getModel().setValue("zcgj_persondepart", mainOrgId);
this.getView().updateView("zcgj_persondepart");
}else{
this.getView().showErrorNotification("申请人不能为空");
}
}
}
}

View File

@ -69,7 +69,7 @@ public class PaymentRegisterFundOpExt extends PaymentRegisterFundOp {
DynamicObject paybill = BusinessDataServiceHelper.loadSingle("cas_paybill", "entry,entry.e_corebillentryseq", new QFilter[]{paybillFilter}); DynamicObject paybill = BusinessDataServiceHelper.loadSingle("cas_paybill", "entry,entry.e_corebillentryseq", new QFilter[]{paybillFilter});
Set<Integer> payBillSer = new HashSet<>(); Set<Integer> payBillSer = new HashSet<>();
if(paybill!=null){ if(paybill!=null){
for (DynamicObject dynamicObject : paybill.getDynamicObjectCollection("entry")) { for (DynamicObject dynamicObject : paybill.getDynamicObjectCollection("entry")) {//付款处理单-付款明细分录
int corebillentryseq = dynamicObject.getInt("e_corebillentryseq");//核心单据行号 int corebillentryseq = dynamicObject.getInt("e_corebillentryseq");//核心单据行号
payBillSer.add(corebillentryseq); payBillSer.add(corebillentryseq);
log.info("执行PaymentRegisterFundOpExt付款处理单涉及核心单据行号"+corebillentryseq); log.info("执行PaymentRegisterFundOpExt付款处理单涉及核心单据行号"+corebillentryseq);
@ -109,20 +109,6 @@ public class PaymentRegisterFundOpExt extends PaymentRegisterFundOp {
} else { } else {
paymentEntry.set("completepay", false); paymentEntry.set("completepay", false);
} }
break;
}else if (StringUtils.equals(payType, applyPayType) && payBillSer.contains(seq)){
BigDecimal oldRealPayAmt = paymentEntry.getBigDecimal("thisrealpayamt");
BigDecimal applyOfTaxAmount = paymentEntry.getBigDecimal("applyoftaxamount");
BigDecimal thisRealPayAmt = oldRealPayAmt.add(thisOfTaxAmt);
BigDecimal thisWaitPayAmt = applyOfTaxAmount.subtract(thisRealPayAmt);
paymentEntry.set("thisrealpayamt", thisRealPayAmt);
paymentEntry.set("thiswaitpayamt", thisWaitPayAmt);
if (thisRealPayAmt.compareTo(applyOfTaxAmount) >= 0) {
paymentEntry.set("completepay", true);
} else {
paymentEntry.set("completepay", false);
}
break;
} }
} }

View File

@ -46,6 +46,7 @@ public class InContractSettleFiConfirmWorkFlowPlugin implements IWorkflowPlugin
inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg")); inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg"));
// getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer")); // getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer"));
inFinaceconfirm.set("billstatus","A"); inFinaceconfirm.set("billstatus","A");
inFinaceconfirm.set("creator",inContractSettle.getDynamicObject("creator"));
DynamicObjectCollection itementry = inContractSettle.getDynamicObjectCollection("itementry"); DynamicObjectCollection itementry = inContractSettle.getDynamicObjectCollection("itementry");

View File

@ -47,6 +47,7 @@ public class InContractSettleInvalidWorkFlowPlugin implements IWorkflowPlugin {
// getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer")); // getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer"));
inFinaceconfirm.set("billstatus","C"); inFinaceconfirm.set("billstatus","C");
inFinaceconfirm.set("zcgj_is_invalid",true); inFinaceconfirm.set("zcgj_is_invalid",true);
inFinaceconfirm.set("creator",inContractSettle.getDynamicObject("creator"));
DynamicObjectCollection itementry = inContractSettle.getDynamicObjectCollection("itementry"); DynamicObjectCollection itementry = inContractSettle.getDynamicObjectCollection("itementry");

View File

@ -50,6 +50,7 @@ public class OutContractSettleFiConfirmWorkFlowPlugin implements IWorkflowPlugin
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("zcgj_is_reversabillid",true);
outFinaceconfirm.set("creator",outContractSettle.getDynamicObject("creator"));
DynamicObjectCollection itementry = outContractSettle.getDynamicObjectCollection("itementry"); DynamicObjectCollection itementry = outContractSettle.getDynamicObjectCollection("itementry");
DynamicObjectCollection entryEntity1 = outFinaceconfirm.getDynamicObjectCollection("zcgj_itementry"); DynamicObjectCollection entryEntity1 = outFinaceconfirm.getDynamicObjectCollection("zcgj_itementry");

View File

@ -51,6 +51,7 @@ public class OutContractSettleInvalidWorkFlowPlugin implements IWorkflowPlugin {
outFinaceconfirm.set("zcgj_jscustomer",outContractSettle.getDynamicObject("zcgj_jscustomer")); outFinaceconfirm.set("zcgj_jscustomer",outContractSettle.getDynamicObject("zcgj_jscustomer"));
outFinaceconfirm.set("billstatus","C"); outFinaceconfirm.set("billstatus","C");
outFinaceconfirm.set("zcgj_is_invalid",true); outFinaceconfirm.set("zcgj_is_invalid",true);
outFinaceconfirm.set("creator",outContractSettle.getDynamicObject("creator"));
DynamicObjectCollection entryEntity1 = outFinaceconfirm.getDynamicObjectCollection("zcgj_itementry"); DynamicObjectCollection entryEntity1 = outFinaceconfirm.getDynamicObjectCollection("zcgj_itementry");
entryEntity1.clear(); entryEntity1.clear();

View File

@ -55,6 +55,7 @@ public class OutContractSettleReversalWorkFlowPlugin implements IWorkflowPlugin
inContractSettle.set("isonlist", outContractSettle.getBoolean("isonlist")); inContractSettle.set("isonlist", outContractSettle.getBoolean("isonlist"));
inContractSettle.set("conttotaloftaxamount", outContractSettle.getBoolean("conttotaloftaxamount")); inContractSettle.set("conttotaloftaxamount", outContractSettle.getBoolean("conttotaloftaxamount"));
inContractSettle.set("zcgj_is_reversabillid", true); inContractSettle.set("zcgj_is_reversabillid", true);
inContractSettle.set("creator", outContractSettle.getDynamicObject("creator"));
DynamicObject payitem = BusinessDataServiceHelper.loadSingle("ec_payitem", new QFilter[]{new QFilter("number", QCP.equals,"HTCX")}); DynamicObject payitem = BusinessDataServiceHelper.loadSingle("ec_payitem", new QFilter[]{new QFilter("number", QCP.equals,"HTCX")});
@ -109,6 +110,8 @@ public class OutContractSettleReversalWorkFlowPlugin implements IWorkflowPlugin
outFinaceconfirm.set("zcgj_jscustomer",outContractSettle.getDynamicObject("zcgj_jscustomer")); outFinaceconfirm.set("zcgj_jscustomer",outContractSettle.getDynamicObject("zcgj_jscustomer"));
outFinaceconfirm.set("billstatus","C"); outFinaceconfirm.set("billstatus","C");
outFinaceconfirm.set("zcgj_is_reversabillid",true); outFinaceconfirm.set("zcgj_is_reversabillid",true);
outFinaceconfirm.set("creator",outContractSettle.getDynamicObject("creator"));
outFinaceconfirm.set("zcgj_org",outContractSettle.getDynamicObject("org"));
DynamicObjectCollection entryEntity1 = outFinaceconfirm.getDynamicObjectCollection("zcgj_itementry"); DynamicObjectCollection entryEntity1 = outFinaceconfirm.getDynamicObjectCollection("zcgj_itementry");
entryEntity1.clear(); entryEntity1.clear();