Просмотр исходного кода

【英唐-CATL条码对接】【新增“创建中” 状态,避免重复点击对接】

wuyx 7 месяцев назад
Родитель
Сommit
d03e55c839
1 измененных файлов с 19 добавлено и 3 удалено
  1. 19 3
      src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

+ 19 - 3
src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

@@ -199,17 +199,31 @@ public class ERPServiceImpl implements ERPService {
         retMap.put("success",true);
         logger.info("createSticker-Begin:master {} id {}",master,id);
         SpObserver.putSp(master);
-        SqlRowList docMain = baseDao.queryForRowSet("select nvl(ca_centerflag,0) ca_centerflag from CATLDOC where ca_id = "+id);
+        SqlRowList docMain = baseDao.queryForRowSet("select nvl(ca_centerflag,0) ca_centerflag,nvl(ca_docstate,0) ca_docstate from CATLDOC where ca_id = "+id);
         if(docMain.next()){
+            if(docMain.getGeneralInt("ca_centerflag") == 1){
+                retMap.put("success",false);
+                retMap.put("message","单据已创建CATL条码。");
+                logger.info("createSticker-F:master {} id {} 单据已创建CATL条码。",master,id);
+                return retMap;
+            }
+            if(docMain.getGeneralInt("ca_centerflag") == 2){
+                retMap.put("success",false);
+                retMap.put("message","CATL条码正在创建中,请勿重复点击。");
+                logger.info("createSticker-F:master {} id {} CATL条码正在创建中,请勿重复点击。",master,id);
+                return retMap;
+            }
             if(docMain.getGeneralInt("ca_centerflag")<0){
                 return createStickerByCenter(master,id);
             }
         }else {
             retMap.put("success",false);
-            retMap.put("message","没有需要对接的单据.");
-            logger.info("createSticker-F:master {} id {} no docLoist!",master,id);
+            retMap.put("message","没有需要对接的单据");
+            logger.info("createSticker-F:master {} id {} no 没有需要对接的单据",master,id);
             return retMap;
         }
+        //创建中
+        baseDao.execute("update CatlDoc set ca_docstate=2 where ca_id = "+id);
         SqlRowList docLoist = baseDao.queryForRowSet(
                 "SELECT * FROM ( select CD_CPN matnr,CD_DC ztcnno,pr_capacity zzbsmount,pr_zxbzs zzxsmount,pr_zxbzs zbzsmount " +
                         "  ,sum(CD_QTY) zmount,cd_wflag zwidth,cd_lotno zzstz " +
@@ -366,6 +380,8 @@ public class ERPServiceImpl implements ERPService {
         retMap.put("success",true);
         logger.info("createStickerByCenter-Begin:master {} id {}",master,id);
         SpObserver.putSp(master);
+        //创建中
+        baseDao.execute("update CatlDoc set CA_DOCSTATE=2 where ca_id = "+id);
         SqlRowList docList = baseDao.queryForRowSet("select cd_cpn,min(CD_DC) ztcnno,pr_capacity zzbsmount,pr_zxbzs zzxsmount,pr_zxbzs zbzsmount ,cd_newboxcode " +
                 "  ,sum(CD_QTY) zmount,cd_wflag zwidth,ca_code||'_'||cd_newboxcode zzstz " +
                 "  ,cd_newboxcode||(case when cd_remark is not null then ' '||cd_remark else '' end) zremark,count(1) codecount,wm_concat(cd_id) cd_ids  " +