|
@@ -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();
|
|
|
//生成更新对象
|
|
//生成更新对象
|