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

This commit is contained in:
xiaoshi 2025-07-30 16:05:09 +08:00
commit 8cf40f8cae
5 changed files with 42 additions and 77 deletions

View File

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

View File

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

View File

@ -5,6 +5,7 @@ import kd.bos.bill.BillShowParameter;
import kd.bos.bill.OperationStatus;
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;
@ -14,6 +15,7 @@ import kd.bos.mvc.bill.BillView;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.QueryServiceHelper;
import kd.bos.util.StringUtils;
import kd.sdk.plugin.Plugin;
import java.util.ArrayList;
@ -58,64 +60,20 @@ public class PaymentapplyGeneralPlugin extends AbstractBillPlugIn implements Plu
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String name = e.getProperty().getName();
/*if("person".equals(name)){
String billFormId = ((BillView) this.getView()).getFormId();//单据标识
if("ec_paymentapply".equals(billFormId)) {//付款申请单
String name = e.getProperty().getName();
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);
List<Long> orgsUserJoin = UserServiceHelper.getOrgsUserJoin(userid);
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");
if("paymenttype".equals(name)){
int rowIndex = e.getChangeSet()[0].getRowIndex();
DynamicObject dataEntity = this.getModel().getDataEntity(true);
DynamicObjectCollection entryentity = (DynamicObjectCollection)dataEntity.get("entryentity");
if(entryentity != null){
entryentity.get(rowIndex).set("zcgj_expenseitem", null);
this.getView().updateView("zcgj_expenseitem",rowIndex);
}
}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
@ -139,26 +97,29 @@ public class PaymentapplyGeneralPlugin extends AbstractBillPlugIn implements Plu
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");
if (dynamicObjectCollection != null) {
String paymenttype = dynamicObjectCollection.get(row).getString("paymenttype");//支付类型
List<String> numbers = new ArrayList<>();
QFilter biztypefilter = null;
if("PREPAYMENT".equals(paymenttype)){
QFilter biztypefilter = new QFilter("zcgj_biztype", QCP.equals, "50"); //过滤业务单据为支出财务确认单
//分录过滤
//使用BusinessDataServiceHelper.load查出来的数据返回的是符合条件的整单即使只有分录中的某一行符合条件也会返回整张单包括其他分录行的数据
//使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行不含其他行数据
DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee",
"zcgj_entryentity.zcgj_fee.number", new QFilter[]{biztypefilter});//费用与科目分类单
List<String> numbers = new ArrayList<>();
if (accountfeeEntries != null) {
for (DynamicObject dynamicObject : accountfeeEntries) {
String zcgjAccounttypeNumber = dynamicObject.getString("zcgj_entryentity.zcgj_fee.number");
if (zcgjAccounttypeNumber != null) {
numbers.add(zcgjAccounttypeNumber);
}
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",
"zcgj_entryentity.zcgj_fee.number", new QFilter[]{biztypefilter});//费用与科目分类单
if (accountfeeEntries != null) {
for (DynamicObject dynamicObject : accountfeeEntries) {
String zcgjAccounttypeNumber = dynamicObject.getString("zcgj_entryentity.zcgj_fee.number");
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_currency",inContractSettle.getDynamicObject("currency"));
inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg"));
// getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer"));
inFinaceconfirm.set("zcgj_jscustomer",inContractSettle.getDynamicObject("zcgj_jscustomer"));
inFinaceconfirm.set("billstatus","A");
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_currency",inContractSettle.getDynamicObject("currency"));
inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg"));
// getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer"));
inFinaceconfirm.set("zcgj_jscustomer",inContractSettle.getDynamicObject("zcgj_jscustomer"));
inFinaceconfirm.set("billstatus","C");
inFinaceconfirm.set("zcgj_is_invalid",true);
inFinaceconfirm.set("creator",inContractSettle.getDynamicObject("creator"));