Преглед на файлове

漳州万利达MES,返工需求单生成的工单下放,需要自动插接,更新序列号下一工单 语句优化,改成用in

xiaost преди 6 дни
родител
ревизия
dff5dd66ac
променени са 1 файла, в които са добавени 6 реда и са изтрити 3 реда
  1. 6 3
      src/com/uas/mes/pm/service/impl/MakeBaseServiceImpl.java

+ 6 - 3
src/com/uas/mes/pm/service/impl/MakeBaseServiceImpl.java

@@ -1587,9 +1587,12 @@ public class MakeBaseServiceImpl implements MakeBaseService {
 					+ " left join rework on re_id=rd_reid where re_rwmo=?) and mb_makecode=(select re_sourcemo from rework where re_id =?) and mb_status=0",ma_code,ma_code,re_id);
 					+ " left join rework on re_id=rd_reid where re_rwmo=?) and mb_makecode=(select re_sourcemo from rework where re_id =?) and mb_status=0",ma_code,ma_code,re_id);
 			//如果是需要自动拆解,则进行拆解作业,更新状态为拆解
 			//如果是需要自动拆解,则进行拆解作业,更新状态为拆解
 			if(re_autodecom!=0){
 			if(re_autodecom!=0){
-				baseDao.execute("  update makeserial A set ms_nextmacode=null where exists(select 1 from rework inner join reworkdetail on  rd_reid=re_id inner join makeserial B on B.ms_sncode=rd_sncode and ms_makecode=rd_scmacode "
-						+ " inner join makesndecompose on msd_recode=re_code INNER JOIN CRAFTMATERIAL ON  cm_firstsn=B.ms_firstsn and msd_fsoncode=cm_fsoncode and msd_stepcode=cm_stepcode "
-						+ " where re_id=?  AND nvl(cm_status,0)=0  and cm_barcode=A.ms_sncode and cm_soncode=A.ms_prodcode  and NVL(A.MS_NEXTMACODE,' ')<>' ' AND A.MS_NEXTMACODE=cm_makecode) ",re_id);
+				baseDao.execute("update makeserial A set ms_nextmacode=null where NVL(A.MS_NEXTMACODE,' ')<>' ' and " +
+						" (MS_NEXTMACODE,ms_sncode, ms_prodcode) in (select cm_makecode,cm_barcode,cm_soncode from rework inner join reworkdetail on  rd_reid=re_id " +
+						" inner join makeserial B on B.ms_sncode=rd_sncode and b.ms_makecode=rd_scmacode " +
+						" inner join makesndecompose on msd_recode=re_code INNER JOIN CRAFTMATERIAL ON  cm_firstsn=B.ms_firstsn " +
+						" and msd_fsoncode=cm_fsoncode and msd_stepcode=cm_stepcode " +
+						" where re_id=?  AND nvl(cm_status,0)=0 )",re_id);
 				baseDao.execute(" update craftmaterial set cm_status=-1,cm_dropcode=?,cm_dropman=?,"
 				baseDao.execute(" update craftmaterial set cm_status=-1,cm_dropcode=?,cm_dropman=?,"
 						+" cm_dropdate=sysdate where  exists (select 1  from rework inner join reworkdetail on "
 						+" cm_dropdate=sysdate where  exists (select 1  from rework inner join reworkdetail on "
 						+" rd_reid=re_id  inner join makeserial on ms_sncode=rd_sncode or ms_code = rd_sncode inner join makesndecompose on msd_recode=re_code where re_id=? "
 						+" rd_reid=re_id  inner join makeserial on ms_sncode=rd_sncode or ms_code = rd_sncode inner join makesndecompose on msd_recode=re_code where re_id=? "