Ver Fonte

【华信科】【富勒WMS对接】【入库确认】【确认状态限制】

wuyx há 9 meses atrás
pai
commit
1be4963623

+ 1 - 0
src/main/java/com/uas/eis/entity/vwms/entity/ProdInout.java

@@ -22,6 +22,7 @@ public class ProdInout {
     private String piOrderType;
     private Integer piSendwmsflag;
     private String piWmsInType;
+    private String piWmsstatus;
 
 
 

+ 18 - 5
src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

@@ -663,6 +663,11 @@ public class ERPServiceImpl implements ERPService {
             retMap.put("message","没有需要同步的明细。");
             return retMap;
         }
+        if(prodInOut.getPiWmsstatus().equals("已确认")){
+            retMap.put("success",false);
+            retMap.put("message","单据已确认采集,不允许重复同步。");
+            return retMap;
+        }
         //构建请求主体
         String masterName = baseDao.queryForObject("select max(ma_function) masterName from DATACENTER_P.master where ma_user = '"+master+"' ",String.class);
         Long piId = prodInOut.getPiId();
@@ -806,6 +811,11 @@ public class ERPServiceImpl implements ERPService {
             return retMap;
         }
         ProdInout prodInOut = getIO(master,id,true);
+        if(prodInOut.getPiWmsstatus().equals("已确认")){
+            retMap.put("success",false);
+            retMap.put("message","单据已确认采集,不允许取消。");
+            return retMap;
+        }
         Long piId = prodInOut.getPiId();
         EntryOrderVastRequest<EntryOrderCancel> cancelIOSRequest = new EntryOrderVastRequest();
         EntryOrdersRequest<EntryOrderCancel> orders = new EntryOrdersRequest();
@@ -873,7 +883,7 @@ public class ERPServiceImpl implements ERPService {
         List<ProdInout> prodInOuts = baseDao.getJdbcTemplate().query(
                 "select pi_Wmsordertype piOrderType,pi_id piId,pi_inoutno piInoutno,pi_class piClass,pi_type piType,to_char(pi_recorddate,'yyyy-mm-dd hh24:mi:ss') piDate" +
                         ",pi_Cardcode piCardcode,pi_Title piTitle,pi_Recordman piRecordman,to_char(pi_recorddate,'yyyy-mm-dd hh24:mi:ss') piRecorddate,pi_Remark piRemark" +
-                        ",abs(nvl(pi_sendwmsflag,0)) piSendwmsflag,nvl(pi_WmsInType,'in') piWmsInType " +
+                        ",abs(nvl(pi_sendwmsflag,0)) piSendwmsflag,nvl(pi_WmsInType,'in') piWmsInType,pi_wmsstatus piWmsstatus " +
                         " from "+master+".prodinout where pi_id = "+id,
                 new BeanPropertyRowMapper<ProdInout>(ProdInout.class));
         ProdInout prodInOut = prodInOuts.get(0);
@@ -889,10 +899,13 @@ public class ERPServiceImpl implements ERPService {
             List<Prodiodetail> details = baseDao.getJdbcTemplate().query(detSql,
                     new BeanPropertyRowMapper<Prodiodetail>(Prodiodetail.class));
             prodInOut.setDetails(details);
-            //写入 prodiowms_Lines
-            baseDao.execute("delete from "+master+".prodiowms_lines where pl_piid = "+prodInOut.getPiId());
-            baseDao.execute("INSERT INTO "+master+".prodiowms_Lines(PL_PIID,LINENO, ITEMCODE, PLANQTY)" +
-                    "select pdPiid,pdPdno,pdProdcode,pdQty from ("+detSql+") ");
+            //pi_wmsstatus
+            if(prodInOut.getPiWmsstatus().equals("已确认")){
+                //写入 prodiowms_Lines
+                baseDao.execute("delete from "+master+".prodiowms_lines where pl_piid = "+prodInOut.getPiId());
+                baseDao.execute("INSERT INTO "+master+".prodiowms_Lines(PL_PIID,LINENO, ITEMCODE, PLANQTY)" +
+                        "select pdPiid,pdPdno,pdProdcode,pdQty from ("+detSql+") ");
+            }
         }
         return prodInOut;
     }