Browse Source

报关对接生成出货审核对接失败 删除出货单

dingyl 5 years ago
parent
commit
a7ed9f18f1
1 changed files with 12 additions and 0 deletions
  1. 12 0
      src/main/java/com/uas/eis/serviceImpl/XiangXServiceImpl.java

+ 12 - 0
src/main/java/com/uas/eis/serviceImpl/XiangXServiceImpl.java

@@ -338,6 +338,12 @@ public class XiangXServiceImpl implements XiangXService {
                             map.put("error", "报关失败:"+resMap.get("error"));
                             map.put("error", "报关失败:"+resMap.get("error"));
                             baseDao.execute("insert into ERPSYNC_MESSAGELOG (EL_ID,EL_DATA,EL_TYPE,EL_ERROR,EL_DATE,EL_STATUS,EL_CODE) values " +
                             baseDao.execute("insert into ERPSYNC_MESSAGELOG (EL_ID,EL_DATA,EL_TYPE,EL_ERROR,EL_DATE,EL_STATUS,EL_CODE) values " +
                                     "(ERPSYNC_MESSAGELOG_SEQ.nextval,'','报关申请','报关失败',sysdate,0,'" + poId + "')");
                                     "(ERPSYNC_MESSAGELOG_SEQ.nextval,'','报关申请','报关失败',sysdate,0,'" + poId + "')");
+                            baseDao.execute("UPDATE "+list.get(3)+".SaleDetail SET SD_YQTY=NVL((SELECT SUM(NVL(PD_OUTQTY,0)-CASE WHEN NVL(PD_STATUS,0)>0 THEN NVL(PD_INQTY,0) ELSE 0 END) " +
+                                            " FROM "+list.get(3)+".PRODIODETAIL WHERE pd_piid<>"+list.get(2)+" and PD_ORDERCODE=SD_CODE AND PD_ORDERDETNO=SD_DETNO AND PD_PICLASS IN ('出货单','销售退货单')),0) " +
+                                            " where exists (select 1 from "+list.get(3)+".PRODIODETAIL where PD_ORDERCODE=SD_CODE AND PD_ORDERDETNO=SD_DETNO " +
+                                            " and pd_piid="+list.get(2)+")");
+                            baseDao.execute("delete "+list.get(3)+".prodiodetail where pd_piid="+list.get(2));
+                            baseDao.execute("delete "+list.get(3)+".prodinout where pi_id="+list.get(2));
                             return map;
                             return map;
                         }
                         }
                     } catch (Exception e){
                     } catch (Exception e){
@@ -345,6 +351,12 @@ public class XiangXServiceImpl implements XiangXService {
                         map.put("error", "报关失败:"+e.getMessage());
                         map.put("error", "报关失败:"+e.getMessage());
                         baseDao.execute("insert into ERPSYNC_MESSAGELOG (EL_ID,EL_DATA,EL_TYPE,EL_ERROR,EL_DATE,EL_STATUS,EL_CODE) values " +
                         baseDao.execute("insert into ERPSYNC_MESSAGELOG (EL_ID,EL_DATA,EL_TYPE,EL_ERROR,EL_DATE,EL_STATUS,EL_CODE) values " +
                                 "(ERPSYNC_MESSAGELOG_SEQ.nextval,'','报关申请','报关失败',sysdate,0,'" + poId + "')");
                                 "(ERPSYNC_MESSAGELOG_SEQ.nextval,'','报关申请','报关失败',sysdate,0,'" + poId + "')");
+                        baseDao.execute("UPDATE "+list.get(3)+".SaleDetail SET SD_YQTY=NVL((SELECT SUM(NVL(PD_OUTQTY,0)-CASE WHEN NVL(PD_STATUS,0)>0 THEN NVL(PD_INQTY,0) ELSE 0 END) " +
+                                " FROM "+list.get(3)+".PRODIODETAIL WHERE pd_piid<>"+list.get(2)+" and PD_ORDERCODE=SD_CODE AND PD_ORDERDETNO=SD_DETNO AND PD_PICLASS IN ('出货单','销售退货单')),0) " +
+                                " where exists (select 1 from "+list.get(3)+".PRODIODETAIL where PD_ORDERCODE=SD_CODE AND PD_ORDERDETNO=SD_DETNO " +
+                                " and pd_piid="+list.get(2)+")");
+                        baseDao.execute("delete "+list.get(3)+".prodiodetail where pd_piid="+list.get(2));
+                        baseDao.execute("delete "+list.get(3)+".prodinout where pi_id="+list.get(2));
                         return map;
                         return map;
                     }
                     }
                 }
                 }