Browse Source

SN批量查询 修改

wub 6 years ago
parent
commit
78b76a60f2

+ 2 - 2
WebContent/app/controller/pm/mes/SNBatch.js

@@ -142,7 +142,7 @@ Ext.define('erp.controller.pm.mes.SNBatch', {
 			grid.getStore().each(function(item){//将grid里面各行的数据获取并拼成jsonGridData
 				var data = Ext.clone(item.data);
 				var dd = new Object();
-				if(data[grid.necessaryField] != null && data[grid.necessaryField] != ""){
+				//if(data[grid.necessaryField] != null && data[grid.necessaryField] != ""){
 					if(grid.mainField && form && form.keyField){//例如,将pu_id的值赋给pd_puid
 						dd[grid.mainField] = Ext.getCmp(form.keyField).value;
 					}
@@ -167,7 +167,7 @@ Ext.define('erp.controller.pm.mes.SNBatch', {
 					   }
 					});
 					jsonGridData.push(Ext.JSON.encode(dd));
-				}
+				//}
 			});
 		   return jsonGridData;
 	   }

+ 22 - 14
src/com/uas/mes/pm/service/impl/SNBatchServiceImpl.java

@@ -3,6 +3,7 @@ package com.uas.mes.pm.service.impl;
 import java.util.List;
 import java.util.Map;
 
+import com.uas.mes.core.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -41,9 +42,9 @@ public class SNBatchServiceImpl implements SNBatchService {
 	public int SNBatchQuery(String caller, String gridStore) {
 		SqlRowList  rs0;
 		List<Map<Object, Object>> gstore = BaseUtil.parseGridStoreToMaps(gridStore);
-		int em_id = SystemSession.getUser().getEm_id();		
-		String rep = CollectionUtil.getRepeats(gstore, "sb_sncode");
-		if(rep != null){//重复行
+		int em_id = SystemSession.getUser().getEm_id();
+		String rep = CollectionUtil.getRepeats(gstore, "sb_sncode").trim();
+		if(!StringUtil.isEmpty(rep)){//重复行
 			BaseUtil.showError("SN号:"+rep+"出现多行");
 		}
 		List<String> gridSql = SqlUtil.getUpdateSqlbyGridStore(gstore, "SNBATCH","sb_id");
@@ -58,25 +59,32 @@ public class SNBatchServiceImpl implements SNBatchService {
 			}
 		}
 		baseDao.execute(gridSql);
-		rs0 = baseDao.queryForRowSet("select sum(nn) num from (select sb_sncode,count(1) nn "+
-				" from SNBATCH INNER JOIN MAKESERIAL ON MS_SNCODE = SB_SNCODE AND (NVL(SB_IMEI,' ')=' ' OR SB_IMEI=MS_IMEI1) AND" +
-						" (NVL(SB_MAC,' ')=' ' OR SB_MAC=MS_MAC) LEFT JOIN MES_CRAFTMATERIAL_VIEW " +
-						"ON MAKESERIAL.MS_FIRSTSN=MES_CRAFTMATERIAL_VIEW.MS_FIRSTSN LEFT JOIN SNRELATIONINFORECORD_VIEW " +
-						"ON MAKESERIAL.MS_SNCODE=SNRELATIONINFORECORD_VIEW.SIR_SNCODE LEFT JOIN PRODUCT ON PR_CODE=MS_PRODCODE"+
+		rs0 = baseDao.queryForRowSet("select sum(nn) num from (select count(1) nn "+
+				" from SNBATCH inner JOIN MAKESERIAL " +
+				"ON (nvl(sb_sncode,' ')<>' ' and ms_sncode=sb_sncode ) " +
+				"or (NVL(SB_IMEI,' ')<>' ' and SB_IMEI=MS_IMEI1) " +
+				"or (NVL(SB_MAC,' ')<>' ' and SB_MAC=MS_MAC) " +
+				"lEFT JOIN MES_CRAFTMATERIAL_VIEW ON MAKESERIAL.MS_FIRSTSN=MES_CRAFTMATERIAL_VIEW.MS_FIRSTSN " +
+				"LEFT JOIN SNRELATIONINFORECORD_VIEW ON MAKESERIAL.MS_SNCODE=SNRELATIONINFORECORD_VIEW.SIR_SNCODE " +
+				"LEFT JOIN PRODUCT ON PR_CODE=MS_PRODCODE"+
 				" where ms_outboxcode is not null AND (NVL(SB_MAINBOARDCODE,' ')=' ' OR SB_MAINBOARDCODE=主板) "+
-				" AND (NVL(SB_LCDCODE,' ')=' ' OR SB_LCDCODE=液晶屏) AND (NVL(SB_BATTERYCODE,' ')=' ' OR SB_BATTERYCODE=电池) AND (NVL(SB_ADAPTERCODE,' ')=' ' OR SB_ADAPTERCODE=适配器条码) and sb_emid="+em_id+" group by sb_sncode)");
+				" AND (NVL(SB_LCDCODE,' ')=' ' OR SB_LCDCODE=液晶屏) AND (NVL(SB_BATTERYCODE,' ')=' ' OR SB_BATTERYCODE=电池) AND (NVL(SB_ADAPTERCODE,' ')=' ' OR SB_ADAPTERCODE=适配器条码) and sb_emid="+em_id+")");
 		if (rs0.next()) {
 			if (rs0.getInt("num")<0){
 				BaseUtil.showError("未找到相关数据");
 			}
-		}	
+		}
 		String Sql="insert into SN(SN_ID,SN_SB_SNCODE,SN_MS_SNCODE,SN_MS_PRODCODE,SN_PR_DETAIL,SN_PR_SPEC,SN_MS_MAKECODE,SN_MS_SALECODE,SN_MS_BADTIMES,"+
 				"SN_MS_IMEI1,SN_MS_IMEI2,SN_SIR_SOFTVER,SN_SIR_REMARK,SN_MS_MAC,SN_MS_BT,SN_主板,SN_电池,SN_液晶屏,SN_适配器条码,SN_键盘条码,SN_KEY,SN_MS_INDATE,SN_MS_GROSSW,SN_MS_LINECODE,SN_PR_CUSTMACHINETYPE)"+
 				"select SN_seq.nextval,sb_sncode,ms_sncode,ms_prodcode,pr_detail,pr_spec,ms_makecode,MS_SALECODE,MS_BADTIMES,MS_IMEI1,MS_IMEI2,SIR_SOFTVER,SIR_REMARK,MS_MAC,MS_BT,主板,电池,液晶屏,适配器条码,键盘条码,KEY,MS_INDATE,MS_GROSSW,MS_LINECODE,pr_custmachinetype"+
-				" from SNBATCH INNER JOIN MAKESERIAL ON MS_SNCODE = SB_SNCODE AND (NVL(SB_IMEI,' ')=' ' OR SB_IMEI=MS_IMEI1) AND (NVL(SB_MAC,' ')=' ' " +
-				"OR SB_MAC=MS_MAC) LEFT JOIN MES_CRAFTMATERIAL_VIEW ON MAKESERIAL.MS_FIRSTSN=MES_CRAFTMATERIAL_VIEW.MS_FIRSTSN " +
-				"LEFT JOIN SNRELATIONINFORECORD_VIEW ON MAKESERIAL.MS_SNCODE=SNRELATIONINFORECORD_VIEW.SIR_SNCODE LEFT JOIN PRODUCT " +
-				"ON PR_CODE=MS_PRODCODE where ms_outboxcode is not null AND (NVL(SB_MAINBOARDCODE,' ')=' ' OR SB_MAINBOARDCODE=主板) "+
+				" from SNBATCH inner JOIN MAKESERIAL " +
+				"ON (nvl(sb_sncode,' ')<>' ' and ms_sncode=sb_sncode ) " +
+				"or (NVL(SB_IMEI,' ')<>' ' and SB_IMEI=MS_IMEI1) " +
+				"or (NVL(SB_MAC,' ')<>' ' and SB_MAC=MS_MAC) " +
+				"lEFT JOIN MES_CRAFTMATERIAL_VIEW ON MAKESERIAL.MS_FIRSTSN=MES_CRAFTMATERIAL_VIEW.MS_FIRSTSN " +
+				"LEFT JOIN SNRELATIONINFORECORD_VIEW ON MAKESERIAL.MS_SNCODE=SNRELATIONINFORECORD_VIEW.SIR_SNCODE " +
+				"LEFT JOIN PRODUCT ON PR_CODE=MS_PRODCODE " +
+				"where ms_outboxcode is not null AND (NVL(SB_MAINBOARDCODE,' ')=' ' OR SB_MAINBOARDCODE=主板) "+
 				" AND (NVL(SB_LCDCODE,' ')=' ' OR SB_LCDCODE=液晶屏) AND (NVL(SB_BATTERYCODE,' ')=' ' OR SB_BATTERYCODE=电池) AND (NVL(SB_ADAPTERCODE,' ')=' ' OR SB_ADAPTERCODE=适配器条码) and sb_emid="+em_id;
 		baseDao.execute(Sql);
 		return rs0.getInt("num");