付款申请优化,xifu,合同物料导入

S
This commit is contained in:
weiyunlong 2024-12-20 15:43:14 +08:00
parent e1582cfe50
commit 68eadb76b1
4 changed files with 120 additions and 60 deletions

View File

@ -0,0 +1,65 @@
package shkd.repc.recon.formplugin;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.datamodel.BasedataItem;
import kd.bos.entity.datamodel.events.QueryImportBasedataEventArgs;
import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
* 合同表单插件
*/
public class ContractMaterialImportPlugin extends AbstractFormPlugin {
private static final String BOS_ORG = "bos_org";//组织实体
private static final String BD_MATERIAL = "bd_material";//物料实体
//TODO: 生成物料逻辑迁移到导入过程中,获取excel行
@Override
public void queryImportBasedata(QueryImportBasedataEventArgs e) {
super.queryImportBasedata(e);
Map<BasedataItem, List<Object>> searchResult = e.getSearchResult();
for (Map.Entry<BasedataItem, List<Object>> entry : searchResult.entrySet()) {
List<Object> basedata = entry.getValue();
if (basedata.isEmpty()) { // 查不到基础资料数据
Long materialId = newMaterial(entry.getKey().getSearchValue());
basedata.add(materialId);
//algo.storage.redis.ip_port
// System.getProperty("algo.storage.redis.ip_port");
} else {
// 查到多个基础资料数据
// 业务场景应根据需求剔除不合法的基础资料数据最终保留一个
Iterator it = basedata.iterator();
it.next();
while (it.hasNext()) {
it.remove();
}
}
}
}
private Long newMaterial(String number){
long rootOrgId = OrgUnitServiceHelper.getRootOrgId();
DynamicObject org = BusinessDataServiceHelper.loadSingle(rootOrgId, BOS_ORG);
DynamicObject bd_material = BusinessDataServiceHelper.newDynamicObject(BD_MATERIAL);
bd_material.set("number",number);
bd_material.set("name",number);
if (null != org) {
bd_material.set("createorg",org);
}
bd_material.set("materialtype","1");//物料类型:物资
bd_material.set("enable", "1");//使用状态:可用
bd_material.set("status", "C");//数据状态:审核
bd_material.set("ctrlstrategy", "5");//控制策略:全局共享
bd_material.set("enablepur",true);//可采购
bd_material.set("enablesale",true);//可销售
bd_material.set("enableinv",true);//可库存
SaveServiceHelper.save(new DynamicObject[]{bd_material});
return bd_material.getLong("id");
}
}

View File

@ -27,6 +27,13 @@ public class PayreqProjectFormPlugin extends AbstractBillPlugIn {
if ("org".equals(name)) {
updateRenovationProject();
}
//xifu携带名称
if ("qeug_xf".equals(name)) {
String qeug_xf = (String)this.getModel().getValue("qeug_xf");
this.getModel().setValue("billname",qeug_xf);
this.getView().updateView("billname");
}
}
private void updateRenovationProject() {

View File

@ -32,6 +32,13 @@ public class ReconPayreqProjectFormPlugin extends AbstractBillPlugIn {
if ("usedepart".equals(name)) {
updateFinanceOrg();
}
//xifu携带名称
if ("qeug_xf".equals(name)) {
String qeug_xf = (String)this.getModel().getValue("qeug_xf");
this.getModel().setValue("billname",qeug_xf);
this.getView().updateView("billname");
}
}
private void updateRenovationProject() {

View File

@ -4,13 +4,18 @@ import com.apusic.aas.util.digester.Digester;
import com.apusic.aas.util.digester.Rule;
import com.apusic.aas.util.digester.Rules;
import kd.bos.bill.BillShowParameter;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.ShowType;
import kd.bos.form.events.AfterDoOperationEventArgs;
import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
import java.util.List;
public class TestFormPlugin extends AbstractFormPlugin implements Rules {
public class TestFormPlugin extends AbstractFormPlugin {
@Override
public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
@ -18,69 +23,45 @@ public class TestFormPlugin extends AbstractFormPlugin implements Rules {
String operateKey = afterDoOperationEventArgs.getOperateKey();
if ("save".equals(operateKey)) {
BillShowParameter billShowParameter = new BillShowParameter();
billShowParameter.setFormId("recos_conplan");// 合约规划
billShowParameter.getOpenStyle().setShowType(ShowType.Modal);
billShowParameter.getOpenStyle().setTargetKey("tabap");
this.getView().showForm(billShowParameter);
// BillShowParameter billShowParameter = new BillShowParameter();
// billShowParameter.setFormId("recos_conplan");// 合约规划
// billShowParameter.getOpenStyle().setShowType(ShowType.Modal);
// billShowParameter.getOpenStyle().setTargetKey("tabap");
// this.getView().showForm(billShowParameter);
long rootOrgId = OrgUnitServiceHelper.getRootOrgId();
DynamicObject org = BusinessDataServiceHelper.loadSingle(rootOrgId, "bos_org");
DynamicObject bd_material = BusinessDataServiceHelper.newDynamicObject("bd_material");
bd_material.set("enable", "1");//使用状态
bd_material.set("status", "C");//数据状态
bd_material.set("ctrlstrategy", "5");//控制策略
bd_material.set("number","001");
bd_material.set("name","001");
if (null != org) {
bd_material.set("createorg",org);
}
bd_material.set("materialtype","1");
bd_material.set("enablepur",true);//可采购
bd_material.set("enablesale",true);//可销售
bd_material.set("enableinv",true);//可库存
SaveServiceHelper.save(new DynamicObject[]{bd_material});
}
List<Rule> rules = this.rules();
this.getControl("rules");
this.getView().getModel();
Rule rule = null;
rule.getNamespaceURI();
}
@Override
public Digester getDigester() {
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
return null;
}
@Override
public void setDigester(Digester digester) {
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
}
@Override
public void add(String s, Rule rule) {
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
}
@Override
public void clear() {
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
}
@Override
public List<Rule> match(String s, String s1) {
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
return null;
}
@Override
public List<Rule> rules() {
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
return null;
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String name = e.getProperty().getName();
//根据组织携带项目
if ("billname".equals(name)) {
String billname = (String)this.getModel().getValue("billname");
this.getModel().setValue("qeug_xf",billname);
this.getView().updateView("qeug_xf");
}
}
}