Browse Source

优化 入库确认 出库确认 接口

阿伏兔 4 năm trước cách đây
mục cha
commit
8bfc2f51bc

+ 128 - 118
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -126,7 +126,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         List<Map<String, Object>> mapList = tWarehousebillsitemsMapper.selectGoodsTransferitemsList(tWarehousebillsitems);
         if (StringUtils.isNotEmpty(mapList)) {
             for (Map<String, Object> wb : mapList) {
-                TWhgenleg tWhgenleg = new TWhgenleg();
+                /*TWhgenleg tWhgenleg = new TWhgenleg();
                 tWhgenleg.setfCorpid(tWarehousebills.getfCorpid());
                 if (StringUtils.isNotNull(wb.get("fGoodsid"))) {
                     tWhgenleg.setfGoodsid(((Integer) wb.get("fGoodsid")).longValue());
@@ -139,7 +139,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 TWhgenleg whgenleg = tWhgenlegMapper.selectTWhgenleg(tWhgenleg);
                 if (StringUtils.isNotNull(whgenleg)) {
                     wb.put("fQtyblc", whgenleg.getfQtyblc());
-                }
+                }*/
                 if (StringUtils.isNotNull(wb.get("fGoodsid"))) {
                     Integer fGoodsid = (Integer) wb.get("fGoodsid");
                     goodsId.add(fGoodsid.longValue());
@@ -457,16 +457,16 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         if (tWarehousebillsitems != null) {
             JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
             List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
-            int  notInStorage=0;
-            int  Stored=0;
+            int notInStorage = 0;
+            int Stored = 0;
             for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
-                if(wbItem.getfBillstatus()==null){
+                if (wbItem.getfBillstatus() == null) {
                     wbItem.setfBillstatus("1");
                     notInStorage++;
-                }else if(wbItem.getfBillstatus().equals("6")) {
+                } else if (wbItem.getfBillstatus().equals("6")) {
                     wbItem.setfBillstatus("6");
                     Stored++;
-                } else if(wbItem.getfBillstatus().equals("1")){
+                } else if (wbItem.getfBillstatus().equals("1")) {
                     wbItem.setfBillstatus("1");
                     notInStorage++;
                 }
@@ -478,11 +478,11 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
             }
             // 录入库存明细整体状态
-            TWarehouseBills warehouseBill=new TWarehouseBills();
+            TWarehouseBills warehouseBill = new TWarehouseBills();
             warehouseBill.setfId(fPid);
-            if(Objects.equals(Stored,0)){ // 未入库
+            if (Objects.equals(Stored, 0)) { // 未入库
                 warehouseBill.setfItemsStatus("1");
-            } else if(Objects.equals(notInStorage,0)){ // 已入库
+            } else if (Objects.equals(notInStorage, 0)) { // 已入库
                 warehouseBill.setfItemsStatus("6");
             } else { // 有已入库、有未入库
                 warehouseBill.setfItemsStatus("2");
@@ -530,12 +530,13 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 
     /**
      * 入库详情入账
-     * @param warehouseBills        主表
-     * @param warehousebillsitems   明细
-     * @param whgenleg              附件
-     * @param loginUser             当前登录人
-     * @param billsType             状态
-     * @return  结果
+     *
+     * @param warehouseBills      主表
+     * @param warehousebillsitems 明细
+     * @param whgenleg            附件
+     * @param loginUser           当前登录人
+     * @param billsType           状态
+     * @return 结果
      */
     @Override
     @Transactional
@@ -553,7 +554,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             tWarehouseBills.setUpdateTime(new Date());
             tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
             fPid = tWarehouseBills.getfId();
-            tWarehousebillsitemsMapper.deleteByFPid(fPid);
             tEnclosureMapper.deleteByFPid(fPid);
         } else {
             // 业务编码
@@ -574,48 +574,54 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
         List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
         for (TWarehousebillsitems item : warehousebillsitemsList) {
-            if (!"6".equals(item.getfBillstatus())) {
-                TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item);
-                if (StringUtils.isNotNull(tWhgenle)) {
-                    updateTWhgenlegData(item, tWhgenle.getfId(), billsType);
+            TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item);
+            if (StringUtils.isNotNull(tWhgenle)) {
+                int i = updateTWhgenlegData(item, tWhgenle.getfId(), billsType);
+                if (i <= 0) {
                     return AjaxResult.error("更新库存总账失败");
-                } else {
-                    if (instalTWhgenleg(tWarehouseBills, item, loginUser.getUser()) <= 0) {
-                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return AjaxResult.error("新增库存总账失败");
-                    }
                 }
-                item.setfPid(fPid);
-                item.setfBillstatus("6");
-                item.setCreateBy(loginUser.getUser().getUserName());
-                item.setCreateTime(new Date());
-                if (tWarehousebillsitemsMapper.insertTWarehousebillsitems(item) <= 0) {
+            } else {
+                if (instalTWhgenleg(tWarehouseBills, item, loginUser.getUser()) <= 0) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return AjaxResult.error("新增库存明细失败");
+                    return AjaxResult.error("新增库存总账失败");
                 }
             }
+            item.setfPid(fPid);
+            item.setfBillstatus("6");
+            item.setCreateBy(loginUser.getUser().getUserName());
+            item.setCreateTime(new Date());
+            int num = 0;
+            if (StringUtils.isNotNull(item.getfId())) {
+                num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(item);
+            } else {
+                num = tWarehousebillsitemsMapper.insertTWarehousebillsitems(item);
+            }
+            if (num <= 0) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("新增库存明细失败");
+            }
         }
         // 查询所有库存明细 修改仓库主表状态
-        int  notInStorage=0;
-        int  Stored=0;
+        int notInStorage = 0;
+        int Stored = 0;
         TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems();
         tWarehousebillsitems.setfPid(fPid);
-        List<TWarehousebillsitems> warehousebillsitemsList1 =tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
-        for(TWarehousebillsitems item:warehousebillsitemsList1){
-            if(item.getfBillstatus()==null){
+        List<TWarehousebillsitems> warehousebillsitemsList1 = tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
+        for (TWarehousebillsitems item : warehousebillsitemsList1) {
+            if (item.getfBillstatus() == null) {
                 notInStorage++;
-            }else if(item.getfBillstatus().equals("6")) {
+            } else if (item.getfBillstatus().equals("6")) {
                 Stored++;
-            } else if(item.getfBillstatus().equals("1")){
+            } else if (item.getfBillstatus().equals("1")) {
                 notInStorage++;
             }
         }
-         // 录入库存明细整体状态
-        TWarehouseBills warehouseBill=new TWarehouseBills();
+        // 录入库存明细整体状态
+        TWarehouseBills warehouseBill = new TWarehouseBills();
         warehouseBill.setfId(fPid);
-        if(Objects.equals(Stored,0)){ // 未入库
+        if (Objects.equals(Stored, 0)) { // 未入库
             warehouseBill.setfItemsStatus("1");
-        } else if(Objects.equals(notInStorage,0)){ // 已入库
+        } else if (Objects.equals(notInStorage, 0)) { // 已入库
             warehouseBill.setfItemsStatus("6");
         } else { // 有已入库、有未入库
             warehouseBill.setfItemsStatus("2");
@@ -632,11 +638,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             }
         }
         // 添加成功 主键返回 前台
-        return AjaxResult.success("成功",fPid);
+        return AjaxResult.success("成功", fPid);
     }
 
     /**
-     *    出库、调拨、货转 确认
+     * 出库、调拨、货转 确认
+     *
      * @param warehouseBills
      * @param warehousebillsitems
      * @param loginUser
@@ -681,103 +688,107 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
         int i = 1;
         for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
-            if (!"6".equals(wbItem.getfBillstatus())) {
-                // 查询总账是否存在
-                TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, wbItem);
-                //  入库数特殊不判断入账
-                if ("SJCK".equals(billsType)) { // 出库 查询
-                    if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
+            // 查询总账是否存在
+            TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, wbItem);
+            //  入库数特殊不判断入账
+            if ("SJCK".equals(billsType)) { // 出库 查询
+                if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("库存明细第" + i + "行库存为空");
+                } else { // 非空修改库存总账
+                    //  库存 <  出库件数  、
+                    if (tWhgenle.getfQtyblc() < wbItem.getfQty()) {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return AjaxResult.error("库存明细第" + i + "行库存为空");
-                    } else { // 非空修改库存总账
-                            //  库存 <  出库件数  、
-                            if (tWhgenle.getfQtyblc() < wbItem.getfQty() ) {
-                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return AjaxResult.error("库存明细第" + i + "行库存不足");
-                            }
-                            updateTWhgenlegData(wbItem, tWhgenle.getfId(), billsType);
+                        return AjaxResult.error("库存明细第" + i + "行库存不足");
                     }
-                } else if ("CKDB".equals(billsType)) { // 调拨查询
-                    if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
+                    updateTWhgenlegData(wbItem, tWhgenle.getfId(), billsType);
+                }
+            } else if ("CKDB".equals(billsType)) { // 调拨查询
+                if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("库存明细第" + i + "行库存为空");
+                } else { // 非空修改库存总账
+                    if (tWhgenle.getfQtyblc() < wbItem.getfQty()) {  //  1、  库存 <  调拨件数  提示库存不足
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return AjaxResult.error("库存明细第" + i + "行库存为空");
-                    } else { // 非空修改库存总账
-                            if (tWhgenle.getfQtyblc() < wbItem.getfQty()) {  //  1、  库存 <  调拨件数  提示库存不足
-                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return AjaxResult.error("库存明细第" + i + "行库存不足");
-                            } else {  // 2、 库存足够 先 进行出库操作
-                                updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJCK");
-                            }
-                            // 3、 进行入库操作 查询是否存在库存
-                            tWarehouseBills.setfCorpid(tWarehouseBills.getfTocorpid()); // 新货权方
-                            TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehouseBills, wbItem);
-                            if (StringUtils.isNull(tWhgenle1)) {   // 5、 不存在 进行新增库存
-                                instalTWhgenleg(tWarehouseBills, wbItem, loginUser.getUser());
-                            } else { // 4、 存在 进行跟新库存
-                                    updateTWhgenlegData(wbItem, tWhgenle1.getfId(), "SJRK");
-                            }
+                        return AjaxResult.error("库存明细第" + i + "行库存不足");
+                    } else {  // 2、 库存足够 先 进行出库操作
+                        updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJCK");
                     }
-                } else if ("HQZY".equals(billsType)) { // 货转
-                    if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
-                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return AjaxResult.error("库存明细第" + i + "行库存为空");
-                    } else { // 非空修改库存总账
-                            if (tWhgenle.getfQtyblc() < wbItem.getfQty()) {  //  1、  库存 <  调拨件数  提示库存不足
-                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return AjaxResult.error("库存明细第" + i + "行库存不足");
-                            } else {  // 2、 库存足够 先 进行出库操作
-                                updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJCK");
-                            }
-                            // 3、 进行入库操作 查询是否存在库存
-                            tWarehouseBills.setfCorpid(tWarehouseBills.getfTocorpid()); // 新货权方
-                            TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehouseBills, wbItem);
-                            if (StringUtils.isNull(tWhgenle1)) {   // 5、 不存在 进行新增库存
-                                instalTWhgenleg(tWarehouseBills, wbItem, loginUser.getUser());
-                            } else { // 4、 存在 进行跟新库存
-                                updateTWhgenlegData(wbItem, tWhgenle1.getfId(), "SJRK");
-                            }
+                    // 3、 进行入库操作 查询是否存在库存
+                    tWarehouseBills.setfCorpid(tWarehouseBills.getfTocorpid()); // 新货权方
+                    TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehouseBills, wbItem);
+                    if (StringUtils.isNull(tWhgenle1)) {   // 5、 不存在 进行新增库存
+                        instalTWhgenleg(tWarehouseBills, wbItem, loginUser.getUser());
+                    } else { // 4、 存在 进行跟新库存
+                        updateTWhgenlegData(wbItem, tWhgenle1.getfId(), "SJRK");
                     }
                 }
-                i++;
-                wbItem.setfPid(fPid);
-                wbItem.setfBillstatus("6");
-                wbItem.setCreateBy(loginUser.getUser().getUserName());
-                wbItem.setCreateTime(new Date());
-                if (tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem) <= 0) {
+            } else if ("HQZY".equals(billsType)) { // 货转
+                if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return AjaxResult.error("库存明细更新失败");
+                    return AjaxResult.error("库存明细第" + i + "行库存为空");
+                } else { // 非空修改库存总账
+                    if (tWhgenle.getfQtyblc() < wbItem.getfQty()) {  //  1、  库存 <  调拨件数  提示库存不足
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("库存明细第" + i + "行库存不足");
+                    } else {  // 2、 库存足够 先 进行出库操作
+                        updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJCK");
+                    }
+                    // 3、 进行入库操作 查询是否存在库存
+                    tWarehouseBills.setfCorpid(tWarehouseBills.getfTocorpid()); // 新货权方
+                    TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehouseBills, wbItem);
+                    if (StringUtils.isNull(tWhgenle1)) {   // 5、 不存在 进行新增库存
+                        instalTWhgenleg(tWarehouseBills, wbItem, loginUser.getUser());
+                    } else { // 4、 存在 进行跟新库存
+                        updateTWhgenlegData(wbItem, tWhgenle1.getfId(), "SJRK");
+                    }
                 }
             }
-
+            i++;
+            wbItem.setfPid(fPid);
+            wbItem.setfBillstatus("6");
+            wbItem.setfBsdate(tWarehouseBills.getfBsdate());
+            wbItem.setCreateBy(loginUser.getUser().getUserName());
+            wbItem.setCreateTime(new Date());
+            int num = 0;
+            if (StringUtils.isNotNull(wbItem.getfId())) {
+                num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(wbItem);
+            } else {
+                num = tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
+            }
+            if (num <= 0) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("库存明细更新失败");
+            }
         }
         // 查询所有库存明细 修改仓库主表状态
-        int  notInStorage=0;
-        int  Stored=0;
+        int notInStorage = 0;
+        int Stored = 0;
         TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems();
         tWarehousebillsitems.setfPid(fPid);
-        List<TWarehousebillsitems> warehousebillsitemsList1 =tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
-        for(TWarehousebillsitems item:warehousebillsitemsList1){
-            if(item.getfBillstatus()==null){
+        List<TWarehousebillsitems> warehousebillsitemsList1 = tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
+        for (TWarehousebillsitems item : warehousebillsitemsList1) {
+            if (item.getfBillstatus() == null) {
                 notInStorage++;
-            }else if(item.getfBillstatus().equals("6")) {
+            } else if (item.getfBillstatus().equals("6")) {
                 Stored++;
-            } else if(item.getfBillstatus().equals("1")){
+            } else if (item.getfBillstatus().equals("1")) {
                 notInStorage++;
             }
         }
         // 录入库存明细整体状态
-        TWarehouseBills warehouseBill=new TWarehouseBills();
+        TWarehouseBills warehouseBill = new TWarehouseBills();
         warehouseBill.setfId(fPid);
-        if(Objects.equals(Stored,0)){ // 未入库
+        if (Objects.equals(Stored, 0)) { // 未入库
             warehouseBill.setfItemsStatus("1");
-        } else if(Objects.equals(notInStorage,0)){ // 已入库
+        } else if (Objects.equals(notInStorage, 0)) { // 已入库
             warehouseBill.setfItemsStatus("6");
         } else { // 有已入库、有未入库
             warehouseBill.setfItemsStatus("2");
         }
         tWarehouseBillsMapper.updateTWarehousebills(warehouseBill);
         // 添加成功 主键返回 前台
-        return AjaxResult.success("成功",fPid);
+        return AjaxResult.success("成功", fPid);
     }
 
     // 入库 收费明细 校验
@@ -811,11 +822,11 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Override
     public int deleteTWarehousebillsByIds(Long[] fIds) {
         // 取出业务编号、 放入 billno_del
-        for(Long id:fIds){
+        for (Long id : fIds) {
             // 1、查询主表信息
             TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(id);
             // 2、业务编号、客存编号 放入 billno_del
-            BillnoDel  billnoDel =new BillnoDel();
+            BillnoDel billnoDel = new BillnoDel();
             billnoDel.setBillType(tWarehousebills.getfBilltype());
             billnoDel.setBillNo(tWarehousebills.getfBillno());
             billnoDelMapper.insertBillnoDel(billnoDel);
@@ -924,5 +935,4 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     }
 
 
-
 }

+ 2 - 1
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

@@ -46,6 +46,7 @@
         <result property="fBillstatus" column="f_billstatus"/>
         <result property="delFlag" column="del_flag"/>
         <result property="createBy" column="create_by"/>
+        <result property="fItemsStatus" column="f_items_status"/>
         <result property="createTime" column="create_time"/>
         <result property="updateBy" column="update_by"/>
         <result property="updateTime" column="update_time"/>
@@ -53,7 +54,7 @@
     </resultMap>
 
     <sql id="selectTWarehousebillsVo">
-        select f_id, f_billno, f_customsdeclartion, f_originalbillno, f_deptid, f_bsdeptid, f_contacts, f_marks, f_tel, f_chargedate, f_corpid, f_tocorpid, f_stltypeid, f_bscorpno, f_warehouseid, f_storekeeper, f_bsdate, f_planqty, f_plangrossweight, f_plannetweight, f_planvolumn, f_qty, f_grossweight, f_netweight, f_volumn, f_trademodeid, f_billingway, f_sbu, f_feetunit, f_mblno, f_vslvoy, f_eta, f_customno, f_ifweigh, f_ifpledge, f_ifdamage, f_bankcorpid, f_billtype, f_billstatus, del_flag, create_by, create_time, update_by, update_time, remark from t_warehousebills
+        select f_id, f_billno, f_customsdeclartion, f_originalbillno, f_deptid, f_bsdeptid, f_contacts, f_marks, f_tel, f_chargedate, f_corpid, f_tocorpid, f_stltypeid, f_items_status,f_bscorpno, f_warehouseid, f_storekeeper, f_bsdate, f_planqty, f_plangrossweight, f_plannetweight, f_planvolumn, f_qty, f_grossweight, f_netweight, f_volumn, f_trademodeid, f_billingway, f_sbu, f_feetunit, f_mblno, f_vslvoy, f_eta, f_customno, f_ifweigh, f_ifpledge, f_ifdamage, f_bankcorpid, f_billtype, f_billstatus, del_flag, create_by, create_time, update_by, update_time, remark from t_warehousebills
     </sql>
 
     <select id="selectTWarehousebillsList" parameterType="TWarehousebills" resultMap="TWarehousebillsResult">