Compare commits

..

No commits in common. "e370c05eba395f859cee52e3ef9cee55674cb2c7" and "1afa5214717ca9fd0f3fc535752e621651e3694c" have entirely different histories.

5 changed files with 77 additions and 42 deletions

View File

@ -281,10 +281,8 @@ public class InContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn im
for(int i = selRows.length - 1; i >= 0; --i) { for(int i = selRows.length - 1; i >= 0; --i) {
int rowIndex = selRows[i]; int rowIndex = selRows[i];
DynamicObject invoice = (DynamicObject)this.getModel().getValue("zcgj_invoice", rowIndex); DynamicObject invoice = (DynamicObject)this.getModel().getValue("zcgj_invoice", rowIndex);
if (invoice != null) { updateInvoicePks.add(invoice.getPkValue());
updateInvoicePks.add(invoice.getPkValue()); delPks[i] = ((DynamicObject)subEntryEntityCol.get(selRows[i])).getPkValue();
delPks[i] = ((DynamicObject)subEntryEntityCol.get(selRows[i])).getPkValue();
}
this.getModel().deleteEntryRow("zcgj_entryentity", rowIndex); this.getModel().deleteEntryRow("zcgj_entryentity", rowIndex);
} }

View File

@ -284,10 +284,8 @@ public class OutContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i
for(int i = selRows.length - 1; i >= 0; --i) { for(int i = selRows.length - 1; i >= 0; --i) {
int rowIndex = selRows[i]; int rowIndex = selRows[i];
DynamicObject invoice = (DynamicObject)this.getModel().getValue("zcgj_invoice", rowIndex); DynamicObject invoice = (DynamicObject)this.getModel().getValue("zcgj_invoice", rowIndex);
if(invoice!=null){ updateInvoicePks.add(invoice.getPkValue());
updateInvoicePks.add(invoice.getPkValue()); delPks[i] = ((DynamicObject)subEntryEntityCol.get(selRows[i])).getPkValue();
delPks[i] = ((DynamicObject)subEntryEntityCol.get(selRows[i])).getPkValue();
}
this.getModel().deleteEntryRow("zcgj_entryentity", rowIndex); this.getModel().deleteEntryRow("zcgj_entryentity", rowIndex);
} }

View File

@ -5,7 +5,6 @@ import kd.bos.bill.BillShowParameter;
import kd.bos.bill.OperationStatus; import kd.bos.bill.OperationStatus;
import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.events.BeforeF7SelectEvent; import kd.bos.form.field.events.BeforeF7SelectEvent;
@ -15,7 +14,6 @@ import kd.bos.mvc.bill.BillView;
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.QueryServiceHelper; import kd.bos.servicehelper.QueryServiceHelper;
import kd.bos.util.StringUtils;
import kd.sdk.plugin.Plugin; import kd.sdk.plugin.Plugin;
import java.util.ArrayList; import java.util.ArrayList;
@ -60,20 +58,64 @@ public class PaymentapplyGeneralPlugin extends AbstractBillPlugIn implements Plu
@Override @Override
public void propertyChanged(PropertyChangedArgs e) { public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e); super.propertyChanged(e);
String billFormId = ((BillView) this.getView()).getFormId();//单据标识 String name = e.getProperty().getName();
if("ec_paymentapply".equals(billFormId)) {//付款申请单 /*if("person".equals(name)){
String name = e.getProperty().getName();
ChangeData changeData = e.getChangeSet()[0];//获取改变的数据 ChangeData changeData = e.getChangeSet()[0];//获取改变的数据
if("paymenttype".equals(name)){ DynamicObject oldValue = (DynamicObject) changeData.getOldValue();
int rowIndex = e.getChangeSet()[0].getRowIndex(); DynamicObject newValue = (DynamicObject) changeData.getNewValue();
DynamicObject dataEntity = this.getModel().getDataEntity(true); if(newValue !=null){
DynamicObjectCollection entryentity = (DynamicObjectCollection)dataEntity.get("entryentity"); long userid = newValue.getLong("id");
if(entryentity != null){ long mainOrgId = UserServiceHelper.getUserMainOrgId(userid);
entryentity.get(rowIndex).set("zcgj_expenseitem", null); List<Long> orgsUserJoin = UserServiceHelper.getOrgsUserJoin(userid);
this.getView().updateView("zcgj_expenseitem",rowIndex); DynamicObject org = (DynamicObject) this.getModel().getValue("fiaccountorg");
if(org!=null && orgsUserJoin!=null && !orgsUserJoin.isEmpty()){
Set<Long> collect = new HashSet<>(orgsUserJoin);
if(collect.contains(org.getLong("id"))){
this.getModel().setValue("zcgj_persondepart", org.getLong("id"));
this.getView().updateView("zcgj_persondepart");
}else{
this.getModel().setValue("zcgj_persondepart", mainOrgId);
this.getView().updateView("zcgj_persondepart");
}
}else{
this.getModel().setValue("zcgj_persondepart", mainOrgId);
this.getView().updateView("zcgj_persondepart");
} }
}else{
this.getView().showErrorNotification("申请人不能为空");
} }
} }*/
/*else if("fiaccountorg".equals(name)){
ChangeData changeData = e.getChangeSet()[0];//获取改变的数据
DynamicObject oldValue = (DynamicObject) changeData.getOldValue();
DynamicObject newValue = (DynamicObject) changeData.getNewValue();
if(newValue !=null){
DynamicObject person = this.getModel().getDataEntity().getDynamicObject("person");
long userid = person.getLong("id");
long mainOrgId = UserServiceHelper.getUserMainOrgId(userid);
List<Long> orgsUserJoin = UserServiceHelper.getOrgsUserJoin(userid);
List<Long> allDepartment = UserServiceHelper.getAllDepartmentByUserId(userid);
HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(userid,false);
List<Long> hasPermOrgs = userHasPermOrgs.getHasPermOrgs();
List<Long> userDepartment = UserServiceHelper.getUserDepartment(userid, false);
if(hasPermOrgs!=null && !hasPermOrgs.isEmpty()){
Set<Long> collect = new HashSet<>(hasPermOrgs);
if(collect.contains(newValue.getLong("id"))){
this.getModel().setValue("zcgj_persondepart", newValue.getLong("id"));
this.getView().updateView("zcgj_persondepart");
}else{
this.getModel().setValue("zcgj_persondepart", mainOrgId);
this.getView().updateView("zcgj_persondepart");
}
}else{
this.getModel().setValue("zcgj_persondepart", mainOrgId);
this.getView().updateView("zcgj_persondepart");
}
}else{
this.getView().showErrorNotification("所属组织不能为空!");
}
}*/
} }
@Override @Override
@ -97,29 +139,26 @@ public class PaymentapplyGeneralPlugin extends AbstractBillPlugIn implements Plu
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity"); DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");
if (dynamicObjectCollection != null) { if (dynamicObjectCollection != null) {
String paymenttype = dynamicObjectCollection.get(row).getString("paymenttype");//支付类型 String paymenttype = dynamicObjectCollection.get(row).getString("paymenttype");//支付类型
List<String> numbers = new ArrayList<>();
QFilter biztypefilter = null;
if("PREPAYMENT".equals(paymenttype)){ if("PREPAYMENT".equals(paymenttype)){
biztypefilter= new QFilter("zcgj_biztype", QCP.equals, "50"); QFilter biztypefilter = new QFilter("zcgj_biztype", QCP.equals, "50"); //过滤业务单据为支出财务确认单
}else{ //分录过滤
biztypefilter = new QFilter("zcgj_biztype", QCP.not_equals, "50"); //使用BusinessDataServiceHelper.load查出来的数据返回的是符合条件的整单即使只有分录中的某一行符合条件也会返回整张单包括其他分录行的数据
} //使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行不含其他行数据
//分录过滤 DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee",
//使用BusinessDataServiceHelper.load查出来的数据返回的是符合条件的整单即使只有分录中的某一行符合条件也会返回整张单包括其他分录行的数据 "zcgj_entryentity.zcgj_fee.number", new QFilter[]{biztypefilter});//费用与科目分类单
//使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行不含其他行数据 List<String> numbers = new ArrayList<>();
DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee", if (accountfeeEntries != null) {
"zcgj_entryentity.zcgj_fee.number", new QFilter[]{biztypefilter});//费用与科目分类单 for (DynamicObject dynamicObject : accountfeeEntries) {
if (accountfeeEntries != null) { String zcgjAccounttypeNumber = dynamicObject.getString("zcgj_entryentity.zcgj_fee.number");
for (DynamicObject dynamicObject : accountfeeEntries) { if (zcgjAccounttypeNumber != null) {
String zcgjAccounttypeNumber = dynamicObject.getString("zcgj_entryentity.zcgj_fee.number"); numbers.add(zcgjAccounttypeNumber);
if (zcgjAccounttypeNumber != null) { }
numbers.add(zcgjAccounttypeNumber);
} }
} }
QFilter qFilter = new QFilter("number", QCP.in, numbers);
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
formShowParameter.getListFilterParameter().getQFilters().add(qFilter);
} }
QFilter qFilter = new QFilter("number", QCP.in, numbers);
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
formShowParameter.getListFilterParameter().getQFilters().add(qFilter);
} }
} }

View File

@ -44,7 +44,7 @@ public class InContractSettleFiConfirmWorkFlowPlugin implements IWorkflowPlugin
inFinaceconfirm.set("zcgj_description",inContractSettle.getString("description")); inFinaceconfirm.set("zcgj_description",inContractSettle.getString("description"));
inFinaceconfirm.set("zcgj_currency",inContractSettle.getDynamicObject("currency")); inFinaceconfirm.set("zcgj_currency",inContractSettle.getDynamicObject("currency"));
inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg")); inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg"));
inFinaceconfirm.set("zcgj_jscustomer",inContractSettle.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")); inFinaceconfirm.set("creator",inContractSettle.getDynamicObject("creator"));

View File

@ -44,7 +44,7 @@ public class InContractSettleInvalidWorkFlowPlugin implements IWorkflowPlugin {
inFinaceconfirm.set("zcgj_description",inContractSettle.getString("description")); inFinaceconfirm.set("zcgj_description",inContractSettle.getString("description"));
inFinaceconfirm.set("zcgj_currency",inContractSettle.getDynamicObject("currency")); inFinaceconfirm.set("zcgj_currency",inContractSettle.getDynamicObject("currency"));
inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg")); inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg"));
inFinaceconfirm.set("zcgj_jscustomer",inContractSettle.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")); inFinaceconfirm.set("creator",inContractSettle.getDynamicObject("creator"));