diff --git a/main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java b/main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java index 1ecf6a3..2f08e11 100644 --- a/main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java +++ b/main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java @@ -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); } diff --git a/main/java/shkd/repc/recon/formplugin/dynamic/ImportMaterial.java b/main/java/shkd/repc/recon/formplugin/dynamic/ImportMaterial.java index 987f3fc..a89fee3 100644 --- a/main/java/shkd/repc/recon/formplugin/dynamic/ImportMaterial.java +++ b/main/java/shkd/repc/recon/formplugin/dynamic/ImportMaterial.java @@ -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 + '\'' + '}'; }