|
|
@@ -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");
|