yzc hace 2 años
padre
commit
aec04b8d38
Se han modificado 35 ficheros con 781 adiciones y 238 borrados
  1. 0 5
      hx-supply/src/main/java/com/fjhx/supply/entity/supplier/dto/SupplierPriceDto.java
  2. 8 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/quality/QualityInfoController.java
  3. 16 1
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/dto/QualityInfoDto.java
  4. 5 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/po/QualityDetails.java
  5. 16 3
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/vo/QualityInfoVo.java
  6. 1 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/mapper/quality/QualityInfoMapper.java
  7. 0 41
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/WmsWdlyServiceImpl.java
  8. 2 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/QualityInfoService.java
  9. 156 11
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/impl/QualityInfoServiceImpl.java
  10. 14 7
      hx-victoriatourist/src/main/resources/mapper/quality/QualityInfoMapper.xml
  11. 68 0
      hx-wms/src/main/java/com/fjhx/wms/controller/arrival/ArrivalStockRecordsController.java
  12. 19 0
      hx-wms/src/main/java/com/fjhx/wms/controller/arrival/ArrivalStockRecordsDetailsController.java
  13. 17 0
      hx-wms/src/main/java/com/fjhx/wms/entity/arrival/dto/ArrivalStockRecordsDetailsDto.java
  14. 17 0
      hx-wms/src/main/java/com/fjhx/wms/entity/arrival/dto/ArrivalStockRecordsDetailsSelectDto.java
  15. 17 0
      hx-wms/src/main/java/com/fjhx/wms/entity/arrival/dto/ArrivalStockRecordsDto.java
  16. 17 0
      hx-wms/src/main/java/com/fjhx/wms/entity/arrival/dto/ArrivalStockRecordsSelectDto.java
  17. 37 0
      hx-wms/src/main/java/com/fjhx/wms/entity/arrival/po/ArrivalStockRecords.java
  18. 44 0
      hx-wms/src/main/java/com/fjhx/wms/entity/arrival/po/ArrivalStockRecordsDetails.java
  19. 48 0
      hx-wms/src/main/java/com/fjhx/wms/entity/arrival/vo/ArrivalStockRecordsDetailsVo.java
  20. 23 0
      hx-wms/src/main/java/com/fjhx/wms/entity/arrival/vo/ArrivalStockRecordsVo.java
  21. 0 48
      hx-wms/src/main/java/com/fjhx/wms/entity/quality/QualityDetailsPo.java
  22. 0 66
      hx-wms/src/main/java/com/fjhx/wms/entity/quality/QualityInfoPo.java
  23. 0 23
      hx-wms/src/main/java/com/fjhx/wms/entity/quality/QualityInfoVoPo.java
  24. 1 0
      hx-wms/src/main/java/com/fjhx/wms/entity/stock/emums/JournalType.java
  25. 17 0
      hx-wms/src/main/java/com/fjhx/wms/mapper/arrival/ArrivalStockRecordsDetailsMapper.java
  26. 26 0
      hx-wms/src/main/java/com/fjhx/wms/mapper/arrival/ArrivalStockRecordsMapper.java
  27. 0 9
      hx-wms/src/main/java/com/fjhx/wms/service/WmsWdlyService.java
  28. 17 0
      hx-wms/src/main/java/com/fjhx/wms/service/arrival/ArrivalStockRecordsDetailsService.java
  29. 46 0
      hx-wms/src/main/java/com/fjhx/wms/service/arrival/ArrivalStockRecordsService.java
  30. 21 0
      hx-wms/src/main/java/com/fjhx/wms/service/arrival/impl/ArrivalStockRecordsDetailsServiceImpl.java
  31. 81 0
      hx-wms/src/main/java/com/fjhx/wms/service/arrival/impl/ArrivalStockRecordsServiceImpl.java
  32. 2 2
      hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java
  33. 24 22
      hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java
  34. 4 0
      hx-wms/src/main/resources/mapper/arrival/ArrivalStockRecordsDetailsMapper.xml
  35. 17 0
      hx-wms/src/main/resources/mapper/arrival/ArrivalStockRecordsMapper.xml

+ 0 - 5
hx-supply/src/main/java/com/fjhx/supply/entity/supplier/dto/SupplierPriceDto.java

@@ -27,11 +27,6 @@ public class SupplierPriceDto extends SupplierPrice {
     private boolean renewWhileItExists;
 
     /**
-     * 供应商id
-     */
-    private Long supplierInfoId;
-
-    /**
      * 产品id列表
      */
     private List<Long> productIdList;

+ 8 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/quality/QualityInfoController.java

@@ -34,6 +34,14 @@ public class QualityInfoController {
     }
 
     /**
+     * 质检分页
+     */
+    @PostMapping("/page1")
+    public Page<QualityInfoVo> page1(@RequestBody QualityInfoSelectDto dto) {
+        return qualityInfoService.getPage1(dto);
+    }
+
+    /**
      * 质检明细
      */
     @PostMapping("/detail")

+ 16 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/dto/QualityInfoDto.java

@@ -1,17 +1,32 @@
 package com.fjhx.victoriatourist.entity.quality.dto;
 
+import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
 import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
+import com.fjhx.victoriatourist.entity.quality.vo.QualityDetailsVo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * 质检新增编辑入参实体
  *
- * @author 
+ * @author
  * @since 2023-04-26
  */
 @Getter
 @Setter
 public class QualityInfoDto extends QualityInfo {
 
+    /**
+     * 质检明细
+     */
+    List<QualityDetails> qualityDetailsList;
+
+    /**
+     * 到货入库id
+     */
+    private Long arrivalStockRecordsId;
+
+
 }

+ 5 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/po/QualityDetails.java

@@ -45,4 +45,9 @@ public class QualityDetails extends BasePo {
      */
     private BigDecimal disqualificationQuantity;
 
+    /**
+     * 到货入库明细id
+     */
+    private Long arrivalStockRecordsDetailsId;
+
 }

+ 16 - 3
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/vo/QualityInfoVo.java

@@ -5,6 +5,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 质检列表查询返回值实体
@@ -37,12 +38,12 @@ public class QualityInfoVo extends QualityInfo {
     private Long deliverGoodsId;
 
     /**
-     * 物公司编号
+     * 物公司编号
      */
     private String logisticsCompanyCode;
 
     /**
-     * 物公司名称
+     * 物公司名称
      */
     private String logisticsCompanyName;
 
@@ -54,11 +55,23 @@ public class QualityInfoVo extends QualityInfo {
     /**
      * 采购人id
      */
-    private String purchaseUserId;
+    private Long purchaseUserId;
+
+    /**
+     * 采购人名称
+     */
+    private String purchaseUserName;
 
     /**
      * 采购时间
      */
     private Date purchaseTime;
 
+    /**
+     * 质检状态
+     */
+    private Integer qualityStatus;
+
+
+
 }

+ 1 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/mapper/quality/QualityInfoMapper.java

@@ -23,4 +23,5 @@ public interface QualityInfoMapper extends BaseMapper<QualityInfo> {
      */
     Page<QualityInfoVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<QualityInfo> wrapper);
 
+    Page<QualityInfoVo> getPage1(Page<Object> page, IWrapper<QualityInfo> wrapper);
 }

+ 0 - 41
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/WmsWdlyServiceImpl.java

@@ -1,41 +0,0 @@
-package com.fjhx.victoriatourist.service;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
-import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
-import com.fjhx.victoriatourist.service.quality.QualityDetailsService;
-import com.fjhx.victoriatourist.service.quality.QualityInfoService;
-import com.fjhx.wms.entity.quality.QualityDetailsPo;
-import com.fjhx.wms.entity.quality.QualityInfoVoPo;
-import com.fjhx.wms.service.WmsWdlyService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-
-@Service
-public class WmsWdlyServiceImpl implements WmsWdlyService {
-    @Autowired
-    QualityInfoService qualityInfoService;
-    @Autowired
-    QualityDetailsService qualityDetailsService;
-
-    /**
-     * 创建质检
-     */
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public void addQualityInfo(QualityInfoVoPo queryInfoVoPo) {
-        //创建质检
-        QualityInfo qualityInfo = BeanUtil.copyProperties(queryInfoVoPo, QualityInfo.class);
-        qualityInfoService.save(qualityInfo);
-        //创建质检明细
-        List<QualityDetailsPo> qualityDetailsList = queryInfoVoPo.getQualityDetailsList();
-        List<QualityDetails> qualityDetails = BeanUtil.copyToList(qualityDetailsList, QualityDetails.class);
-        for (QualityDetails qualityDetail : qualityDetails) {
-            qualityDetail.setQualityInfoId(qualityInfo.getId());
-        }
-        qualityDetailsService.saveBatch(qualityDetails);
-    }
-}

+ 2 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/QualityInfoService.java

@@ -23,6 +23,8 @@ public interface QualityInfoService extends BaseService<QualityInfo> {
      */
     Page<QualityInfoVo> getPage(QualityInfoSelectDto dto);
 
+    Page<QualityInfoVo> getPage1(QualityInfoSelectDto dto);
+
     /**
      * 质检明细
      */

+ 156 - 11
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/impl/QualityInfoServiceImpl.java

@@ -1,22 +1,51 @@
 package com.fjhx.victoriatourist.service.quality.impl;
 
-import com.fjhx.purchase.entity.arrival.vo.ArrivalDetailVo;
-import com.fjhx.supply.entity.supplier.po.SupplierInfo;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.service.company.CompanyInfoService;
 import com.fjhx.supply.service.supplier.SupplierInfoService;
+import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoDto;
+import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoSelectDto;
+import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
 import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
+import com.fjhx.victoriatourist.entity.quality.vo.QualityDetailsVo;
+import com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo;
 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.QualityInfoService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecords;
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecordsDetails;
+import com.fjhx.wms.entity.stock.emums.JournalType;
+import com.fjhx.wms.entity.stock.po.Stock;
+import com.fjhx.wms.entity.stock.po.StockJournal;
+import com.fjhx.wms.entity.stock.po.StockJournalDetails;
+import com.fjhx.wms.entity.stock.po.StockWait;
+import com.fjhx.wms.service.arrival.ArrivalStockRecordsDetailsService;
+import com.fjhx.wms.service.arrival.ArrivalStockRecordsService;
+import com.fjhx.wms.service.stock.StockJournalDetailsService;
+import com.fjhx.wms.service.stock.StockJournalService;
+import com.fjhx.wms.service.stock.StockService;
+import com.fjhx.wms.service.stock.StockWaitService;
+import com.obs.services.internal.ServiceException;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo;
-import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoSelectDto;
-import com.ruoyi.common.utils.wrapper.IWrapper;
-import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoDto;
-import cn.hutool.core.bean.BeanUtil;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 
 /**
@@ -24,24 +53,69 @@ import java.util.List;
  * 质检 服务实现类
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-04-26
  */
 @Service
 public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, QualityInfo> implements QualityInfoService {
     @Autowired
-    SupplierInfoService supplierInfoService;
+    private SupplierInfoService supplierInfoService;
+    @Autowired
+    private DeliverGoodsService deliverGoodsService;
+    @Autowired
+    private CompanyInfoService companyInfoService;
+    @Autowired
+    private QualityDetailsService qualityDetailsService;
+    @Autowired
+    private ProductInfoService productInfoService;
+    @Autowired
+    private StockService stockService;
+    @Autowired
+    private StockJournalService stockJournalService;
+    @Autowired
+    private StockJournalDetailsService stockJournalDetailsService;
+    @Autowired
+    private StockWaitService stockWaitService;
+    @Autowired
+    private ArrivalStockRecordsDetailsService arrivalStockRecordsDetailsService;
+    @Autowired
+    private ArrivalStockRecordsService arrivalStockRecordsService;
 
     @Override
     public Page<QualityInfoVo> getPage(QualityInfoSelectDto dto) {
         IWrapper<QualityInfo> wrapper = getWrapper();
         wrapper.orderByDesc("qi", QualityInfo::getId);
         Page<QualityInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    /**
+     * 维多利亚获取已入库待质检分页
+     */
+    @Override
+    public Page<QualityInfoVo> getPage1(QualityInfoSelectDto dto) {
+        IWrapper<QualityInfo> wrapper = getWrapper();
+        wrapper.orderByDesc("qi", QualityInfo::getId);
+        Page<QualityInfoVo> page = this.baseMapper.getPage1(dto.getPage(), wrapper);
         List<QualityInfoVo> records = page.getRecords();
+        if (ObjectUtil.isEmpty(records)) {
+            return page;
+        }
         //赋值供应商名称
         supplierInfoService.attributeAssign(records, QualityInfoVo::getSupplyId, (item, supplier) -> {
             item.setSupplyName(supplier.getName());
         });
+        //赋值物流公司名称
+        List<String> logisticsCompanyCodes = records.stream().map(QualityInfoVo::getLogisticsCompanyCode).distinct()
+                .filter(ObjectUtil::isNotNull).collect(Collectors.toList());
+        if (ObjectUtil.isEmpty(logisticsCompanyCodes)) {
+            return page;
+        }
+        Map<String, String> stringStringMap = companyInfoService.mapKV(CompanyInfo::getCode, CompanyInfo::getName,
+                q -> q.in(CompanyInfo::getCode, logisticsCompanyCodes));
+        records.forEach(item -> item.setLogisticsCompanyName(stringStringMap.get(item.getLogisticsCompanyCode())));
+        //赋值采购员名称
+        UserUtil.assignmentNickName(records, QualityInfoVo::getPurchaseUserId, QualityInfoVo::setPurchaseUserName);
         return page;
     }
 
@@ -52,9 +126,80 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
         return result;
     }
 
+    @DSTransactional
     @Override
     public void add(QualityInfoDto qualityInfoDto) {
+        qualityInfoDto.setStatus(2);//质检完成
+        ArrivalStockRecords arrivalStockRecords = arrivalStockRecordsService.getById(qualityInfoDto.getArrivalStockRecordsId());
+        arrivalStockRecords.setQualityStatus(2);//质检完成
+
+        qualityInfoDto.setWarehouseId(arrivalStockRecords.getWarehouseId());
+        //查询入库明细
+        List<ArrivalStockRecordsDetails> arrivalStockRecordsDetailsList = arrivalStockRecordsDetailsService.list(q -> q.eq(ArrivalStockRecordsDetails::getArrivalStockRecordsId, qualityInfoDto.getArrivalStockRecordsId()));
+        Map<Long, ArrivalStockRecordsDetails> arrivalStockRecordsDetailsMap = arrivalStockRecordsDetailsList.stream().collect(Collectors.toMap(ArrivalStockRecordsDetails::getId,Function.identity()));
+        //创建质检记录
+        qualityInfoDto.setBussinessId(qualityInfoDto.getArrivalStockRecordsId());
+        //创建质检明细
+        List<QualityDetails> qualityDetailsList = qualityInfoDto.getQualityDetailsList();
+        for (QualityDetails qualityDetails : qualityDetailsList) {
+            qualityDetails.setQualityInfoId(qualityInfoDto.getId());
+            ArrivalStockRecordsDetails arrivalStockRecordsDetails = arrivalStockRecordsDetailsMap.get(qualityDetails.getArrivalStockRecordsDetailsId());
+            BigDecimal quantity = arrivalStockRecordsDetails.getQuantity();
+            qualityDetails.setTotalQuantity(quantity);
+
+            BigDecimal count = qualityDetails.getQualifiedQuantity().add(qualityDetails.getDisqualificationQuantity());
+            //统计已经质检的数量
+            arrivalStockRecordsDetails.setQualityQuantity(arrivalStockRecordsDetails.getQuantity().add(count));
+            if(quantity.compareTo(count)!=0){
+                qualityInfoDto.setStatus(1);//修改为部分质检
+                arrivalStockRecords.setQualityStatus(1);//修改为部分质检
+            }
+        }
         this.save(qualityInfoDto);
+        arrivalStockRecordsService.updateById(arrivalStockRecords);
+        arrivalStockRecordsDetailsService.updateBatchById(arrivalStockRecordsDetailsList);
+
+        qualityDetailsService.saveBatch(qualityDetailsList);
+        //操作库存
+        //创建出入库记录
+        StockJournal stockJournal = new StockJournal();
+        stockJournal.setType(JournalType.ARRIVAL_QUALITY.getDetailType());
+        stockJournal.setOpType(1);//入库;
+        stockJournal.setBusinessId(qualityInfoDto.getId());
+        stockJournal.setWarehouseId(arrivalStockRecords.getWarehouseId());
+        stockJournalService.save(stockJournal);
+        List<StockJournalDetails> stockJournalDetailsList = new ArrayList<>();
+
+        List<Stock> stockList = new ArrayList<>();
+        for (QualityDetails qualityDetails : qualityDetailsList) {
+            Stock stock = stockService.getOne(q -> q.eq(Stock::getProductId, qualityDetails.getProductInfoId()).eq(Stock::getWarehouseId, qualityInfoDto.getWarehouseId()));
+            if (ObjectUtil.isEmpty(stock)) {
+                stock = new Stock();
+                stock.setProductId(qualityDetails.getProductInfoId());
+                stock.setWarehouseId(arrivalStockRecords.getWarehouseId());
+                stock.setQuantity(BigDecimal.ZERO);
+            }
+            String victoriatouristJson = stock.getVictoriatouristJson();
+            JSONObject json = ObjectUtil.isEmpty(victoriatouristJson) ? new JSONObject() : JSONObject.parseObject(victoriatouristJson);
+
+            BigDecimal defectiveQuantity = json.getBigDecimal("defectiveQuantity");//次品库存
+            defectiveQuantity = ObjectUtil.isEmpty(defectiveQuantity) ? BigDecimal.ZERO : defectiveQuantity;
+
+            stock.setQuantity(stock.getQuantity().add(qualityDetails.getQualifiedQuantity()));
+            defectiveQuantity.add(qualityDetails.getDisqualificationQuantity());
+
+            json.put("defectiveQuantity", defectiveQuantity);
+            stock.setVictoriatouristJson(json.toJSONString());
+            stockList.add(stock);
+
+            StockJournalDetails stockJournalDetails = new StockJournalDetails();
+            stockJournalDetails.setStockJournalId(stockJournal.getId());
+            stockJournalDetails.setProductId(qualityDetails.getProductInfoId());
+            stockJournalDetails.setQuantity(qualityDetails.getQualifiedQuantity().add(qualityDetails.getDisqualificationQuantity()));
+            stockJournalDetailsList.add(stockJournalDetails);
+        }
+        stockService.saveOrUpdateBatch(stockList);
+        stockJournalDetailsService.saveBatch(stockJournalDetailsList);
     }
 
     @Override

+ 14 - 7
hx-victoriatourist/src/main/resources/mapper/quality/QualityInfoMapper.xml

@@ -16,19 +16,26 @@
             qi.create_user,
             qi.create_time,
             qi.update_user,
-            qi.update_time,
+            qi.update_time
+        from quality_info qi
+            ${ew.customSqlSegment}
+    </select>
+    <select id="getPage1" resultType="com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo">
+        SELECT
+            asr.id,
             p.`code` purchaseCode,
             p.supply_id,
             json_unquote( sw.victoriatourist_json -> '$.deliverGoodsId' ) deliverGoodsId,
             dg.logistics_company_code,
             dg.`code` logisticsCode,
             p.create_user purchaseUserId,
-            p.create_time purchaseTime
-        from quality_info qi
-                 JOIN bytesailing_wms.stock_wait sw ON qi.bussiness_id = sw.id
-                 JOIN bytesailing_purchase.purchase p ON sw.business_id = p.id
-                 JOIN deliver_goods dg ON dg.id = json_unquote(sw.victoriatourist_json -> '$.deliverGoodsId')
-            ${ew.customSqlSegment}
+            p.create_time purchaseTime,
+            asr.quality_status
+        FROM
+            bytesailing_wms.arrival_stock_records asr
+                JOIN bytesailing_wms.stock_wait sw ON asr.stock_wait_id = sw.id
+                JOIN bytesailing_purchase.purchase p ON sw.business_id = p.id
+                JOIN deliver_goods dg ON dg.id = json_unquote(sw.victoriatourist_json -> '$.deliverGoodsId')
     </select>
 
 </mapper>

+ 68 - 0
hx-wms/src/main/java/com/fjhx/wms/controller/arrival/ArrivalStockRecordsController.java

@@ -0,0 +1,68 @@
+package com.fjhx.wms.controller.arrival;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.arrival.vo.ArrivalStockRecordsVo;
+import com.fjhx.wms.entity.arrival.dto.ArrivalStockRecordsSelectDto;
+import com.fjhx.wms.entity.arrival.dto.ArrivalStockRecordsDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.wms.service.arrival.ArrivalStockRecordsService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 采购到货入库记录 维多利亚 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@RestController
+@RequestMapping("/arrivalStockRecords")
+public class ArrivalStockRecordsController {
+
+    @Autowired
+    private ArrivalStockRecordsService arrivalStockRecordsService;
+
+    /**
+     * 采购到货入库记录 维多利亚分页
+     */
+    @PostMapping("/page")
+    public Page<ArrivalStockRecordsVo> page(@RequestBody ArrivalStockRecordsSelectDto dto) {
+        return arrivalStockRecordsService.getPage(dto);
+    }
+
+    /**
+     * 采购到货入库记录 维多利亚明细
+     */
+    @PostMapping("/detail")
+    public ArrivalStockRecordsVo detail(@RequestBody BaseSelectDto dto) {
+        return arrivalStockRecordsService.detail(dto.getId());
+    }
+
+    /**
+     * 采购到货入库记录 维多利亚新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody ArrivalStockRecordsDto arrivalStockRecordsDto) {
+        arrivalStockRecordsService.add(arrivalStockRecordsDto);
+    }
+
+    /**
+     * 采购到货入库记录 维多利亚编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody ArrivalStockRecordsDto arrivalStockRecordsDto) {
+        arrivalStockRecordsService.edit(arrivalStockRecordsDto);
+    }
+
+    /**
+     * 采购到货入库记录 维多利亚删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        arrivalStockRecordsService.delete(dto.getId());
+    }
+
+}

+ 19 - 0
hx-wms/src/main/java/com/fjhx/wms/controller/arrival/ArrivalStockRecordsDetailsController.java

@@ -0,0 +1,19 @@
+package com.fjhx.wms.controller.arrival;
+
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ * <p>
+ * 采购到货记录明细 维多利亚 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@RestController
+@RequestMapping("/arrivalStockRecordsDetails")
+public class ArrivalStockRecordsDetailsController {
+
+
+}

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/arrival/dto/ArrivalStockRecordsDetailsDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.entity.arrival.dto;
+
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecordsDetails;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 采购到货记录明细 维多利亚新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class ArrivalStockRecordsDetailsDto extends ArrivalStockRecordsDetails {
+
+}

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/arrival/dto/ArrivalStockRecordsDetailsSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.entity.arrival.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 采购到货记录明细 维多利亚列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class ArrivalStockRecordsDetailsSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/arrival/dto/ArrivalStockRecordsDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.entity.arrival.dto;
+
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecords;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 采购到货入库记录 维多利亚新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class ArrivalStockRecordsDto extends ArrivalStockRecords {
+
+}

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/arrival/dto/ArrivalStockRecordsSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.entity.arrival.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 采购到货入库记录 维多利亚列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class ArrivalStockRecordsSelectDto extends BaseSelectDto {
+
+}

+ 37 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/arrival/po/ArrivalStockRecords.java

@@ -0,0 +1,37 @@
+package com.fjhx.wms.entity.arrival.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 采购到货入库记录 维多利亚
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+@TableName("arrival_stock_records")
+public class ArrivalStockRecords extends BasePo {
+
+    /**
+     * 待入库id
+     */
+    private Long stockWaitId;
+
+    /**
+     * 仓库id
+     */
+    private Long warehouseId;
+
+    /**
+     * 质检状态
+     */
+    private Integer qualityStatus;
+
+}

+ 44 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/arrival/po/ArrivalStockRecordsDetails.java

@@ -0,0 +1,44 @@
+package com.fjhx.wms.entity.arrival.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 采购到货记录明细 维多利亚
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+@TableName("arrival_stock_records_details")
+public class ArrivalStockRecordsDetails extends BasePo {
+
+    /**
+     * 采购入库id
+     */
+    private Long arrivalStockRecordsId;
+
+    /**
+     * 产品id
+     */
+    private Long productInfoId;
+
+    /**
+     * 入库数量
+     */
+    private BigDecimal quantity;
+
+    /**
+     * 已质检数量
+     */
+    private BigDecimal qualityQuantity;
+
+}

+ 48 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/arrival/vo/ArrivalStockRecordsDetailsVo.java

@@ -0,0 +1,48 @@
+package com.fjhx.wms.entity.arrival.vo;
+
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecordsDetails;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 采购到货记录明细 维多利亚列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class ArrivalStockRecordsDetailsVo extends ArrivalStockRecordsDetails {
+
+    /**
+     * 产品编码
+     */
+    private String productCode;
+
+    /**
+     * 产品名称
+     */
+    private String productName;
+
+
+    /**
+     * 产品类型
+     */
+    private String productType;
+
+    /**
+     * 规格型号
+     */
+    private String productSpec;
+
+    /**
+     * 单位
+     */
+    private String productUnit;
+
+    /**
+     * 产品定义
+     */
+    private Integer productDefinition;
+
+}

+ 23 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/arrival/vo/ArrivalStockRecordsVo.java

@@ -0,0 +1,23 @@
+package com.fjhx.wms.entity.arrival.vo;
+
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecords;
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecordsDetails;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 采购到货入库记录 维多利亚列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Getter
+@Setter
+public class ArrivalStockRecordsVo extends ArrivalStockRecords {
+
+    /**入库明细*/
+    List<ArrivalStockRecordsDetailsVo> arrivalStockRecordsDetailsList;
+
+}

+ 0 - 48
hx-wms/src/main/java/com/fjhx/wms/entity/quality/QualityDetailsPo.java

@@ -1,48 +0,0 @@
-package com.fjhx.wms.entity.quality;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.ruoyi.common.core.domain.BasePo;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-
-/**
- * <p>
- * 质检明细
- * </p>
- *
- * @author 
- * @since 2023-04-26
- */
-@Getter
-@Setter
-@TableName("quality_details")
-public class QualityDetailsPo extends BasePo {
-
-    /**
-     * 质检id
-     */
-    private Long qualityInfoId;
-
-    /**
-     * 产品id
-     */
-    private Long productInfoId;
-
-    /**
-     * 需要质检数量
-     */
-    private BigDecimal totalQuantity;
-
-    /**
-     * 合格数量
-     */
-    private BigDecimal qualifiedQuantity;
-
-    /**
-     * 不合格数量
-     */
-    private BigDecimal disqualificationQuantity;
-
-}

+ 0 - 66
hx-wms/src/main/java/com/fjhx/wms/entity/quality/QualityInfoPo.java

@@ -1,66 +0,0 @@
-package com.fjhx.wms.entity.quality;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.ruoyi.common.core.domain.BasePo;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * <p>
- * 质检
- * </p>
- *
- * @author 
- * @since 2023-04-26
- */
-@Getter
-@Setter
-@TableName("quality_info")
-public class QualityInfoPo extends BasePo {
-
-    /**
-     * 1采购到货质检 2京东退货质检
-     */
-    private Integer type;
-
-    /**
-     * 质检单号
-     */
-    private String code;
-
-    /**
-     * 业务id(采购待入库id)
-     */
-    private Long bussinessId;
-
-    /**
-     * 业务编码
-     */
-    private String bussinessCode;
-
-    /**
-     * 仓库id
-     */
-    private Long warehouseId;
-
-    /**
-     * 采购单id
-     */
-    private Long purchaseId;
-
-    /**
-     * 采购单号
-     */
-    private String purchaseCode;
-
-    /**
-     * 状态 1未质检 2部分质检 3已质检
-     */
-    private Integer status;
-
-    /**
-     * 质检结果 1合格 0不合格
-     */
-    private Integer resultType;
-
-}

+ 0 - 23
hx-wms/src/main/java/com/fjhx/wms/entity/quality/QualityInfoVoPo.java

@@ -1,23 +0,0 @@
-package com.fjhx.wms.entity.quality;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-
-/**
- * 质检列表查询返回值实体
- *
- * @author
- * @since 2023-04-26
- */
-@Getter
-@Setter
-public class QualityInfoVoPo extends QualityInfoPo {
-
-    /**
-     * 待质检明细
-     */
-    List<QualityDetailsPo> qualityDetailsList;
-
-}

+ 1 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/emums/JournalType.java

@@ -26,6 +26,7 @@ public enum JournalType {
     BORDER_OF_LINE_IN(InOutType.IN, 16, "待入库 线边回仓", ""),
     COMPLETION_IN(InOutType.IN, 17, "待入库 完工入库", ""),
     PURCHASE_ARRIVAL_IN(InOutType.IN, 18, "待入库 采购到货", ""),
+    ARRIVAL_QUALITY(InOutType.IN, 19, "到货质检", "quality_info")
     ;
 
 

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/mapper/arrival/ArrivalStockRecordsDetailsMapper.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.mapper.arrival;
+
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecordsDetails;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ * <p>
+ * 采购到货记录明细 维多利亚 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+public interface ArrivalStockRecordsDetailsMapper extends BaseMapper<ArrivalStockRecordsDetails> {
+
+}

+ 26 - 0
hx-wms/src/main/java/com/fjhx/wms/mapper/arrival/ArrivalStockRecordsMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.wms.mapper.arrival;
+
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecords;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.arrival.vo.ArrivalStockRecordsVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 采购到货入库记录 维多利亚 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+public interface ArrivalStockRecordsMapper extends BaseMapper<ArrivalStockRecords> {
+
+    /**
+     * 采购到货入库记录 维多利亚分页
+     */
+    Page<ArrivalStockRecordsVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ArrivalStockRecords> wrapper);
+
+}

+ 0 - 9
hx-wms/src/main/java/com/fjhx/wms/service/WmsWdlyService.java

@@ -1,9 +0,0 @@
-package com.fjhx.wms.service;
-
-import com.fjhx.wms.entity.quality.QualityInfoVoPo;
-import com.mysql.cj.QueryInfo;
-
-public interface WmsWdlyService {
-
-    void addQualityInfo(QualityInfoVoPo queryInfoVoPo);
-}

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/service/arrival/ArrivalStockRecordsDetailsService.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.service.arrival;
+
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecordsDetails;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 采购到货记录明细 维多利亚 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+public interface ArrivalStockRecordsDetailsService extends BaseService<ArrivalStockRecordsDetails> {
+
+}

+ 46 - 0
hx-wms/src/main/java/com/fjhx/wms/service/arrival/ArrivalStockRecordsService.java

@@ -0,0 +1,46 @@
+package com.fjhx.wms.service.arrival;
+
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecords;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.arrival.vo.ArrivalStockRecordsVo;
+import com.fjhx.wms.entity.arrival.dto.ArrivalStockRecordsSelectDto;
+import com.fjhx.wms.entity.arrival.dto.ArrivalStockRecordsDto;
+
+
+/**
+ * <p>
+ * 采购到货入库记录 维多利亚 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+public interface ArrivalStockRecordsService extends BaseService<ArrivalStockRecords> {
+
+    /**
+     * 采购到货入库记录 维多利亚分页
+     */
+    Page<ArrivalStockRecordsVo> getPage(ArrivalStockRecordsSelectDto dto);
+
+    /**
+     * 采购到货入库记录 维多利亚明细
+     */
+    ArrivalStockRecordsVo detail(Long id);
+
+    /**
+     * 采购到货入库记录 维多利亚新增
+     */
+    void add(ArrivalStockRecordsDto arrivalStockRecordsDto);
+
+    /**
+     * 采购到货入库记录 维多利亚编辑
+     */
+    void edit(ArrivalStockRecordsDto arrivalStockRecordsDto);
+
+    /**
+     * 采购到货入库记录 维多利亚删除
+     */
+    void delete(Long id);
+
+}

+ 21 - 0
hx-wms/src/main/java/com/fjhx/wms/service/arrival/impl/ArrivalStockRecordsDetailsServiceImpl.java

@@ -0,0 +1,21 @@
+package com.fjhx.wms.service.arrival.impl;
+
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecordsDetails;
+import com.fjhx.wms.mapper.arrival.ArrivalStockRecordsDetailsMapper;
+import com.fjhx.wms.service.arrival.ArrivalStockRecordsDetailsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 采购到货记录明细 维多利亚 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Service
+public class ArrivalStockRecordsDetailsServiceImpl extends ServiceImpl<ArrivalStockRecordsDetailsMapper, ArrivalStockRecordsDetails> implements ArrivalStockRecordsDetailsService {
+
+}

+ 81 - 0
hx-wms/src/main/java/com/fjhx/wms/service/arrival/impl/ArrivalStockRecordsServiceImpl.java

@@ -0,0 +1,81 @@
+package com.fjhx.wms.service.arrival.impl;
+
+import com.fjhx.item.service.product.ProductInfoService;
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecords;
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecordsDetails;
+import com.fjhx.wms.entity.arrival.vo.ArrivalStockRecordsDetailsVo;
+import com.fjhx.wms.mapper.arrival.ArrivalStockRecordsMapper;
+import com.fjhx.wms.service.arrival.ArrivalStockRecordsDetailsService;
+import com.fjhx.wms.service.arrival.ArrivalStockRecordsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.arrival.vo.ArrivalStockRecordsVo;
+import com.fjhx.wms.entity.arrival.dto.ArrivalStockRecordsSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.wms.entity.arrival.dto.ArrivalStockRecordsDto;
+import cn.hutool.core.bean.BeanUtil;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ * 采购到货入库记录 维多利亚 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-26
+ */
+@Service
+public class ArrivalStockRecordsServiceImpl extends ServiceImpl<ArrivalStockRecordsMapper, ArrivalStockRecords> implements ArrivalStockRecordsService {
+
+    @Autowired
+    ArrivalStockRecordsDetailsService arrivalStockRecordsDetailsService;
+    @Autowired
+    ProductInfoService productInfoService;
+
+    @Override
+    public Page<ArrivalStockRecordsVo> getPage(ArrivalStockRecordsSelectDto dto) {
+        IWrapper<ArrivalStockRecords> wrapper = getWrapper();
+        wrapper.orderByDesc("asr", ArrivalStockRecords::getId);
+        Page<ArrivalStockRecordsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public ArrivalStockRecordsVo detail(Long id) {
+        ArrivalStockRecords ArrivalStockRecords = this.getById(id);
+        ArrivalStockRecordsVo result = BeanUtil.toBean(ArrivalStockRecords, ArrivalStockRecordsVo.class);
+                List<ArrivalStockRecordsDetails> qualityDetailsList = arrivalStockRecordsDetailsService.list(q -> q.eq(ArrivalStockRecordsDetails::getArrivalStockRecordsId, result.getId()));
+        List<ArrivalStockRecordsDetailsVo> arrivalStockRecordsDetailsVos = BeanUtil.copyToList(qualityDetailsList, ArrivalStockRecordsDetailsVo.class);
+        //赋值产品信息
+        productInfoService.attributeAssign(arrivalStockRecordsDetailsVos, ArrivalStockRecordsDetailsVo::getProductInfoId, (item, productInfo) -> {
+            item.setProductName(productInfo.getName());
+            item.setProductType(productInfo.getType());
+            item.setProductCode(productInfo.getCode());
+            item.setProductUnit(productInfo.getUnit());
+            item.setProductSpec(productInfo.getSpec());
+            item.setProductDefinition(productInfo.getDefinition());
+        });
+        result.setArrivalStockRecordsDetailsList(arrivalStockRecordsDetailsVos);
+        return result;
+    }
+
+    @Override
+    public void add(ArrivalStockRecordsDto arrivalStockRecordsDto) {
+        this.save(arrivalStockRecordsDto);
+    }
+
+    @Override
+    public void edit(ArrivalStockRecordsDto arrivalStockRecordsDto) {
+        this.updateById(arrivalStockRecordsDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 2 - 2
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java

@@ -366,10 +366,10 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
                     //维多利亚入库增加冻结库存
                     String victoriatouristJson = oldStocks.getVictoriatouristJson();
                     JSONObject json = JSONObject.parseObject(victoriatouristJson);
-                    BigDecimal frozenQuantity = json.getBigDecimal("frozen_quantity");
+                    BigDecimal frozenQuantity = json.getBigDecimal("frozenQuantity");
                     frozenQuantity = frozenQuantity == null ? BigDecimal.ZERO : frozenQuantity;
                     frozenQuantity = frozenQuantity.add(stock.getQuantity());
-                    json.put("frozen_quantity", frozenQuantity);
+                    json.put("frozenQuantity", frozenQuantity);
                     newStocks.setVictoriatouristJson(json.toJSONString());
                 } else {
                     throw new ServiceException("未知库存操作类型");

+ 24 - 22
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -4,13 +4,14 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 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.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
-import com.fjhx.wms.entity.quality.QualityDetailsPo;
-import com.fjhx.wms.entity.quality.QualityInfoVoPo;
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecords;
+import com.fjhx.wms.entity.arrival.po.ArrivalStockRecordsDetails;
 import com.fjhx.wms.entity.stock.dto.StockWaitDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitSelectDto;
 import com.fjhx.wms.entity.stock.emums.JournalType;
@@ -20,11 +21,11 @@ import com.fjhx.wms.entity.stock.vo.StockWaitDetailsVo;
 import com.fjhx.wms.entity.stock.vo.StockWaitVo;
 import com.fjhx.wms.entity.warehouse.po.Warehouse;
 import com.fjhx.wms.mapper.stock.StockWaitMapper;
-import com.fjhx.wms.service.WmsWdlyService;
+import com.fjhx.wms.service.arrival.ArrivalStockRecordsDetailsService;
+import com.fjhx.wms.service.arrival.ArrivalStockRecordsService;
 import com.fjhx.wms.service.stock.*;
 import com.fjhx.wms.service.warehouse.WarehouseService;
 import com.fjhx.wms.utils.CodeEnum;
-import com.mysql.cj.QueryInfo;
 import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
@@ -65,7 +66,9 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
     @Autowired
     WarehouseService warehouseService;
     @Autowired
-    WmsWdlyService wmsWdlyService;
+    ArrivalStockRecordsService arrivalStockRecordsService;
+    @Autowired
+    ArrivalStockRecordsDetailsService arrivalStockRecordsDetailsService;
 
     @Override
     public Page<StockWaitVo> getPage(StockWaitSelectDto dto) {
@@ -216,7 +219,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         stockJournalDetailsService.saveBatch(stockJournalDetailsList);
     }
 
-    @Transactional(rollbackFor = Exception.class)
+    @DSTransactional
     @Override
     public void addByWdly(StockWaitDto stockWaitDto) {
         List<Stock> stockList = new ArrayList<>();
@@ -277,24 +280,23 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
 
         //如果是采购到货 创建待质检记录
         if(stockWait.getBusinessType() == StockWaitType.PURCHASE_ARRIVAL_IN.getDetailType()){
-            //质检明细
-            QualityInfoVoPo qualityInfoVoPo = new QualityInfoVoPo();
-            qualityInfoVoPo.setType(1);//采购到货
-            qualityInfoVoPo.setBussinessId(stockWait.getId());//设置待入库id
-            qualityInfoVoPo.setBussinessCode(stockWait.getBusinessCode());//待入库单号
-            qualityInfoVoPo.setWarehouseId(stockWaitDto.getWarehouseId());//入库出库
-
-            //质检明细
-            List<QualityDetailsPo> qualityDetailsPoList = new ArrayList<>();
+            //创建采购到货入库记录
+            ArrivalStockRecords arrivalStockRecords = new ArrivalStockRecords();
+            arrivalStockRecords.setStockWaitId(stockWait.getId());
+            arrivalStockRecords.setWarehouseId(stockWaitDto.getWarehouseId());
+            arrivalStockRecords.setQualityStatus(0);
+            arrivalStockRecordsService.save(arrivalStockRecords);
+            //创建入库明细
+            List<ArrivalStockRecordsDetails> arrivalStockRecordsDetailsList = new ArrayList<>();
             for (StockWaitDetails waitDetails : stockWaitDetailsList) {
-                QualityDetailsPo qualityDetailsPo = new QualityDetailsPo();
-                qualityDetailsPo.setProductInfoId(waitDetails.getProductId());
-                qualityDetailsPo.setTotalQuantity(waitDetails.getQuantity());
+                ArrivalStockRecordsDetails arrivalStockRecordsDetails = new ArrivalStockRecordsDetails();
+                arrivalStockRecordsDetails.setArrivalStockRecordsId(arrivalStockRecords.getId());
+                arrivalStockRecordsDetails.setProductInfoId(waitDetails.getProductId());
+                arrivalStockRecordsDetails.setQuantity(waitDetails.getQuantity());
+                arrivalStockRecordsDetails.setQualityQuantity(BigDecimal.ZERO);
+                arrivalStockRecordsDetailsList.add(arrivalStockRecordsDetails);
             }
-            qualityInfoVoPo.setQualityDetailsList(qualityDetailsPoList);
-
-            //创建质检信息
-            wmsWdlyService.addQualityInfo(qualityInfoVoPo);
+            arrivalStockRecordsDetailsService.saveBatch(arrivalStockRecordsDetailsList);
         }
     }
 

+ 4 - 0
hx-wms/src/main/resources/mapper/arrival/ArrivalStockRecordsDetailsMapper.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.wms.mapper.arrival.ArrivalStockRecordsDetailsMapper">
+</mapper>

+ 17 - 0
hx-wms/src/main/resources/mapper/arrival/ArrivalStockRecordsMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.wms.mapper.arrival.ArrivalStockRecordsMapper">
+    <select id="getPage" resultType="com.fjhx.wms.entity.arrival.vo.ArrivalStockRecordsVo">
+        select
+            asr.id,
+            asr.stock_wait_id,
+            asr.warehouse_id,
+            asr.create_user,
+            asr.create_time,
+            asr.update_user,
+            asr.update_time
+        from arrival_stock_records asr
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>