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

This commit is contained in:
xiaoshi 2025-08-21 16:01:40 +08:00
commit 3911f536e9
8 changed files with 344 additions and 7 deletions

View File

@ -34,10 +34,25 @@ public class AssistbalanceAutoData {
Map<String,DynamicObject> orgNumberMap = new HashMap<>();
for (int i = 0; i < load.length; i++) {
DynamicObject dynamicObject = load[i];
orgNumberMap.put(dynamicObject.getString("number"), dynamicObject);
orgIds.add(dynamicObject.getLong("id"));
//orgNumberMap.put(dynamicObject.getString("number"), dynamicObject);
//orgIds.add(dynamicObject.getLong("id"));
}
DynamicObject[] costcompany = BusinessDataServiceHelper.load("zcgj_minecompany", "zcgj_costcompany", new QFilter[]{});
if(costcompany != null){
List<Long> ids = new ArrayList<>();
for (DynamicObject dynamicObject : costcompany) {
DynamicObject minecompany = dynamicObject.getDynamicObject("zcgj_costcompany");
long id = minecompany.getLong("id");
ids.add(id);
}
QFilter idFilter = new QFilter("id", QCP.in, ids);
DynamicObject[] org = BusinessDataServiceHelper.load("bos_org", "id,structure.longnumber,structure.view", new QFilter[]{idFilter});
for (DynamicObject dynamicObject : org) {
orgNumberMap.put(dynamicObject.getString("number"), dynamicObject);
orgIds.add(dynamicObject.getLong("id"));
}
}
//查询科目余额配置表
DynamicObject[] accountConf = BusinessDataServiceHelper.load("zcgj_conf_balanceaccount", "zcgj_account", new QFilter[]{});

View File

@ -0,0 +1,57 @@
package zcgj.zcdev.zcdev.fs.plugin.form;
import kd.bos.form.FormShowParameter;
import kd.bos.form.control.events.BeforeItemClickEvent;
import kd.bos.form.events.SetFilterEvent;
import kd.bos.list.ListShowParameter;
import kd.bos.list.events.BeforeShowBillFormEvent;
import kd.bos.list.plugin.AbstractListPlugin;
import kd.bos.orm.query.QFilter;
import java.util.Map;
/**
* 预付单无合同列表插件
*/
public class PrepaybillNoContractListPlugin extends AbstractListPlugin {
private static String current_opkey = "";
@Override
public void setFilter(SetFilterEvent e) {
ListShowParameter param = (ListShowParameter) this.getView().getFormShowParameter();
String isec = param.getCustomParam("isec");
if (isec!=null) {
if(isec.equals("true")) {
this.getView().setVisible(false, "tblnew");
}
e.addCustomQFilter(new QFilter("zcgj_isec", "=", Boolean.valueOf(isec)));
}else{
e.addCustomQFilter(new QFilter("zcgj_isec", "=", false));
this.getView().setVisible(false, "zcgj_newecbill");
}
}
@Override
public void beforeShowBill(BeforeShowBillFormEvent e) {
FormShowParameter formShowParameter = this.getView().getFormShowParameter();
if(null!=formShowParameter && current_opkey.equals("zcgj_newecbill")){
Map<String, Object> customParams =formShowParameter.getCustomParams();
if(null!=customParams){
customParams.put("isec",true);
e.getParameter().setCustomParams(customParams);
}
current_opkey ="";
}
super.beforeShowBill(e);
}
@Override
public void beforeItemClick(BeforeItemClickEvent evt) {
String itemKey = evt.getItemKey();
if("zcgj_newecbill".equals(itemKey)) {
current_opkey = "zcgj_newecbill";
}
super.beforeItemClick(evt);
}
}

View File

@ -0,0 +1,67 @@
package zcgj.zcdev.zcdev.fs.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.LocaleString;
import kd.bos.entity.datamodel.IDataModel;
import kd.bos.form.events.PreOpenFormEventArgs;
import java.util.EventObject;
/**
* 预付单无合同列表插件
*/
public class PrepaybillNoContractPlugin extends AbstractBillPlugIn {
private static boolean editTitle = false;
@Override
public void afterCreateNewData(EventObject e) {
Object isecObj = this.getView().getFormShowParameter().getCustomParam("isec");
if(null!=isecObj){
boolean isec1 = (boolean)isecObj;
IDataModel model = this.getModel();
model.setValue("zcgj_isec", isec1);
editTitle = isec1;
this.getView().updateView("zcgj_isec");
if(isec1){
this.getView().setFormTitle(new LocaleString("无合同预付单单"));
}
}
}
@Override
public void afterBindData(EventObject e) {
super.afterBindData(e);
boolean isec=(boolean)this.getModel().getValue("zcgj_isec");
if(isec){
this.getView().setFormTitle(new LocaleString("无合同预付单单"));
}
}
@Override
public void preOpenForm(PreOpenFormEventArgs e) {
super.preOpenForm(e);
/* OperationStatus status = e.getFormShowParameter().getStatus();
if (!status.equals(OperationStatus.ADDNEW)) {
Object pkId = ((BillShowParameter)e.getSource()).getPkId();
if (pkId == null) {
return;
}
try {
String formId = e.getFormShowParameter().getFormId();
DynamicObject upLookBill = QueryServiceHelper.queryOne(formId, "zcgj_isec", new QFilter[]{new QFilter("id", "=", pkId)});
boolean isec = upLookBill.getBoolean("zcgj_isec");
if (isec) {
BillShowParameter billShowParameter = (BillShowParameter)e.getFormShowParameter();
billShowParameter.setCaption(ResManager.loadKDString("无合同付款申请单", "PublicReimAssetBillEdit_1", "fi-er-formplugin", new Object[0]));
}
} catch (Exception var8) {
//logger.error("没有找到相应的对公报销单其pk为" + pkId);
}
}if(editTitle){
BillShowParameter billShowParameter = (BillShowParameter)e.getFormShowParameter();
billShowParameter.setCaption(ResManager.loadKDString("无合同付款申请单", "PublicReimAssetBillEdit_1", "fi-er-formplugin", new Object[0]));
}*/
}
}

View File

@ -58,7 +58,6 @@ public class PublicreimbursebillNoContractListPlugin extends AbstractListPlugin
public void beforeItemClick(BeforeItemClickEvent evt) {
String itemKey = evt.getItemKey();
if("zcgj_newecbill".equals(itemKey)) {
System.out.println();
current_opkey = "zcgj_newecbill";
}
super.beforeItemClick(evt);

View File

@ -0,0 +1,76 @@
package zcgj.zcdev.zcdev.pr.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.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.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import java.util.Calendar;
import java.util.EventObject;
/**
* 设备维修确认单表单插件
* 说明 1过滤合同名称字段
* 2结算期间初始化赋值
*/
public class MaintenanceConfirmBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
BasedataEdit zcgj_contract = this.getControl("zcgj_contract"); //合同名称
if (zcgj_contract != null) {
zcgj_contract.addBeforeF7SelectListener(this);
}
}
public void afterCreateNewData(EventObject e) {
Calendar cal = Calendar.getInstance();
int year = cal.get(1);
int month = cal.get(2) + 1;
QFilter yearFilter = new QFilter("periodyear", "=", year);
QFilter monthFilter = new QFilter("periodnumber", "=", month);
DynamicObject[] peridoArr = BusinessDataServiceHelper.load("bd_period", "id", new QFilter[]{yearFilter, monthFilter});//会计期间
if (peridoArr.length != 0) {
DynamicObject period = peridoArr[0];
this.getModel().setValue("zcgj_period", period);//结算期间
}
}
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String key = e.getProperty().getName();
if ("zcgj_accountorg".equals(key)) {
//财务记账组织
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
Object newValue = changeData.getNewValue();//新值
Object oldValue = changeData.getOldValue();//旧值
if (newValue == null || !newValue.equals(oldValue)) {
this.getModel().setValue("zcgj_contract", null);//清空合同名称
}
}
}
@Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String name = beforeF7SelectEvent.getProperty().getName();
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
Object zcgj_accountorg = this.getModel().getValue("zcgj_accountorg");//核算组织
if (zcgj_accountorg != null) {
DynamicObject zcgj_accountorg1 = (DynamicObject) zcgj_accountorg;
QFilter qFilter = new QFilter("project.projectorg", QCP.equals, zcgj_accountorg1.getPkValue());
formShowParameter.getListFilterParameter().getQFilters().add(qFilter);
} else {
this.getView().showErrorNotification("请先填写财务记账组织!!");
beforeF7SelectEvent.setCancel(true);
}
}
}

View File

@ -80,6 +80,15 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
} else if ("warehouse".equals(key)) {
//仓库
this.getModel().setValue("zcgj_purchaseapply", null);//清空采购申请单字段
} else if ("fiaccountorg".equals(key)) {
//财务记账组织
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
Object newValue = changeData.getNewValue();//新值
Object oldValue = changeData.getOldValue();//旧值
if (newValue == null || !newValue.equals(oldValue)) {
this.getModel().setValue("zcgj_purchaseapply", null);//清空采购申请
}
}
}
@ -87,11 +96,18 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String propertyName = beforeF7SelectEvent.getProperty().getName();
Object project = this.getModel().getValue("project");//项目
if (project != null) {
Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织
if (fiaccountorg == null) {
this.getView().showErrorNotification("请先填写财务记账组织!!");
beforeF7SelectEvent.setCancel(true);
}
if (project != null && fiaccountorg != null) {
DynamicObject project1 = (DynamicObject) project;
DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
List<QFilter> qFilters = new ArrayList<>();
qFilters.add(new QFilter("project.id", QCP.in, project1.get("id")));
qFilters.add(new QFilter("project.id", QCP.in, project1.get("id")));// 项目
qFilters.add(new QFilter("purchaseorg.id", QCP.in, fiaccountorg1.get("id")));//采购组织
formShowParameter.getListFilterParameter().setQFilters(qFilters);
}
}

View File

@ -0,0 +1,74 @@
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.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
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.QFilter;
import java.util.EventObject;
/**
* 出库单表单插件
* 说明1核算组织由项目中的财务记账组织携带而来
* 2使用设备过滤通过核算组织与使用设备中的使用组织比对而来过滤
*/
public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
BasedataEdit zcgj_shebei = this.getControl("zcgj_shebei"); //使用设备
if (zcgj_shebei != null) {
zcgj_shebei.addBeforeF7SelectListener(this);
}
}
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String key = e.getProperty().getName();
if ("project".equals(key) || "warehouse".equals(key)) {
//项目仓库
Object project = this.getModel().getValue("project");// 项目
if (project != null) {
DynamicObject project1 = (DynamicObject) project;
this.getModel().setValue("zcgj_fiorg", project1.get("fiaccountorg"));//核算组织 项目-财务记账组织
} else {
this.getModel().setValue("zcgj_fiorg", null);
}
} else if ("zcgj_fiorg".equals(key)) {
//核算组织
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
Object newValue = changeData.getNewValue();//新值
Object oldValue = changeData.getOldValue();//旧值
if (newValue == null || !newValue.equals(oldValue)) {
DynamicObjectCollection entryCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");//出库单分录
entryCollection.clear();
this.getView().updateView("entryentity");//刷新分录
}
}
}
@Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String name = beforeF7SelectEvent.getProperty().getName();
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
Object zcgj_fiorg = this.getModel().getValue("zcgj_fiorg");//核算组织
if (zcgj_fiorg != null) {
DynamicObject zcgj_fiorg1 = (DynamicObject) zcgj_fiorg;
QFilter qFilter = new QFilter("useorg", QCP.equals, zcgj_fiorg1.getPkValue());
formShowParameter.getListFilterParameter().getQFilters().add(qFilter);
} else {
this.getView().showErrorNotification("请先填写核算组织!");
beforeF7SelectEvent.setCancel(true);
}
}
}

View File

@ -1,17 +1,50 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
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.QFilter;
import java.util.ArrayList;
import java.util.EventObject;
import java.util.List;
/**
* 采购申请单表单插件初始默认采购组织等于所属组织
* 采购申请单表单插件
* 说明 1初始默认采购组织等于所属组织
* 2过滤项目项目的项目组织与财务记账组织一致才显示
*/
public class PurchaseAppBillPlugin extends AbstractBillPlugIn {
public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
BasedataEdit project = this.getControl("project"); //项目
if (project != null) {
project.addBeforeF7SelectListener(this);
}
}
@Override
public void afterCreateNewData(EventObject e) {
super.afterCreateNewData(e);
Object org = this.getModel().getValue("org");//所属组织
this.getModel().setValue("purchaseorg", org);//采购组织
}
@Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String propertyName = beforeF7SelectEvent.getProperty().getName();
Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织
if (fiaccountorg != null){
DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
List<QFilter> qFilters = new ArrayList<>();
qFilters.add(new QFilter("projectorg.id", QCP.in, fiaccountorg1.get("id")));//项目组织
formShowParameter.getListFilterParameter().setQFilters(qFilters);
}
}
}