瀏覽代碼

1.采购单转采购验收单

zhoudw 7 年之前
父節點
當前提交
c4cf71efa7

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

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.purchase.service;
 package com.usoftchina.saas.purchase.service;
 
 
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.base.service.CommonBaseService;
 import com.usoftchina.saas.base.service.CommonBaseService;
 
 
 
 
@@ -123,4 +124,14 @@ public interface PurchaseService extends CommonBaseService<PurchaseMapper, Purch
      * @param id
      * @param id
      */
      */
     void openPurchase(long id);
     void openPurchase(long id);
+
+
+    /**
+     * 转采购验收单
+     * @param id
+     * @return
+     */
+    public Result turnProdio(Long id);
+
+
 }
 }

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

@@ -2,23 +2,23 @@ package com.usoftchina.saas.purchase.service.impl;
 
 
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
-
+import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
 import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
-
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.DocSavedDTO;
 import com.usoftchina.saas.commons.dto.DocSavedDTO;
 import com.usoftchina.saas.document.api.ProductApi;
 import com.usoftchina.saas.document.api.ProductApi;
 import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.exception.BizException;
+import com.usoftchina.saas.exception.ExceptionCode;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.page.PageRequest;
-import com.usoftchina.saas.purchase.dto.*;
-import com.usoftchina.saas.purchase.mapper.PurchaseListMapper;
-import com.usoftchina.saas.purchase.mapper.PurchaseMapper;
-import com.usoftchina.saas.purchase.mapper.PurchasedetailMapper;
+import com.usoftchina.saas.purchase.dto.PurchaseDTO;
+import com.usoftchina.saas.purchase.dto.PurchaseDetailDTO;
+import com.usoftchina.saas.purchase.dto.PurchaseFormDTO;
+import com.usoftchina.saas.purchase.dto.PurchaseReqDTO;
+import com.usoftchina.saas.purchase.mapper.*;
 import com.usoftchina.saas.purchase.po.*;
 import com.usoftchina.saas.purchase.po.*;
 import com.usoftchina.saas.purchase.service.PurchaseService;
 import com.usoftchina.saas.purchase.service.PurchaseService;
 import com.usoftchina.saas.utils.BeanMapper;
 import com.usoftchina.saas.utils.BeanMapper;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
@@ -43,6 +43,12 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
     private PurchaseListMapper purchaseListMapper;
     private PurchaseListMapper purchaseListMapper;
     @Autowired
     @Autowired
     private ProductApi productApi;
     private ProductApi productApi;
+    @Autowired
+    private ProdInOutMapper prodInOutMapper;
+    @Autowired
+    private ProdIODetailMapper prodIODetailMapper;
+    
+    
 
 
     @Override
     @Override
     public PageInfo<PurchaseList> getListData(PageRequest page, PurchaseReqDTO req) {
     public PageInfo<PurchaseList> getListData(PageRequest page, PurchaseReqDTO req) {
@@ -258,6 +264,93 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         }
         }
     }
     }
 
 
+    @Override
+    public Result turnProdio(Long id) {
+        Purchase purchase = getMapper().selectByPrimaryKey(id);
+        
+        Integer count=0;
+        double pdQty=0, pdYqty=0;
+        //检查转单状态
+        String acceptstatus = purchase.getPu_acceptstatuscode();
+
+        if (acceptstatus.equals("TURNIN")){
+            return Result.error(ExceptionCode.TURNIN_EXIST);
+        }
+
+        List<PurchaseDetail> purchaseDetails = purchasedetailMapper.selectByFK(id);
+
+        //检查从表
+        for (PurchaseDetail purchaseDetail : purchaseDetails) {
+            pdQty = purchaseDetail.getPd_qty();
+            pdYqty = purchaseDetail.getPd_yqty();
+            if (pdQty-pdYqty>0){
+                count++;
+            }
+        }
+        //判断可转数
+        if (count==0){
+            return Result.error(ExceptionCode.TURNINNUM_NOT_EXIST);
+        }
+        //插入验收单主表
+        ProdInOut prodInOut = new ProdInOut();
+        //生成单号
+        String piInoutno ="test0001";
+
+        prodInOut.setPi_inoutno(piInoutno);
+        prodInOut.setPi_class("采购验收单");
+//        prodInOut.setPiDate(new Date());
+        prodInOut.setPi_recorddate(new Date());
+        prodInOut.setPi_vendid(purchase.getPu_vendid());
+        prodInOut.setPi_vendcode(purchase.getPu_vendcode());
+        prodInOut.setPi_vendname(purchase.getPu_vendname());
+        prodInOut.setPi_puid(purchase.getId().intValue());
+        prodInOut.setPi_pucode(purchase.getPu_code());
+        //设置公司id
+        prodInOut.setCompanyId(1);
+
+        prodInOutMapper.insertSelective(prodInOut);
+        
+        
+        //插入验收单从表
+        long pi_id = prodInOut.getId();
+
+        for (int i=0;i<purchaseDetails.size();i++){
+            PurchaseDetail purchaseDetail =purchaseDetails.get(i);
+            ProdIODetail prodIODetail = new ProdIODetail();
+            prodIODetail.setPd_piid(pi_id);
+            prodIODetail.setPd_inoutno(piInoutno);
+            prodIODetail.setPd_piclass("采购验收单");
+            prodIODetail.setPd_pdno(i);
+            prodIODetail.setPd_orderid(purchaseDetail.getId().intValue());
+            prodIODetail.setPd_ordercode(purchase.getPu_code());
+            prodIODetail.setPd_orderdetno(purchaseDetail.getPd_detno());
+            prodIODetail.setPd_orderprice(purchaseDetail.getPd_price());
+            prodIODetail.setPd_prodid(purchaseDetail.getPd_prodid());
+            prodIODetail.setPd_prodcode(purchaseDetail.getPd_prodcode());
+            //公司id
+            prodIODetail.setCompanyId(1);
+
+            //本次转单数
+            prodIODetail.setPd_inqty((int) (purchaseDetail.getPd_qty()-purchaseDetail.getPd_yqty()));
+            prodIODetailMapper.insertSelective(prodIODetail);
+
+            //更新已转数
+            purchaseDetail.setPd_yqty(purchaseDetail.getPd_qty());
+//            getMapper().updateByPrimaryKeySelective(purchase);
+            purchasedetailMapper.updateByPrimaryKeySelective(purchaseDetail);
+
+        }
+
+        System.out.println("pi_id:"+pi_id);
+
+        //更新主表入库状态
+        purchase.setPu_acceptstatus("已入库");
+        purchase.setPu_acceptstatuscode("TURNIN");
+        //更新存在字段
+        int affect = getMapper().updateByPrimaryKeySelective(purchase);
+        return Result.success();
+    }
+
     private void singleAudit(Long id) {
     private void singleAudit(Long id) {
         Purchase purchase = new Purchase();
         Purchase purchase = new Purchase();
         //生成更新对象
         //生成更新对象

+ 5 - 1
framework/core/src/main/java/com/usoftchina/saas/exception/ExceptionCode.java

@@ -40,7 +40,11 @@ public enum ExceptionCode implements BaseExceptionCode {
 
 
     FILE_NULL(55500, "文件为空"),
     FILE_NULL(55500, "文件为空"),
     FILE_NAME_EMPTY(55501, "文件名称为空"),
     FILE_NAME_EMPTY(55501, "文件名称为空"),
-    FILE_FOLDER_NULL(55502, "文件夹为空");
+    FILE_FOLDER_NULL(55502, "文件夹为空"),
+
+    TURNIN_EXIST(60000,"已入库"),
+    TURNINNUM_NOT_EXIST(60001,"无可转数")
+    ;
 
 
     private int code;
     private int code;
     private String message;
     private String message;