|
@@ -0,0 +1,119 @@
|
|
|
|
+package com.fjhx.sale.service.purchase.impl;
|
|
|
|
+
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
|
+import cn.hutool.extra.spring.SpringUtil;
|
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
|
+import com.alibaba.fastjson2.JSONWriter;
|
|
|
|
+import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.fjhx.common.constant.SourceConstant;
|
|
|
|
+import com.fjhx.common.entity.documentary.bo.DocumentaryData;
|
|
|
|
+import com.fjhx.common.enums.CodingRuleEnum;
|
|
|
|
+import com.fjhx.common.service.coding.CodingRuleService;
|
|
|
|
+import com.fjhx.common.service.documentary.GetDocumentaryBusinessTemplate;
|
|
|
|
+import com.fjhx.item.entity.product.vo.ProductInfoVo;
|
|
|
|
+import com.fjhx.item.service.product.ProductInfoService;
|
|
|
|
+import com.fjhx.purchase.entity.invoice.vo.InvoiceDetailsVo;
|
|
|
|
+import com.fjhx.purchase.entity.pay.vo.PayDetailVo;
|
|
|
|
+import com.fjhx.purchase.entity.purchase.bo.PurchaseDocumentaryBo;
|
|
|
|
+import com.fjhx.purchase.entity.purchase.dto.PurchaseDto;
|
|
|
|
+import com.fjhx.purchase.entity.purchase.dto.PurchaseSelectDto;
|
|
|
|
+import com.fjhx.purchase.entity.purchase.enums.PurchaseStatusEnum;
|
|
|
|
+import com.fjhx.purchase.entity.purchase.po.Purchase;
|
|
|
|
+import com.fjhx.purchase.entity.purchase.po.PurchaseDetail;
|
|
|
|
+import com.fjhx.purchase.entity.purchase.po.PurchasePayRecordDetail;
|
|
|
|
+import com.fjhx.purchase.entity.purchase.vo.PurchaseDocumentaryVo;
|
|
|
|
+import com.fjhx.purchase.entity.purchase.vo.PurchaseVo;
|
|
|
|
+import com.fjhx.purchase.entity.subscribe.po.Subscribe;
|
|
|
|
+import com.fjhx.purchase.entity.subscribe.po.SubscribeDetail;
|
|
|
|
+import com.fjhx.purchase.mapper.purchase.PurchaseMapper;
|
|
|
|
+import com.fjhx.purchase.service.arrival.ArrivalDetailService;
|
|
|
|
+import com.fjhx.purchase.service.invoice.InvoiceDetailsService;
|
|
|
|
+import com.fjhx.purchase.service.pay.PayDetailService;
|
|
|
|
+import com.fjhx.purchase.service.purchase.PurchaseDetailService;
|
|
|
|
+import com.fjhx.purchase.service.purchase.PurchasePayRecordDetailService;
|
|
|
|
+import com.fjhx.purchase.service.purchase.PurchaseService;
|
|
|
|
+import com.fjhx.purchase.service.subscribe.SubscribeDetailService;
|
|
|
|
+import com.fjhx.purchase.service.subscribe.SubscribeService;
|
|
|
|
+import com.fjhx.sale.entity.contract.po.Contract;
|
|
|
|
+import com.fjhx.sale.entity.contract.po.ContractProduct;
|
|
|
|
+import com.fjhx.sale.entity.sample.po.SampleProduct;
|
|
|
|
+import com.fjhx.sale.service.contract.ContractProductService;
|
|
|
|
+import com.fjhx.sale.service.contract.ContractService;
|
|
|
|
+import com.fjhx.sale.service.purchase.SalePurchaseService;
|
|
|
|
+import com.fjhx.sale.service.sample.SampleProductService;
|
|
|
|
+import com.fjhx.supply.entity.supplier.po.SupplierInfo;
|
|
|
|
+import com.fjhx.supply.service.supplier.SupplierInfoService;
|
|
|
|
+import com.fjhx.wms.entity.warehouse.po.Warehouse;
|
|
|
|
+import com.fjhx.wms.service.warehouse.WarehouseService;
|
|
|
|
+import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
|
+import com.ruoyi.common.core.domain.BaseSelectDto;
|
|
|
|
+import com.ruoyi.common.exception.ServiceException;
|
|
|
|
+import com.ruoyi.common.utils.PageUtils;
|
|
|
|
+import com.ruoyi.common.utils.StringUtils;
|
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
|
+import org.apache.commons.collections4.MapUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
+
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
+import java.util.*;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * <p>
|
|
|
|
+ * 采购 服务实现类
|
|
|
|
+ * </p>
|
|
|
|
+ *
|
|
|
|
+ * @author
|
|
|
|
+ * @since 2023-04-06
|
|
|
|
+ */
|
|
|
|
+@DS(SourceConstant.PURCHASE)
|
|
|
|
+@Service
|
|
|
|
+public class SalePurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
|
|
|
|
+ implements SalePurchaseService {
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private PurchaseService purchaseService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private PurchaseDetailService purchaseDetailService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private ContractProductService contractProductService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private SampleProductService sampleProductService;
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 采购作废
|
|
|
|
+ * @param purchaseDto
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public void cancellation(PurchaseDto purchaseDto) {
|
|
|
|
+ if(purchaseDto.getPurchaseStatus()==PurchaseStatusEnum.CENCELLATION.getKey()){//如果采购合同=作废//归还交接单的数量
|
|
|
|
+ //查询出当前采购的明细
|
|
|
|
+ Purchase purchase = purchaseService.getById(purchaseDto.getId());
|
|
|
|
+ if(ObjectUtils.isNotEmpty(purchase)){
|
|
|
|
+ List<PurchaseDetail> purchaseDetailList = purchaseDetailService.list(Wrappers.<PurchaseDetail>query().lambda().eq(PurchaseDetail::getPurchaseId,purchase.getId()));
|
|
|
|
+ for(PurchaseDetail p:purchaseDetailList){
|
|
|
|
+ if(p.getDataResource()==1){//业务来源 0自建 1外销合同采购 2:样品单
|
|
|
|
+ //查询出外销合同
|
|
|
|
+ ContractProduct contract = contractProductService.getById(p.getDataResourceId());
|
|
|
|
+ }
|
|
|
|
+ if(p.getDataResource()==2){
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.updateById(purchaseDto);
|
|
|
|
+ }
|
|
|
|
+}
|