导入物料去重校验

This commit is contained in:
李贵强 2025-04-23 14:43:39 +08:00
parent d3ed34bdfa
commit 9617add35a
2 changed files with 50 additions and 11 deletions

View File

@ -74,7 +74,6 @@ public class ContractMaterialImportPlugin extends AbstractFormPlugin {
Long id = null;
try {
ImportMaterial materialByNumber = getMaterialByNumber(number, set);
bd_material = BusinessDataServiceHelper.newDynamicObject(BD_MATERIAL);
//物料编码
bd_material.set("number", number);
@ -102,6 +101,8 @@ public class ContractMaterialImportPlugin extends AbstractFormPlugin {
dynamicObject.set("fbasedataId",serviceAttribute);
collection.add(dynamicObject);
}
bd_material.set("qeug_brand",materialByNumber.getMaterialBrand());//品牌
bd_material.set("qeug_model",materialByNumber.getMaterialExtModel());//型号
bd_material.set("enable", "1");//使用状态:可用
bd_material.set("status", "C");//数据状态:审核
bd_material.set("ctrlstrategy", "5");//控制策略:全局共享
@ -124,6 +125,16 @@ public class ContractMaterialImportPlugin extends AbstractFormPlugin {
return id;
}
private String checkMaterial(String materialName, String materialModel) {
QFilter qFilter = new QFilter("name", QCP.equals, materialName);
qFilter.and("modelnum",QCP.equals,materialModel);
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("bd_material", qFilter.toArray());
if (dynamicObject!=null){
return dynamicObject.getString("number");
}
return null;
}
private void newMaterialType(Long materialId,DynamicObject group){
DynamicObject materialType = BusinessDataServiceHelper.newDynamicObject("bd_materialgroupdetail");
//分类标准
@ -173,10 +184,14 @@ public class ContractMaterialImportPlugin extends AbstractFormPlugin {
// 如果 material 为空
if (material == null) {
DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject("bd_material");
CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(dynamicObject.getDataEntityType().getName(),
dynamicObject, null);
number = CodeRuleServiceHelper.getNumber(codeRule, dynamicObject);
//TODO:判断物料是否已在系统
number= this.checkMaterial((String) map.get("qeug_materialnames"),(String) map.get("qeug_importmodel"));
if (number==null){
DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject("bd_material");
CodeRuleInfo codeRule = CodeRuleServiceHelper.getCodeRule(dynamicObject.getDataEntityType().getName(),
dynamicObject, null);
number = CodeRuleServiceHelper.getNumber(codeRule, dynamicObject);
}
// 构造一个新的 JSONObject 来保存生成的物料编码
JSONObject materialJson = new JSONObject();
materialJson.put("importprop","number");
@ -195,6 +210,8 @@ public class ContractMaterialImportPlugin extends AbstractFormPlugin {
importMaterial.setMaterialType((String) map.get("qeug_importmaterialtype"));
importMaterial.setMaterialModel((String) map.get("qeug_importmodel"));
importMaterial.setMaterialUnit((String) map.get("qeug_importunit"));
importMaterial.setMaterialBrand((String) map.get("qeug_brand"));
importMaterial.setMaterialExtModel((String) map.get("qeug_model"));
materialList.add(importMaterial);
}

View File

@ -2,15 +2,19 @@ package shkd.repc.recon.formplugin.dynamic;
public class ImportMaterial {
public String materialNumber;
public String materialNumber;//编码
public String materialName;
public String materialName;//名称
public String materialType;
public String materialType;//分类
public String materialModel;
public String materialModel;//规格型号
public String materialUnit;
public String materialUnit;//计量单位
public String materialBrand;//品牌
public String materialExtModel;//型号
public String getMaterialNumber() {
return materialNumber;
@ -52,14 +56,32 @@ public class ImportMaterial {
this.materialUnit = materialUnit;
}
public String getMaterialBrand() {
return materialBrand;
}
public void setMaterialBrand(String materialBrand) {
this.materialBrand = materialBrand;
}
public String getMaterialExtModel() {
return materialExtModel;
}
public void setMaterialExtModel(String materialExtModel) {
this.materialExtModel = materialExtModel;
}
@Override
public String toString() {
return "ImportMaterial{" +
"materialId='" + materialNumber + '\'' +
"materialNumber='" + materialNumber + '\'' +
", materialName='" + materialName + '\'' +
", materialType='" + materialType + '\'' +
", materialModel='" + materialModel + '\'' +
", materialUnit='" + materialUnit + '\'' +
", materialBrand='" + materialBrand + '\'' +
", materialExtModel='" + materialExtModel + '\'' +
'}';
}