Browse Source

SN批量查询 修改

wub 6 years ago
parent
commit
6a7d3f9dba

+ 1 - 3
WebContent/app/controller/pm/mes/SNBatch.js

@@ -111,9 +111,7 @@ Ext.define('erp.controller.pm.mes.SNBatch', {
     			if(localJson.success){
     				showMessage('提示', '操作成功!', 1000);    	
     				//导出
-    				 var con="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="+Ext.getCmp('em_id').value;
+    				 var con=" sb_emid="+Ext.getCmp('em_id').value;
 					 me.createExcel('SNBatch!ManyQuery', 'detailgrid', con);
 					 grid.GridUtil.loadNewStore(grid, {
                             caller: caller,

+ 52 - 15
src/com/uas/mes/pm/service/impl/SNBatchServiceImpl.java

@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -60,7 +61,7 @@ public class SNBatchServiceImpl implements SNBatchService {
 			}
 		}
 		baseDao.execute(gridSql);
-		rs0 = baseDao.queryForRowSet("select sum(nn) num from (select count(1) nn "+
+		/*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) " +
@@ -74,21 +75,57 @@ public class SNBatchServiceImpl implements SNBatchService {
 			if (rs0.getInt("num")<0){
 				BaseUtil.showError("未找到相关数据");
 			}
+		}*/
+		baseDao.execute("delete from sn where sn_emid="+em_id);
+		List <String> stringList = new ArrayList<>();
+		List <String> stringList1 = new ArrayList<>();
+		/*stringList1.add(1,"sb_sncode=ms_sncode");
+		stringList1.add(2,"sb_imei=ms_imei1");
+		stringList1.add(3,"sm_mac=ms_mac");
+		stringList1.add(4,"sb_mainboardcode=cm_barcode");
+		stringList1.add(5,"sb_lcdcode=cm_barcode");
+		stringList1.add(6,"sb_batterycode=cm_barcode");
+		stringList1.add(7,"sb_adaptercode=cm_barcode");*/
+		stringList1.add("sb_sncode=ms_sncode");
+		stringList1.add("sb_imei=ms_imei1");
+		stringList1.add("sb_mac=ms_mac");
+		stringList1.add("sb_mainboardcode=cm_barcode");
+		stringList1.add("sb_lcdcode=cm_barcode");
+		stringList1.add("sb_batterycode=cm_barcode");
+		stringList1.add("sb_adaptercode=cm_barcode");
+		for (int i = 0; i <stringList1.size(); i++) {
+			//String s = stringList1.get(i);
+			stringList.add("insert into SN(SN_ID,sn_emid,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,SN_MS_CHECKNO, SN_MA_QTY, SN_PA_WEIGHT, SN_PI_RECORDDATE, SN_PD_BUILDDATE, SN_PD_OUTBOXCODE)"+
+					"select SN_seq.nextval,'"+em_id+"' ,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_machinetype,ms_checkno,ma_qty,pa_weight,pi_recorddate,pd_builddate,pd_outboxcode"+
+					" from (select max(sb_emid)sb_emid,max(sb_sncode)sb_sncode,ms_sncode,max(ms_linecode)ms_linecode,max(ms_indate)ms_indate,max(ms_grossw)ms_grossw,max(ms_checkno)ms_checkno,max(ma_qty)ma_qty,max(pa_weight)pa_weight,"+
+					" max(pi_recorddate)pi_recorddate,max(pd_builddate)pd_builddate,max(pd_outboxcode)pd_outboxcode,"+
+					" max(ms_firstsn)ms_firstsn,max(ms_prodcode)ms_prodcode,max(ms_makecode)ms_makecode,max(MS_SALECODE)MS_SALECODE"+
+					",max(MS_BADTIMES)MS_BADTIMES,max(MS_IMEI1)MS_IMEI1,max(MS_IMEI2)MS_IMEI2,max(MS_MAC)MS_MAC,max(MS_BT)MS_BT,max(SIR_REMARK)SIR_REMARK,"+
+					" max(SIR_SOFTVER)SIR_SOFTVER,"+
+					" max(case when pr_detail like '%板%' then cm_barcode else ' ' end) 主板"+
+					",max(case when pr_detail like '%屏%' then cm_barcode else ' ' end) 液晶屏"+
+					",max(case when pr_detail like '%电池%' then cm_barcode else ' ' end) 电池"+
+					",max(case when pr_detail like '%KEY%' then cm_barcode else ' ' end)  KEY"+
+					",max(case when pr_detail like '%键盘%' then cm_barcode else ' ' end)  键盘条码"+
+					",max(case when pr_detail like '%适配器%' then cm_barcode else ' ' end) 适配器条码"+
+					",max(case when pr_detail like '%标识件%' then cm_barcode else ' ' end) 标识件"+
+					",max(case when pr_detail like '%光机%' then cm_barcode else ' ' end) 光机"+
+					",max(case when pr_detail like '%USB%' then cm_barcode else ' ' end) USB"+
+					",max(case when pr_detail like '%空白贴纸%' then cm_barcode else ' ' end) PCBA序列号"+
+					",max(case when pr_detail like '%BT%' then cm_barcode else ' ' end) PRODUCTKEYID from SNBATCH"+
+					" inner JOIN CraftMaterialSN_view ON "+stringList1.get(i)+
+					" left join package on ms_outboxcode=pa_outboxcode left join packagedetail on pd_barcode=ms_sncode left join prodinout"+
+					" on ms_outno= pi_inoutno left join make on ms_makecode=ma_code"+
+					" LEFT JOIN PRODUCT ON (PR_CODE=cm_soncode) left  join SNRELATIONINFORECORD on sir_firstsn=ms_firstsn"+
+					" where sb_emid="+em_id+" and ms_outboxcode is not null group by ms_sncode) left join product on ms_prodcode=pr_code");
 		}
-		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 (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");
+
+		baseDao.execute(stringList);
+		//return rs0.getInt("num");
+		return 1;
 	}
 	
 	@Override