Browse Source

增加采购单关闭、打开

chenw 7 years ago
parent
commit
76c3aadd54

+ 11 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/PurchaseController.java

@@ -146,4 +146,15 @@ public class PurchaseController {
         return Result.success();
     }
 
+    @PostMapping("/close/{id}")
+    public Result closePurchase(@PathVariable(value = "id") long id){
+        purchaseService.closePurchase(id);
+        return Result.success();
+    }
+
+    @PostMapping("/open/{id}")
+    public Result openPurchase(@PathVariable(value = "id") long id){
+        purchaseService.openPurchase(id);
+        return Result.success();
+    }
 }

+ 14 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/PurchaseService.java

@@ -108,4 +108,18 @@ public interface PurchaseService extends CommonBaseService<PurchaseMapper, Purch
     * @Date: 2018/10/17 
     */
     void batchUnAudit(BatchDealBaseDTO baseDTOs);
+
+    /**
+     * 采购单关闭
+     * @param id
+     * @Author: chenwei
+     * @Date: 20181018
+     */
+    void closePurchase(long id);
+
+    /**
+     * 采购单恢复
+     * @param id
+     */
+    void openPurchase(long id);
 }

+ 38 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java

@@ -219,6 +219,44 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         }
     }
 
+    @Override
+    public void closePurchase(long id) {
+        Purchase purchase = new Purchase();
+        purchase.setId(id);
+        purchase.setPu_acceptstatuscode("CLOSED");
+        purchase.setPu_acceptstatus("已关闭");
+        purchaseMapper.updateByPrimaryKeySelective(purchase);
+    }
+
+    @Override
+    public void openPurchase(long id) {
+        List<PurchaseDetail> purchaseDetailList = purchasedetailMapper.selectByFK(id);
+        int partTurnCount = 0,turnCount = 0;            //部分入库、全部入库
+        if(purchaseDetailList != null && purchaseDetailList.size() > 0){
+            for(PurchaseDetail purchaseDetail : purchaseDetailList){
+                if(purchaseDetail.getPd_acceptqty() >= purchaseDetail.getPd_qty()){     //入库数大于等于采购数
+                    turnCount++;
+                }else if(purchaseDetail.getPd_acceptqty() > 0 && purchaseDetail.getPd_acceptqty() < purchaseDetail.getPd_qty()){    //     0 < 入库数 < 采购数
+                    partTurnCount++;
+                }
+            }
+            //构造更新对象
+            Purchase purchase = new Purchase();
+            purchase.setId(id);
+            purchase.setPu_acceptstatuscode("UNTURNIN");
+            purchase.setPu_acceptstatus("未入库");
+            if(partTurnCount > 0){
+                purchase.setPu_acceptstatuscode("PART2IN");
+                purchase.setPu_acceptstatus("部分入库");
+            }
+            if(turnCount == purchaseDetailList.size()){
+                purchase.setPu_acceptstatus("已入库");
+                purchase.setPu_acceptstatuscode("TURNIN");
+            }
+            purchaseMapper.updateByPrimaryKeySelective(purchase);
+        }
+    }
+
     private void singleAudit(Long id) {
         Purchase purchase = new Purchase();
         //生成更新对象