Index: ssts-web/src/main/webapp/dataUpdater/sqls/5.0.41_5.0.42_tidb.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/5.0.41_5.0.42_tidb.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/5.0.41_5.0.42_tidb.sql (revision 40326) @@ -0,0 +1 @@ +update QualityMonitoringGoods set materialDefinitionId = (select id from MaterialDefinition where QualityMonitoringGoods.material = case when specification is null then name else concat(name, '[', specification, ']') end) where material is not null and material <> '' and materialDefinitionId is null; \ No newline at end of file Index: forgon-tools/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r40302 -r40326 --- forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 40302) +++ forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 40326) @@ -29,7 +29,7 @@ "4.9.63","4.9.64","4.9.65","4.9.66","4.9.67","4.9.68","4.9.69","4.9.70","4.9.71","4.9.72","4.9.73","4.9.74","4.9.75","4.9.76","4.9.77","4.9.78","4.9.79","4.9.80","4.9.81","4.9.82","4.9.83","4.9.84","4.9.85", "4.9.86","4.9.87","4.9.88","4.9.89","4.9.90","4.9.91","4.9.92","4.9.93","4.9.94","4.9.95","4.9.96","4.9.97","4.9.98","4.9.99","5.0.0","5.0.1","5.0.2","5.0.3","5.0.4","5.0.5","5.0.6","5.0.7", "5.0.8","5.0.9","5.0.10","5.0.11","5.0.12","5.0.13","5.0.14","5.0.15","5.0.16","5.0.17","5.0.18","5.0.19","5.0.20","5.0.21","5.0.22","5.0.23","5.0.24","5.0.25","5.0.26","5.0.27","5.0.28","5.0.29","5.0.30","5.0.31", - "5.0.32","5.0.33","5.0.34","5.0.35","5.0.36","5.0.37","5.0.38","5.0.39","5.0.40","5.0.41"}; + "5.0.32","5.0.33","5.0.34","5.0.35","5.0.36","5.0.37","5.0.38","5.0.39","5.0.40","5.0.41","5.0.42"}; // 版本列表(4.0版本升级4.1版需要分两步:先从4.0升到4.1.0、然后从4.1.0升级4.1最新版本) /*public final static String[] SOFTWARE_VERSION_ARRAY = new String[] { Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/qualitymonitoringmanager/qualitymonitoring/QualityMonitoringGoods.java =================================================================== diff -u -r39245 -r40326 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/qualitymonitoringmanager/qualitymonitoring/QualityMonitoringGoods.java (.../QualityMonitoringGoods.java) (revision 39245) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/qualitymonitoringmanager/qualitymonitoring/QualityMonitoringGoods.java (.../QualityMonitoringGoods.java) (revision 40326) @@ -71,6 +71,12 @@ */ private String material; /** + * 材料定义id + * FSFY-119 + */ + private Long materialDefinitionId; + + /** * 材料的位置 */ private String position; @@ -164,6 +170,12 @@ public void setMaterial(String material) { this.material = material; } + public Long getMaterialDefinitionId() { + return materialDefinitionId; + } + public void setMaterialDefinitionId(Long materialDefinitionId) { + this.materialDefinitionId = materialDefinitionId; + } public Integer getAmount() { return amount; } Index: ssts-web/src/main/webapp/dataUpdater/sqls/5.0.41_5.0.42_sqlserver.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/5.0.41_5.0.42_sqlserver.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/5.0.41_5.0.42_sqlserver.sql (revision 40326) @@ -0,0 +1 @@ +update QualityMonitoringGoods set materialDefinitionId = (select id from MaterialDefinition where QualityMonitoringGoods.material = case when specification is null then name else name + '['+ specification +']' end) where material is not null and material <> '' and materialDefinitionId is null; \ No newline at end of file Index: ssts-web/src/main/webapp/dataUpdater/sqls/5.0.41_5.0.42_oracle.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/5.0.41_5.0.42_oracle.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/5.0.41_5.0.42_oracle.sql (revision 40326) @@ -0,0 +1 @@ +update QualityMonitoringGoods set materialDefinitionId = (select id from MaterialDefinition where QualityMonitoringGoods.material = case when specification is null then name else name || '['|| specification || ']' end) where material is not null and materialDefinitionId is null; \ No newline at end of file Index: ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java =================================================================== diff -u -r40302 -r40326 --- ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java (.../QualityMonitoringInstanceManagerImpl.java) (revision 40302) +++ ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java (.../QualityMonitoringInstanceManagerImpl.java) (revision 40326) @@ -337,9 +337,10 @@ order = Integer.valueOf(materialMsg[3]); } - //器械入筐 + MaterialDefinition md = getMaterialDefinitionByName(name); if(qmInstance.getId() == null || material.length > 1){ - materialIntoBasket(basket, name, amount); + //器械入筐 + materialIntoBasket(basket, name, md, amount); } QualityMonitoringGoods qmg = new QualityMonitoringGoods(); // 设置材料名称、数量和位置信息、材料的顺序号 @@ -352,6 +353,9 @@ qmg.setTousseDefinitionId(Long.valueOf(materialMsg[4])); } qmg.setMaterial(name); + if(md != null){ + qmg.setMaterialDefinitionId(md.getId()); + } if(StringUtils.isNumeric(amount)){ qmg.setAmount(Integer.parseInt(amount)); }else{ @@ -411,6 +415,21 @@ } /** + * 根据名称查询材料定义 + * @param name 材料名称 + * @return + */ + private MaterialDefinition getMaterialDefinitionByName(String name) { + if(StringUtils.isBlank(name)){ + return null; + } + JSONObject obj = CssdUtils.getGoodsNameAndSp(name); + String tempName = obj.optString("materialName"); + String specification = obj.optString("specification"); + return materialDefinitionManager.getMaterialDefinitionByName(tempName, specification); + } + + /** * 保存多选项元素选项关联的不合格物品STDXYXYFSZ-41 * @param qmInstance * @param requestParams @@ -928,7 +947,7 @@ return qualityMonitoringGoodsInfo; } - private void materialIntoBasket(ClassifyBasket basket, String name, + private void materialIntoBasket(ClassifyBasket basket, String name, MaterialDefinition md, String amount) { if (basket != null) { ClassifiedItem item = new ClassifiedItem(); @@ -937,12 +956,12 @@ item.setAmount(addAmount); item.setMaterialAmount(addAmount); item.setName(name); - JSONObject obj = CssdUtils.getGoodsNameAndSp(name); + /*JSONObject obj = CssdUtils.getGoodsNameAndSp(name); String tempName = obj.optString("materialName"); String specification = obj.optString("specification"); MaterialDefinition md = materialDefinitionManager .getMaterialDefinitionByName(tempName, - specification); + specification);*/ item.setMaterialDefinition(md); if(md != null){ item.setMaterialSplitAmount(addAmount * (md.getSplitAmount() == null?1:md.getSplitAmount()));