|
@@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
-import com.fjhx.item.service.product.ProductInfoService;
|
|
|
|
import com.fjhx.kd100.entity.company.po.CompanyInfo;
|
|
import com.fjhx.kd100.entity.company.po.CompanyInfo;
|
|
import com.fjhx.kd100.service.company.CompanyInfoService;
|
|
import com.fjhx.kd100.service.company.CompanyInfoService;
|
|
import com.fjhx.supply.service.supplier.SupplierInfoService;
|
|
import com.fjhx.supply.service.supplier.SupplierInfoService;
|
|
@@ -16,7 +15,6 @@ import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
|
|
import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
|
|
import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
|
|
import com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo;
|
|
import com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo;
|
|
import com.fjhx.victoriatourist.mapper.quality.QualityInfoMapper;
|
|
import com.fjhx.victoriatourist.mapper.quality.QualityInfoMapper;
|
|
-import com.fjhx.victoriatourist.service.deliver.DeliverGoodsService;
|
|
|
|
import com.fjhx.victoriatourist.service.quality.QualityDetailsService;
|
|
import com.fjhx.victoriatourist.service.quality.QualityDetailsService;
|
|
import com.fjhx.victoriatourist.service.quality.QualityInfoService;
|
|
import com.fjhx.victoriatourist.service.quality.QualityInfoService;
|
|
import com.fjhx.wms.entity.arrival.po.ArrivalStockRecords;
|
|
import com.fjhx.wms.entity.arrival.po.ArrivalStockRecords;
|
|
@@ -30,7 +28,6 @@ import com.fjhx.wms.service.arrival.ArrivalStockRecordsService;
|
|
import com.fjhx.wms.service.stock.StockJournalDetailsService;
|
|
import com.fjhx.wms.service.stock.StockJournalDetailsService;
|
|
import com.fjhx.wms.service.stock.StockJournalService;
|
|
import com.fjhx.wms.service.stock.StockJournalService;
|
|
import com.fjhx.wms.service.stock.StockService;
|
|
import com.fjhx.wms.service.stock.StockService;
|
|
-import com.fjhx.wms.service.stock.StockWaitService;
|
|
|
|
import com.obs.services.internal.ServiceException;
|
|
import com.obs.services.internal.ServiceException;
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
import com.ruoyi.system.utils.UserUtil;
|
|
import com.ruoyi.system.utils.UserUtil;
|
|
@@ -58,22 +55,16 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
|
|
@Autowired
|
|
@Autowired
|
|
private SupplierInfoService supplierInfoService;
|
|
private SupplierInfoService supplierInfoService;
|
|
@Autowired
|
|
@Autowired
|
|
- private DeliverGoodsService deliverGoodsService;
|
|
|
|
- @Autowired
|
|
|
|
private CompanyInfoService companyInfoService;
|
|
private CompanyInfoService companyInfoService;
|
|
@Autowired
|
|
@Autowired
|
|
private QualityDetailsService qualityDetailsService;
|
|
private QualityDetailsService qualityDetailsService;
|
|
@Autowired
|
|
@Autowired
|
|
- private ProductInfoService productInfoService;
|
|
|
|
- @Autowired
|
|
|
|
private StockService stockService;
|
|
private StockService stockService;
|
|
@Autowired
|
|
@Autowired
|
|
private StockJournalService stockJournalService;
|
|
private StockJournalService stockJournalService;
|
|
@Autowired
|
|
@Autowired
|
|
private StockJournalDetailsService stockJournalDetailsService;
|
|
private StockJournalDetailsService stockJournalDetailsService;
|
|
@Autowired
|
|
@Autowired
|
|
- private StockWaitService stockWaitService;
|
|
|
|
- @Autowired
|
|
|
|
private ArrivalStockRecordsDetailsService arrivalStockRecordsDetailsService;
|
|
private ArrivalStockRecordsDetailsService arrivalStockRecordsDetailsService;
|
|
@Autowired
|
|
@Autowired
|
|
private ArrivalStockRecordsService arrivalStockRecordsService;
|
|
private ArrivalStockRecordsService arrivalStockRecordsService;
|
|
@@ -127,6 +118,7 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
|
|
@DSTransactional
|
|
@DSTransactional
|
|
@Override
|
|
@Override
|
|
public void add(QualityInfoDto qualityInfoDto) {
|
|
public void add(QualityInfoDto qualityInfoDto) {
|
|
|
|
+ qualityInfoDto.setType(1);//设置为到货质检
|
|
qualityInfoDto.setStatus(2);//质检完成
|
|
qualityInfoDto.setStatus(2);//质检完成
|
|
ArrivalStockRecords arrivalStockRecords = arrivalStockRecordsService.getById(qualityInfoDto.getArrivalStockRecordsId());
|
|
ArrivalStockRecords arrivalStockRecords = arrivalStockRecordsService.getById(qualityInfoDto.getArrivalStockRecordsId());
|
|
arrivalStockRecords.setQualityStatus(2);//质检完成
|
|
arrivalStockRecords.setQualityStatus(2);//质检完成
|
|
@@ -140,6 +132,7 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
|
|
//创建质检明细
|
|
//创建质检明细
|
|
List<QualityDetails> qualityDetailsList = qualityInfoDto.getQualityDetailsList();
|
|
List<QualityDetails> qualityDetailsList = qualityInfoDto.getQualityDetailsList();
|
|
for (QualityDetails qualityDetails : qualityDetailsList) {
|
|
for (QualityDetails qualityDetails : qualityDetailsList) {
|
|
|
|
+ qualityDetails.setId(null);//将明细id置空解决前端误传
|
|
qualityDetails.setQualityInfoId(qualityInfoDto.getId());
|
|
qualityDetails.setQualityInfoId(qualityInfoDto.getId());
|
|
ArrivalStockRecordsDetails arrivalStockRecordsDetails = arrivalStockRecordsDetailsMap.get(qualityDetails.getArrivalStockRecordsDetailsId());
|
|
ArrivalStockRecordsDetails arrivalStockRecordsDetails = arrivalStockRecordsDetailsMap.get(qualityDetails.getArrivalStockRecordsDetailsId());
|
|
if (ObjectUtil.isEmpty(arrivalStockRecordsDetails)) {
|
|
if (ObjectUtil.isEmpty(arrivalStockRecordsDetails)) {
|
|
@@ -188,10 +181,22 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
|
|
BigDecimal defectiveQuantity = json.getBigDecimal("defectiveQuantity");//次品库存
|
|
BigDecimal defectiveQuantity = json.getBigDecimal("defectiveQuantity");//次品库存
|
|
defectiveQuantity = ObjectUtil.isEmpty(defectiveQuantity) ? BigDecimal.ZERO : defectiveQuantity;
|
|
defectiveQuantity = ObjectUtil.isEmpty(defectiveQuantity) ? BigDecimal.ZERO : defectiveQuantity;
|
|
|
|
|
|
- stock.setQuantity(stock.getQuantity().add(qualityDetails.getQualifiedQuantity()));
|
|
|
|
- defectiveQuantity.add(qualityDetails.getDisqualificationQuantity());
|
|
|
|
|
|
+ BigDecimal frozenQuantity = json.getBigDecimal("frozenQuantity");//冻结库存
|
|
|
|
+ frozenQuantity = ObjectUtil.isEmpty(frozenQuantity) ? BigDecimal.ZERO : frozenQuantity;
|
|
|
|
|
|
|
|
+ //质检合格增加可用库存
|
|
|
|
+ stock.setQuantity(stock.getQuantity().add(qualityDetails.getQualifiedQuantity()));
|
|
|
|
+ //质检不合格增加次品库存
|
|
|
|
+ defectiveQuantity = defectiveQuantity.add(qualityDetails.getDisqualificationQuantity());
|
|
json.put("defectiveQuantity", defectiveQuantity);
|
|
json.put("defectiveQuantity", defectiveQuantity);
|
|
|
|
+ //减少冻结库存
|
|
|
|
+ BigDecimal count = qualityDetails.getQualifiedQuantity().add(qualityDetails.getDisqualificationQuantity());
|
|
|
|
+ frozenQuantity = frozenQuantity.subtract(count);
|
|
|
|
+ if (frozenQuantity.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
|
+ throw new ServiceException("冻结库存不足");
|
|
|
|
+ }
|
|
|
|
+ json.put("frozenQuantity", frozenQuantity);
|
|
|
|
+
|
|
stock.setVictoriatouristJson(json.toJSONString());
|
|
stock.setVictoriatouristJson(json.toJSONString());
|
|
stockList.add(stock);
|
|
stockList.add(stock);
|
|
|
|
|