diff --git a/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/ZxjcController.java b/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/ZxjcController.java index 8e33c44..0930149 100644 --- a/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/ZxjcController.java +++ b/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/ZxjcController.java @@ -415,6 +415,23 @@ public class ZxjcController { TCComponentItemRevision wlRev = (TCComponentItemRevision) tzItemRevision; String zt2_MaterialNo = ""; zt2_MaterialNo = wlRev.getStringProperty("zt2_MaterialNo"); + String zt2_Specifications = wlRev.getStringProperty("zt2_Specifications"); + //2、物料型号规格取物料描述第一个空格后的数据 +// String zt2_Specifications = ""; +// String object_desc = wlRev.getStringProperty("object_desc"); +// System.out.println("object_desc================================================"+object_desc); +// +// if(object_desc != null && !object_desc.isEmpty()) { +// // 查找第一个空格的位置 +// int spaceIndex = object_desc.indexOf(' '); +// +// // 检查是否找到了空格 +// if (spaceIndex != -1) { +// // 提取空格之后的字符串 +// zt2_Specifications = object_desc.substring(spaceIndex + 1); +// } +// } + System.out.println("zt2_Specifications=================================================="+zt2_Specifications); // 如果物料号为空,去数据库取 String object_name = wlRev.getStringProperty("object_name"); @@ -427,7 +444,11 @@ public class ZxjcController { String selectSql = "SELECT drawingno,objectname FROM CHINT_MATERIAL_VIRTUAL WHERE objectname = '" + object_name + "' AND factory = '" + groupName + "' ORDER BY SEQ DESC FETCH FIRST 1 ROW ONLY"; - + if(zt2_Specifications != null && !zt2_Specifications.isEmpty()) { + selectSql = "SELECT drawingno,objectname FROM CHINT_MATERIAL_VIRTUAL WHERE objectname = '" + + object_name + "' AND factory = '" + groupName + + "' AND SPECIFICATIONS = '"+ zt2_Specifications +"' ORDER BY SEQ DESC FETCH FIRST 1 ROW ONLY"; + } System.out.println("查询语句:" + selectSql.toString()); ResultSet rs = SqlUtil.read(selectSql.toString()); String newCount = "";// 新流水码 @@ -498,8 +519,8 @@ public class ZxjcController { String subLsh = lsh.substring(0, 3); if (maxLsh.isEmpty() || !maxLsh.contains(subLsh)) {// 数据库中查到的与首选项不匹配 生成新的流水码 SqlUtil.SRMGetTCDataConnection(prefs); - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + lsh + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + lsh +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); zt2_MaterialNo = lsh; } else {// 首选项字母与数据库相同 @@ -529,8 +550,8 @@ public class ZxjcController { // 流水码+1 SqlUtil.SRMGetTCDataConnection(prefs); if (!newCount1.isEmpty()) { - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + newCount1 + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + newCount1 +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); } zt2_MaterialNo = newCount1; @@ -557,8 +578,8 @@ public class ZxjcController { if (maxLsh.isEmpty() || !maxLsh.contains(subLsh)) {// 数据库中查到的与首选项不匹配 生成新的流水码 SqlUtil.SRMGetTCDataConnection(prefs); - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + lsh + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + lsh +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); zt2_MaterialNo = lsh; } else {// 首选项字母与数据库相同 @@ -588,8 +609,8 @@ public class ZxjcController { // 流水码+1 SqlUtil.SRMGetTCDataConnection(prefs); if (!newCount1.isEmpty()) { - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + newCount1 + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + newCount1 +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); } zt2_MaterialNo = newCount1; @@ -610,8 +631,7 @@ public class ZxjcController { wlMap.get(object_name + zt2_MaterialNo).set(5, intQuantity + ""); } else { // 获取物料属性 - String zt2_Specifications = wlRev.getStringProperty("zt2_Specifications"); - + // 获取物料item单位 TCComponentItem item = wlRev.getItem(); String zt2_unit = item.getProperty("zt2_unit"); @@ -653,6 +673,24 @@ public class ZxjcController { TCComponentItemRevision wlRev = (TCComponentItemRevision) wlRevs[j]; String zt2_MaterialNo = ""; zt2_MaterialNo = wlRev.getStringProperty("zt2_MaterialNo"); + String object_desc = wlRev.getStringProperty("object_desc"); + System.out.println("object_desc================================================"+object_desc); + + //String zt2_Specifications = wlRev.getStringProperty("zt2_Specifications"); + //2、物料型号规格取物料描述第一个空格后的数据 + String zt2_Specifications = ""; + //String object_desc = wlRev.getStringProperty("object_desc"); + if(object_desc != null && !object_desc.isEmpty()) { + // 查找第一个空格的位置 + int spaceIndex = object_desc.indexOf(' '); + + // 检查是否找到了空格 + if (spaceIndex != -1) { + // 提取空格之后的字符串 + zt2_Specifications = object_desc.substring(spaceIndex + 1); + } + } + System.out.println("zt2_Specifications=================================================="+zt2_Specifications); // 如果物料号为空,去数据库取 String object_name = wlRev.getStringProperty("object_name"); @@ -665,7 +703,14 @@ public class ZxjcController { String selectSql = "SELECT drawingno,objectname FROM CHINT_MATERIAL_VIRTUAL WHERE objectname = '" + object_name + "' AND factory = '" + groupName + "' ORDER BY SEQ DESC FETCH FIRST 1 ROW ONLY"; - + + if(zt2_Specifications != null && !zt2_Specifications.isEmpty()) { + selectSql = "SELECT drawingno,objectname FROM CHINT_MATERIAL_VIRTUAL WHERE objectname = '" + + object_name + "' AND factory = '" + groupName + + "' AND SPECIFICATIONS = '"+ zt2_Specifications +"' ORDER BY SEQ DESC FETCH FIRST 1 ROW ONLY"; + } + + System.out.println("查询语句:" + selectSql.toString()); ResultSet rs = SqlUtil.read(selectSql.toString()); String newCount = "";// 新流水码 @@ -736,8 +781,8 @@ public class ZxjcController { String subLsh = lsh.substring(0, 3); if (maxLsh.isEmpty() || !maxLsh.contains(subLsh)) {// 数据库中查到的与首选项不匹配 生成新的流水码 SqlUtil.SRMGetTCDataConnection(prefs); - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + lsh + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + lsh +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); zt2_MaterialNo = lsh; } else {// 首选项字母与数据库相同 @@ -767,8 +812,8 @@ public class ZxjcController { // 流水码+1 SqlUtil.SRMGetTCDataConnection(prefs); if (!newCount1.isEmpty()) { - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + newCount1 + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + newCount1 +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); } zt2_MaterialNo = newCount1; @@ -795,8 +840,8 @@ public class ZxjcController { if (maxLsh.isEmpty() || !maxLsh.contains(subLsh)) {// 数据库中查到的与首选项不匹配 生成新的流水码 SqlUtil.SRMGetTCDataConnection(prefs); - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + lsh + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + lsh +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); zt2_MaterialNo = lsh; } else {// 首选项字母与数据库相同 @@ -826,8 +871,8 @@ public class ZxjcController { // 流水码+1 SqlUtil.SRMGetTCDataConnection(prefs); if (!newCount1.isEmpty()) { - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + newCount1 + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + newCount1 +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); } zt2_MaterialNo = newCount1; @@ -848,11 +893,11 @@ public class ZxjcController { wlMap.get(object_name + zt2_MaterialNo).set(5, intQuantity + ""); } else { // 获取物料属性 - String object_desc = wlRev.getStringProperty("object_desc"); + if (object_desc == null || object_desc.isEmpty()) { object_desc = object_name; } - String zt2_Specifications = wlRev.getStringProperty("zt2_Specifications"); + // 获取物料item单位 TCComponentItem item = wlRev.getItem(); @@ -869,7 +914,9 @@ public class ZxjcController { // 把值存在list里存入map List fieldList = new ArrayList(); fieldList.add(count + "");// 序号 - fieldList.add(object_desc==null?"":object_desc); + //20240703 改 + //fieldList.add(object_desc==null?"":object_desc); + fieldList.add(object_name==null?"":object_name); fieldList.add(zt2_Specifications==null?"":zt2_Specifications); fieldList.add(zt2_MaterialNo==null?"":zt2_MaterialNo); fieldList.add(zt2_unit==null?"":zt2_unit); @@ -905,6 +952,23 @@ public class ZxjcController { // 物料bomline获取rev TCComponentItemRevision wlRev = tcComponentBOMLine.getItemRevision(); String zt2_MaterialNo = ""; + String object_desc = wlRev.getStringProperty("object_desc"); + System.out.println("object_desc================================================"+object_desc); + //String zt2_Specifications = wlRev.getStringProperty("zt2_Specifications"); + //2、物料型号规格取物料描述第一个空格后的数据 + String zt2_Specifications = ""; + //String object_desc = wlRev.getStringProperty("object_desc"); +// if(object_desc != null && !object_desc.isEmpty()) { +// // 查找第一个空格的位置 +// int spaceIndex = object_desc.indexOf(' '); +// +// // 检查是否找到了空格 +// if (spaceIndex != -1) { +// // 提取空格之后的字符串 +// zt2_Specifications = object_desc.substring(spaceIndex + 1); +// } +// } + System.out.println("zt2_Specifications=================================================="+zt2_Specifications); zt2_MaterialNo = wlRev.getStringProperty("zt2_MaterialNo"); // 是否查到流水码 boolean isCheck = false; @@ -920,7 +984,11 @@ public class ZxjcController { String selectSql = "SELECT drawingno,objectname FROM CHINT_MATERIAL_VIRTUAL WHERE objectname = '" + object_name + "' AND factory = '" + groupName + "' ORDER BY SEQ DESC FETCH FIRST 1 ROW ONLY"; - + if(zt2_Specifications != null && !zt2_Specifications.isEmpty()) { + selectSql = "SELECT drawingno,objectname FROM CHINT_MATERIAL_VIRTUAL WHERE objectname = '" + + object_name + "' AND factory = '" + groupName + + "' AND SPECIFICATIONS = '"+ zt2_Specifications +"' ORDER BY SEQ DESC FETCH FIRST 1 ROW ONLY"; + } System.out.println("查询语句:" + selectSql.toString()); ResultSet rs = SqlUtil.read(selectSql.toString()); String newCount = "";// 新流水码 @@ -991,8 +1059,8 @@ public class ZxjcController { String subLsh = lsh.substring(0, 3); if (maxLsh.isEmpty() || !maxLsh.contains(subLsh)) {// 数据库中查到的与首选项不匹配 生成新的流水码 SqlUtil.SRMGetTCDataConnection(prefs); - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + lsh + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + lsh +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); zt2_MaterialNo = lsh; } else {// 首选项字母与数据库相同 @@ -1022,8 +1090,8 @@ public class ZxjcController { // 流水码+1 SqlUtil.SRMGetTCDataConnection(prefs); if (!newCount1.isEmpty()) { - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + newCount1 + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + newCount1 +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); } zt2_MaterialNo = newCount1; @@ -1050,8 +1118,8 @@ public class ZxjcController { if (maxLsh.isEmpty() || !maxLsh.contains(subLsh)) {// 数据库中查到的与首选项不匹配 生成新的流水码 SqlUtil.SRMGetTCDataConnection(prefs); - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + lsh + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + lsh +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); zt2_MaterialNo = lsh; } else {// 首选项字母与数据库相同 @@ -1081,8 +1149,8 @@ public class ZxjcController { // 流水码+1 SqlUtil.SRMGetTCDataConnection(prefs); if (!newCount1.isEmpty()) { - String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno) VALUES ('" - + groupName + "','" + object_name + "','" + newCount1 + "')"; + String updateSql = "INSERT INTO CHINT_MATERIAL_VIRTUAL (factory,objectname,drawingno,SPECIFICATIONS) VALUES ('" + + groupName + "','" + object_name + "','" + newCount1 +"','"+ zt2_Specifications + "')"; SqlUtil.update(updateSql); } zt2_MaterialNo = newCount1; @@ -1117,11 +1185,11 @@ public class ZxjcController { wlMap.get(object_name + zt2_MaterialNo).set(5, intQuantity + ""); } else { // 获取物料属性 - String object_desc = wlRev.getStringProperty("object_desc"); + if (object_desc == null || object_desc.isEmpty()) { object_desc = object_name; } - String zt2_Specifications = wlRev.getStringProperty("zt2_Specifications"); + System.out.println("zt2_Specifications==="+zt2_Specifications+"zt2_MaterialNo===="+zt2_MaterialNo); // 获取物料item单位 @@ -1133,7 +1201,9 @@ public class ZxjcController { // 把值存在list里存入map List fieldList = new ArrayList(); fieldList.add(count + "");// 序号 - fieldList.add(object_desc==null?"":object_desc); + //20240703 改 + //fieldList.add(object_desc==null?"":object_desc); + fieldList.add(object_name==null?"":object_name); fieldList.add(zt2_Specifications==null?"":zt2_Specifications); fieldList.add(zt2_MaterialNo==null?"":zt2_MaterialNo); fieldList.add(zt2_unit==null?"":zt2_unit); @@ -1188,7 +1258,7 @@ public class ZxjcController { top.put("projectno", project_zt2_ProjectNo); top.put("wbsno", project_zt2_WBSNo); top.put("factory", groupName); - top.put("producttype", cpxhValue); + top.put("producttype", tzObjectName.contains("备件包")? "备品备件": cpxhValue); //如果是备件包就不取id top.put("drawingno", tzObjectName.contains("备件包")? "": tzId); top.put("productnos", ccpArray);