Browse Source

异常管理添加明细
添加质检记录

yzc 2 years ago
parent
commit
396e2d7f6f
20 changed files with 419 additions and 41 deletions
  1. 1 1
      hx-common/code-generator/src/main/java/com/fjhx/modular/Victoriatourist.java
  2. 55 0
      hx-service-api/victoriatourist-api/src/main/java/com/fjhx/entity/quality/QualityRecords.java
  3. 13 0
      hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityInfoEx.java
  4. 17 0
      hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityRecordsEx.java
  5. 17 0
      hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityRecordsVo.java
  6. 11 0
      hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/stock/StockTransferEx.java
  7. 6 17
      hx-service/victoriatourist/src/main/java/com/fjhx/controller/quality/QualityInfoController.java
  8. 56 0
      hx-service/victoriatourist/src/main/java/com/fjhx/controller/quality/QualityRecordsController.java
  9. 2 1
      hx-service/victoriatourist/src/main/java/com/fjhx/controller/stock/StockTransferController.java
  10. 16 0
      hx-service/victoriatourist/src/main/java/com/fjhx/mapper/quality/QualityRecordsMapper.java
  11. 5 0
      hx-service/victoriatourist/src/main/java/com/fjhx/mapper/quality/QualityRecordsMapper.xml
  12. 2 1
      hx-service/victoriatourist/src/main/java/com/fjhx/mapper/stock/StockTransferMapper.java
  13. 1 3
      hx-service/victoriatourist/src/main/java/com/fjhx/mapper/stock/StockTransferMapper.xml
  14. 4 4
      hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/QualityInfoService.java
  15. 28 0
      hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/QualityRecordsService.java
  16. 38 11
      hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/impl/QualityDetailsServiceImpl.java
  17. 72 0
      hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/impl/QualityInfoServiceImpl.java
  18. 48 0
      hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/impl/QualityRecordsServiceImpl.java
  19. 2 1
      hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/StockTransferService.java
  20. 25 2
      hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/impl/StockTransferServiceImpl.java

+ 1 - 1
hx-common/code-generator/src/main/java/com/fjhx/modular/Victoriatourist.java

@@ -12,7 +12,7 @@ public class Victoriatourist {
         CodeGenerator.MODULAR_NAME = "victoriatourist";
 
         // 需要生成的表名称,多表用,隔开
-        CodeGenerator.INCLUDE = "jd_back_details";
+        CodeGenerator.INCLUDE = "quality_records";
 
         // mysql连接
         CodeGenerator.MYSQL_URL = "36.134.91.96:17330";

+ 55 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/entity/quality/QualityRecords.java

@@ -0,0 +1,55 @@
+package com.fjhx.entity.quality;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fjhx.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 质检记录
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class QualityRecords extends BaseEntity {
+
+
+    /**
+     * 质检明细id
+     */
+    private Long qualityDetailsId;
+
+    /**
+     * 需要质检数量
+     */
+    private BigDecimal totalQuantity;
+
+    /**
+     * 合格数量
+     */
+    private BigDecimal qualifiedQuantity;
+
+    /**
+     * 不合格数量
+     */
+    private BigDecimal disqualificationQuantity;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 13 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityInfoEx.java

@@ -1,9 +1,13 @@
 package com.fjhx.params.quality;
 
+import com.fjhx.entity.logistics.LogisticsInfo;
+import com.fjhx.entity.purchase.Purchase;
 import com.fjhx.entity.quality.QualityInfo;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.List;
+
 /**
  * 质检
  *
@@ -14,4 +18,13 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = true)
 public class QualityInfoEx extends QualityInfo {
 
+    /**质检明细列表*/
+    List<QualityDetailsVo> qualityDetailsList;
+
+    /**物流信息*/
+    LogisticsInfo logisticsInfo;
+
+    /**采购信息*/
+    Purchase purchase;
+
 }

+ 17 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityRecordsEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.quality;
+
+import com.fjhx.entity.quality.QualityRecords;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 质检记录
+ *
+ * @author ${author}
+ * @since 2023-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class QualityRecordsEx extends QualityRecords {
+
+}

+ 17 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/quality/QualityRecordsVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.quality;
+
+import com.fjhx.entity.quality.QualityRecords;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 质检记录
+ *
+ * @author ${author}
+ * @since 2023-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class QualityRecordsVo extends QualityRecords {
+
+}

+ 11 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/stock/StockTransferEx.java

@@ -1,9 +1,12 @@
 package com.fjhx.params.stock;
 
+import com.fjhx.entity.product.ProductInfo;
 import com.fjhx.entity.stock.StockTransfer;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.List;
+
 /**
  * 调仓
  *
@@ -14,4 +17,12 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = true)
 public class StockTransferEx extends StockTransfer {
 
+    /**目标仓库名称*/
+    private String inWarehouseName;
+    /**出库仓库名称*/
+    private String outWarehouseName;
+
+    /**调仓产品明细*/
+    private List<ProductInfo> productInfoList;
+
 }

+ 6 - 17
hx-service/victoriatourist/src/main/java/com/fjhx/controller/quality/QualityInfoController.java

@@ -43,23 +43,12 @@ public class QualityInfoController {
         return R.success(result);
     }
 
-    // @PostMapping("/add")
-    // public R add(@RequestBody QualityInfoVo qualityInfoVo){
-    //     qualityInfoService.add(qualityInfoVo);
-    //     return R.success();
-    // }
-
-    // @PostMapping("/edit")
-    // public R edit(@RequestBody QualityInfoVo qualityInfoVo) {
-    //     qualityInfoService.edit(qualityInfoVo);
-    //     return R.success();
-    // }
-
-    // @PostMapping("/delete")
-    // public R delete(@RequestBody QualityInfoVo qualityInfoVo){
-    //     qualityInfoService.delete(qualityInfoVo);
-    //     return R.success();
-    // }
+    /**质检明细*/
+    @PostMapping("/detailsInfo")
+    public R detailsInfo(@Validated @RequestBody GetDetailsListDto dto) {
+        QualityInfoEx result = qualityInfoService.getDetailsInfo(dto);
+        return R.success(result);
+    }
 
 }
 

+ 56 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/controller/quality/QualityRecordsController.java

@@ -0,0 +1,56 @@
+package com.fjhx.controller.quality;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.tool.api.R;
+import com.fjhx.entity.quality.QualityRecords;
+import com.fjhx.params.quality.QualityRecordsVo;
+import com.fjhx.service.quality.QualityRecordsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 质检记录 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-03-27
+ */
+@RestController
+@RequestMapping("/qualityRecords")
+public class QualityRecordsController {
+
+    @Autowired
+    private QualityRecordsService qualityRecordsService;
+
+    @PostMapping("/page")
+    public R page(@RequestBody Map<String, Object> condition){
+        Page<QualityRecords> result = qualityRecordsService.getPage(condition);
+        return R.success(result);
+    }
+
+    @PostMapping("/add")
+    public R add(@RequestBody QualityRecordsVo qualityRecordsVo){
+        qualityRecordsService.add(qualityRecordsVo);
+        return R.success();
+    }
+
+    @PostMapping("/edit")
+    public R edit(@RequestBody QualityRecordsVo qualityRecordsVo){
+        qualityRecordsService.edit(qualityRecordsVo);
+        return R.success();
+    }
+
+    @PostMapping("/delete")
+    public R delete(@RequestBody QualityRecordsVo qualityRecordsVo){
+        qualityRecordsService.delete(qualityRecordsVo);
+        return R.success();
+    }
+
+}
+

+ 2 - 1
hx-service/victoriatourist/src/main/java/com/fjhx/controller/stock/StockTransferController.java

@@ -5,6 +5,7 @@ import com.fjhx.base.Condition;
 import com.fjhx.entity.stock.StockTransfer;
 import com.fjhx.enums.stock.OutTypeEnum;
 import com.fjhx.params.stock.StockTransferAddDto;
+import com.fjhx.params.stock.StockTransferEx;
 import com.fjhx.service.stock.StockTransferService;
 import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -59,7 +60,7 @@ public class StockTransferController {
     /**调仓明细*/
     @PostMapping("/detailed")
     public R detailed(@RequestBody StockTransfer stockTransfer) {
-        StockTransfer detailed = stockTransferService.detailed(stockTransfer);
+        StockTransferEx detailed = stockTransferService.detailed(stockTransfer);
         return R.success(detailed);
     }
 

+ 16 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/quality/QualityRecordsMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.quality;
+
+import com.fjhx.entity.quality.QualityRecords;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 质检记录 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-03-27
+ */
+public interface QualityRecordsMapper extends BaseMapper<QualityRecords> {
+
+}

+ 5 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/quality/QualityRecordsMapper.xml

@@ -0,0 +1,5 @@
+<?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.mapper.quality.QualityRecordsMapper">
+
+</mapper>

+ 2 - 1
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/stock/StockTransferMapper.java

@@ -1,5 +1,6 @@
 package com.fjhx.mapper.stock;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.entity.stock.StockTransfer;
@@ -21,5 +22,5 @@ public interface StockTransferMapper extends BaseMapper<StockTransfer> {
 
     Page<Map<String, Object>> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<Object> wrapper);
 
-    StockTransferEx detailed(Long id);
+    StockTransferEx detailed(@Param("ew") QueryWrapper queryWrapper);
 }

+ 1 - 3
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/stock/StockTransferMapper.xml

@@ -26,13 +26,11 @@
     <select id="detailed" resultType="com.fjhx.params.stock.StockTransferEx">
         SELECT
             st.*,
-            w.`name` inWarehouseName,
             w1.`name` outWarehouseName
         FROM
             `stock_transfer` st
-                JOIN warehouse w ON st.in_warehouse_id = w.id
                 JOIN warehouse w1 ON st.out_warehouse_id = w1.id
-        where st.id = #{id}
+            ${ew.customSqlSegment}
     </select>
 
 </mapper>

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

@@ -3,10 +3,7 @@ package com.fjhx.service.quality;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.base.BaseService;
 import com.fjhx.entity.quality.QualityInfo;
-import com.fjhx.params.quality.GetDetailsListDto;
-import com.fjhx.params.quality.QualityDetailsVo;
-import com.fjhx.params.quality.QualityInfoPageDto;
-import com.fjhx.params.quality.QualityInfoPageVo;
+import com.fjhx.params.quality.*;
 
 import java.util.List;
 
@@ -24,4 +21,7 @@ public interface QualityInfoService extends BaseService<QualityInfo> {
 
     List<QualityDetailsVo> getDetailsList(GetDetailsListDto dto);
 
+    QualityInfoEx getDetailsInfo(GetDetailsListDto dto);
+
+
 }

+ 28 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/QualityRecordsService.java

@@ -0,0 +1,28 @@
+package com.fjhx.service.quality;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.quality.QualityRecords;
+import com.fjhx.params.quality.QualityRecordsVo;
+import com.fjhx.base.BaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 质检记录 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-03-27
+ */
+public interface QualityRecordsService extends BaseService<QualityRecords> {
+
+    Page<QualityRecords> getPage(Map<String, Object> condition);
+
+    void add(QualityRecordsVo qualityRecordsVo);
+
+    void edit(QualityRecordsVo qualityRecordsVo);
+
+    void delete(QualityRecordsVo qualityRecordsVo);
+
+}

+ 38 - 11
hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/impl/QualityDetailsServiceImpl.java

@@ -10,12 +10,14 @@ import com.fjhx.constants.StatusConstant;
 import com.fjhx.entity.abnormal.AbnormalInfo;
 import com.fjhx.entity.quality.QualityDetails;
 import com.fjhx.entity.quality.QualityInfo;
+import com.fjhx.entity.quality.QualityRecords;
 import com.fjhx.entity.stock.Stock;
 import com.fjhx.enums.stock.QualityStatusEnum;
 import com.fjhx.mapper.quality.QualityDetailsMapper;
 import com.fjhx.service.abnormal.AbnormalInfoService;
 import com.fjhx.service.quality.QualityDetailsService;
 import com.fjhx.service.quality.QualityInfoService;
+import com.fjhx.service.quality.QualityRecordsService;
 import com.fjhx.service.stock.StockService;
 import org.springblade.core.log.exception.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -48,6 +50,8 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
 
     @Autowired
     private AbnormalInfoService abnormalInfoService;
+    @Autowired
+    private QualityRecordsService qualityRecordsService;
 
     @Transactional(rollbackFor = Exception.class)
     @Override
@@ -73,7 +77,27 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
         // 质检结果标记
         boolean resultTypeFlag = true;
 
+        List<QualityRecords> qualityRecordsList = new ArrayList<>();
+        List<AbnormalInfo> abnormalInfoList = new ArrayList<>();
+
         for (QualityDetails qualityDetails : qualityDetailsList) {
+            //如果存在不合格产品就创建质检记录和异常记录
+            QualityRecords qualityRecords = new QualityRecords();
+            qualityRecords.setId(IdWorker.getId());
+            qualityRecords.setQualityDetailsId(qualityDetails.getId());
+            qualityRecords.setTotalQuantity(qualityDetails.getTotalQuantity());
+            qualityRecords.setQualifiedQuantity(qualityDetails.getQualifiedQuantity());
+            qualityRecords.setDisqualificationQuantity(qualityDetails.getDisqualificationQuantity());
+            qualityRecordsList.add(qualityRecords);
+            if(qualityDetails.getDisqualificationQuantity().compareTo(BigDecimal.ZERO)>0) {
+                AbnormalInfo abnormalInfo = new AbnormalInfo();
+                abnormalInfo.setId(IdWorker.getId());
+                abnormalInfo.setType(10);
+                abnormalInfo.setLinkId(qualityRecords.getId());
+                abnormalInfo.setTitle("质检存在不合格");
+                abnormalInfoList.add(abnormalInfo);
+            }
+
             QualityDetails oldQualityDetails = oldMap.get(qualityDetails.getId());
             Long productInfoId = oldQualityDetails.getProductInfoId();
 
@@ -90,11 +114,11 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
 
             // 合格数量
             BigDecimal qualifiedQuantity = qualityDetails.getQualifiedQuantity();
-            Assert.isTrue(qualifiedQuantity.compareTo(BigDecimal.ZERO)>=0,"输入的合格数量不能小于0");
             // 不合格数量
             BigDecimal disqualificationQuantity = qualityDetails.getDisqualificationQuantity();
-            Assert.isTrue(disqualificationQuantity.compareTo(BigDecimal.ZERO)>=0,"输入的不合格数量不能小于0");
-            Assert.isFalse(qualifiedQuantity.add(disqualificationQuantity).compareTo(BigDecimal.ZERO)==0,"合格数量加不合格数量不能为零");
+            Assert.isTrue(qualifiedQuantity.compareTo(BigDecimal.ZERO) >= 0, "输入的合格数量不能小于0");
+            Assert.isTrue(disqualificationQuantity.compareTo(BigDecimal.ZERO) >= 0, "输入的不合格数量不能小于0");
+            Assert.isFalse(qualifiedQuantity.add(disqualificationQuantity).compareTo(BigDecimal.ZERO) < 0, "合格数量加不合格数量不能小于0");
             // 判断合格数量加不合格数量是否大于总数量
             BigDecimal newQualifiedQuantity = oldQualityDetails.getQualifiedQuantity().add(qualifiedQuantity);
             BigDecimal newDisqualificationQuantity = oldQualityDetails.getDisqualificationQuantity().add(disqualificationQuantity);
@@ -125,14 +149,14 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
         }
 
         //质检存在不合格 记录异常数据
-        if(disqualificationQuantityMap.size()>0){
-            AbnormalInfo abnormalInfo = new AbnormalInfo();
-            abnormalInfo.setId(IdWorker.getId());
-            abnormalInfo.setType(10);
-            abnormalInfo.setLinkId(qualityInfoId);
-            abnormalInfo.setTitle("质检存在不合格");
-            abnormalInfoService.save(abnormalInfo);
-        }
+//        if (disqualificationQuantityMap.size() > 0) {
+//            AbnormalInfo abnormalInfo = new AbnormalInfo();
+//            abnormalInfo.setId(IdWorker.getId());
+//            abnormalInfo.setType(10);
+//            abnormalInfo.setLinkId(qualityInfoId);
+//            abnormalInfo.setTitle("质检存在不合格");
+//            abnormalInfoService.save(abnormalInfo);
+//        }
 
         // 修改质检未完成状态
         QualityInfo qualityInfo = new QualityInfo();
@@ -180,6 +204,9 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
         stockService.updateBatchById(stockList);
 
         updateBatchById(qualityDetailsList);
+
+        abnormalInfoService.saveBatch(abnormalInfoList);
+        qualityRecordsService.saveBatch(qualityRecordsList);
     }
 
 }

+ 72 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/impl/QualityInfoServiceImpl.java

@@ -3,24 +3,36 @@ package com.fjhx.service.quality.impl;
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.entity.logistics.LogisticsCompany;
+import com.fjhx.entity.logistics.LogisticsInfo;
+import com.fjhx.entity.product.ProductInfo;
 import com.fjhx.entity.purchase.Purchase;
 import com.fjhx.entity.quality.QualityDetails;
 import com.fjhx.entity.quality.QualityInfo;
+import com.fjhx.entity.quality.QualityRecords;
 import com.fjhx.entity.supplier.Supplier;
 import com.fjhx.mapper.quality.QualityInfoMapper;
 import com.fjhx.params.quality.*;
+import com.fjhx.service.logistics.LogisticsCompanyService;
+import com.fjhx.service.logistics.LogisticsInfoService;
 import com.fjhx.service.product.ProductInfoService;
+import com.fjhx.service.purchase.PurchaseService;
 import com.fjhx.service.quality.QualityDetailsService;
 import com.fjhx.service.quality.QualityInfoService;
+import com.fjhx.service.quality.QualityRecordsService;
+import com.fjhx.service.supplier.SupplierService;
 import com.fjhx.utils.UserClientUtil;
 import com.fjhx.utils.wrapperUtil.IWrapper;
 import com.fjhx.utils.wrapperUtil.KeywordData;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -39,6 +51,22 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
     @Autowired
     private QualityDetailsService qualityDetailsService;
 
+    @Autowired
+    private QualityInfoService qualityInfoService;
+    @Autowired
+    private LogisticsInfoService logisticsInfoService;
+
+    @Autowired
+    private PurchaseService purchaseService;
+    @Autowired
+    private SupplierService supplierService;
+
+    @Autowired
+    private LogisticsCompanyService logisticsCompanyService;
+
+    @Autowired
+    private QualityRecordsService qualityRecordsService;
+
     @Override
     public Page<QualityInfoPageVo> getPage(QualityInfoPageDto dto) {
 
@@ -85,4 +113,48 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
         return result;
     }
 
+    @Override
+    public QualityInfoEx getDetailsInfo(GetDetailsListDto dto) {
+        QualityRecords qualityRecords = qualityRecordsService.getById(dto.getQualityInfoId());
+        QualityDetails qualityDetails = qualityDetailsService.getById(qualityRecords.getQualityDetailsId());
+        QualityInfo qualityInfo = qualityInfoService.getById(qualityDetails.getQualityInfoId());
+
+//        QualityInfo qualityInfo = qualityInfoService.getById(dto.getQualityInfoId());
+        QualityInfoEx qualityInfoEx = BeanUtil.copyProperties(qualityInfo, QualityInfoEx.class);
+
+//        List<QualityDetails> list = qualityDetailsService.list(q -> q.eq(QualityDetails::getQualityInfoId, dto.getQualityInfoId()));
+
+//        List<QualityDetailsVo> result = BeanUtil.copyToList(list, QualityDetailsVo.class);
+
+//        productInfoService.attributeAssign(result, QualityDetails::getProductInfoId, (item, product) -> {
+//            item.setProductCode(product.getCode());
+//            item.setProductName(product.getName());
+//        });
+
+        ProductInfo productInfo = productInfoService.getById(qualityDetails.getProductInfoId());
+
+        List<QualityDetailsVo> qualityDetailsVoList = new ArrayList<>();
+        QualityDetailsVo qualityDetailsVo = new QualityDetailsVo();
+        qualityDetailsVo.setProductCode(productInfo.getCode());
+        qualityDetailsVo.setProductName(productInfo.getName());
+        qualityDetailsVo.setTotalQuantity(qualityRecords.getTotalQuantity());
+        qualityDetailsVo.setQualifiedQuantity(qualityRecords.getQualifiedQuantity());
+        qualityDetailsVo.setDisqualificationQuantity(qualityRecords.getDisqualificationQuantity());
+        qualityDetailsVoList.add(qualityDetailsVo);
+
+        qualityInfoEx.setQualityDetailsList(qualityDetailsVoList);
+        LogisticsInfo logisticsInfo = logisticsInfoService.getById(qualityInfoEx.getLogisticsInfoId());
+        LogisticsCompany logisticsCompany = logisticsCompanyService.getOne(q -> q.eq(LogisticsCompany::getCode, logisticsInfo.getLogisticsCompanyCode()));
+        logisticsInfo.setLogisticsCompanyName(logisticsCompany.getName());
+        qualityInfoEx.setLogisticsInfo(logisticsInfo);
+        Purchase purchase = purchaseService.getById(logisticsInfo.getBusinessId());
+        if(ObjectUtil.isNotEmpty(purchase)){
+            Supplier supplier = supplierService.getById(purchase.getSupplierId());
+            purchase.setSupplierName(supplier.getName());
+            qualityInfoEx.setPurchase(purchase);
+        }
+
+        return qualityInfoEx;
+    }
+
 }

+ 48 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/impl/QualityRecordsServiceImpl.java

@@ -0,0 +1,48 @@
+package com.fjhx.service.quality.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.quality.QualityRecords;
+import com.fjhx.params.quality.QualityRecordsVo;
+import com.fjhx.mapper.quality.QualityRecordsMapper;
+import com.fjhx.service.quality.QualityRecordsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.utils.wrapperUtil.IWrapper;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 质检记录 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-03-27
+ */
+@Service
+public class QualityRecordsServiceImpl extends ServiceImpl<QualityRecordsMapper, QualityRecords> implements QualityRecordsService {
+
+    @Override
+    public Page<QualityRecords> getPage(Map<String, Object> condition) {
+
+        IWrapper<QualityRecords> wrapper = IWrapper.getWrapper(condition);
+
+        return page(condition, wrapper);
+    }
+
+    @Override
+    public void add(QualityRecordsVo qualityRecordsVo) {
+        save(qualityRecordsVo);
+    }
+
+    @Override
+    public void edit(QualityRecordsVo qualityRecordsVo) {
+        updateById(qualityRecordsVo);
+    }
+
+    @Override
+    public void delete(QualityRecordsVo qualityRecordsVo) {
+        removeById(qualityRecordsVo.getId());
+    }
+
+}

+ 2 - 1
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/StockTransferService.java

@@ -5,6 +5,7 @@ import com.fjhx.base.BaseService;
 import com.fjhx.base.Condition;
 import com.fjhx.entity.stock.StockTransfer;
 import com.fjhx.params.stock.StockTransferAddDto;
+import com.fjhx.params.stock.StockTransferEx;
 
 import java.util.Map;
 
@@ -31,6 +32,6 @@ public interface StockTransferService extends BaseService<StockTransfer> {
     void receive(StockTransfer stockTransfer);
 
     /**调仓明细*/
-    StockTransfer detailed(StockTransfer stockTransfer);
+    StockTransferEx detailed(StockTransfer stockTransfer);
 
 }

+ 25 - 2
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/impl/StockTransferServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fjhx.service.stock.impl;
 
 import cn.hutool.core.convert.Convert;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -9,19 +10,24 @@ import com.fjhx.constants.StatusConstant;
 import com.fjhx.entity.abnormal.AbnormalInfo;
 import com.fjhx.entity.product.ProductInfo;
 import com.fjhx.entity.stock.StockTransfer;
+import com.fjhx.entity.warehouse.Warehouse;
 import com.fjhx.enums.stock.InTypeEnum;
 import com.fjhx.mapper.stock.StockTransferMapper;
 import com.fjhx.params.stock.ChangeProduct;
 import com.fjhx.params.stock.StockChangeDto;
 import com.fjhx.params.stock.StockTransferAddDto;
+import com.fjhx.params.stock.StockTransferEx;
 import com.fjhx.service.abnormal.AbnormalInfoService;
+import com.fjhx.service.product.ProductInfoService;
 import com.fjhx.service.stock.StockService;
 import com.fjhx.service.stock.StockTransferService;
+import com.fjhx.service.warehouse.WarehouseService;
 import com.fjhx.utils.Assert;
 import com.fjhx.utils.UserClientUtil;
 import com.fjhx.utils.wrapperUtil.IWrapper;
 import com.fjhx.utils.wrapperUtil.KeywordData;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -47,6 +53,12 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
     @Autowired
     private AbnormalInfoService abnormalInfoService;
 
+    @Autowired
+    private WarehouseService warehouseService;
+
+    @Autowired
+    ProductInfoService productInfoService;
+
     @Override
     public Page<Map<String, Object>> getPage(Condition condition) {
 
@@ -160,8 +172,19 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
     }
 
     @Override
-    public StockTransfer detailed(StockTransfer stockTransfer){
-        return baseMapper.detailed(stockTransfer.getId());
+    public StockTransferEx detailed(StockTransfer stockTransfer){
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("st.id",stockTransfer.getId());
+        queryWrapper.or();
+        queryWrapper.eq("st.jd_order_info_id",stockTransfer.getId());
+        StockTransferEx detailed = baseMapper.detailed(queryWrapper);
+        Warehouse inWarehouse = warehouseService.getById(detailed.getInWarehouseId());
+        if(ObjectUtil.isNotEmpty(inWarehouse)) {
+            detailed.setInWarehouseName(inWarehouse.getName());
+        }
+        List<ProductInfo> productInfoList = productInfoService.list(q -> q.eq(ProductInfo::getId, detailed.getProductId()));
+        detailed.setProductInfoList(productInfoList);
+        return detailed;
     }
 
 }