Przeglądaj źródła

到货质检添加查看明细

yzc 1 rok temu
rodzic
commit
733feaf68f

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

@@ -1,13 +1,18 @@
 package com.fjhx.victoriatourist.controller.quality;
 
-import org.springframework.web.bind.annotation.*;
 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.fjhx.victoriatourist.entity.quality.dto.QualityInfoDto;
-import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoSelectDto;
+import com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo;
 import com.fjhx.victoriatourist.service.quality.QualityInfoService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
 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.List;
 
 
 /**
@@ -42,6 +47,14 @@ public class QualityInfoController {
     }
 
     /**
+     * 获取质检列表
+     */
+    @PostMapping("/getList")
+    List<QualityInfoVo> getList(@RequestBody QualityInfoSelectDto dto){
+        return qualityInfoService.getList(dto);
+    }
+
+    /**
      * 质检明细
      */
     @PostMapping("/detail")

+ 5 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/dto/QualityInfoSelectDto.java

@@ -16,4 +16,9 @@ public class QualityInfoSelectDto extends BaseSelectDto {
 
     private Integer qualityStatus;
 
+    /**
+     * 到货记录id
+     */
+    private Long arrivalStockRecordsId;
+
 }

+ 47 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/quality/vo/QualityDetailsVo.java

@@ -4,6 +4,8 @@ import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * 质检明细列表查询返回值实体
  *
@@ -14,4 +16,49 @@ import lombok.Setter;
 @Setter
 public class QualityDetailsVo extends QualityDetails {
 
+    /**
+     * 产品编码
+     */
+    private String productCode;
+
+    /**
+     * 产品名称
+     */
+    private String productName;
+
+
+    /**
+     * 产品类型
+     */
+    private String productType;
+
+    /**
+     * 规格型号
+     */
+    private String productSpec;
+
+    /**
+     * 单位
+     */
+    private String productUnit;
+
+    /**
+     * 产品定义
+     */
+    private Integer productDefinition;
+
+    /**
+     * 产品自定义编码
+     */
+    private String productCustomCode;
+
+    /**
+     * 到货数量
+     */
+    private BigDecimal arrivalQuantity;
+    /**
+     * 质检数量
+     */
+    private BigDecimal qualityQuantity;
+
 }

+ 11 - 0
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;
 
 /**
  * 质检列表查询返回值实体
@@ -76,5 +77,15 @@ public class QualityInfoVo extends QualityInfo {
      */
     private String contractCode;
 
+    /**
+     * 质检明细列表
+     */
+    private List<QualityDetailsVo> qualityDetailsList;
+
+    /**
+     * 质检人名称
+     */
+    private String qualityUserName;
+
 
 }

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

@@ -1,11 +1,13 @@
 package com.fjhx.victoriatourist.service.quality;
 
-import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
-import com.ruoyi.common.core.service.BaseService;
 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.fjhx.victoriatourist.entity.quality.dto.QualityInfoDto;
+import com.fjhx.victoriatourist.entity.quality.dto.QualityInfoSelectDto;
+import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
+import com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo;
+import com.ruoyi.common.core.service.BaseService;
+
+import java.util.List;
 
 
 /**
@@ -26,6 +28,11 @@ public interface QualityInfoService extends BaseService<QualityInfo> {
     Page<QualityInfoVo> getPage1(QualityInfoSelectDto dto);
 
     /**
+     * 获取质检列表
+     */
+    List<QualityInfoVo> getList(QualityInfoSelectDto dto);
+
+    /**
      * 质检明细
      */
     QualityInfoVo detail(Long id);

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

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.utils.Assert;
+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.purchase.entity.purchase.po.Purchase;
@@ -21,6 +22,7 @@ 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.abnormal.AbnormalInfoService;
@@ -85,6 +87,8 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
     private StockWaitService stockWaitService;
     @Autowired
     private PurchaseService purchaseService;
+    @Autowired
+    private ProductInfoService productInfoService;
 
     @Override
     public Page<QualityInfoVo> getPage(QualityInfoSelectDto dto) {
@@ -135,9 +139,45 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
     }
 
     @Override
+    public List<QualityInfoVo> getList(QualityInfoSelectDto dto) {
+        List<QualityInfo> qualityInfoList = this.list(q -> q.eq(QualityInfo::getBussinessId, dto.getArrivalStockRecordsId()));
+        List<QualityInfoVo> qualityInfoVos = BeanUtil.copyToList(qualityInfoList, QualityInfoVo.class);
+        UserUtil.assignmentNickName(qualityInfoVos,QualityInfoVo::getCreateUser,QualityInfoVo::setQualityUserName);
+        for (QualityInfoVo qualityInfoVo : qualityInfoVos) {
+
+        }
+        return qualityInfoVos;
+    }
+
+    @Override
     public QualityInfoVo detail(Long id) {
         QualityInfo QualityInfo = this.getById(id);
         QualityInfoVo result = BeanUtil.toBean(QualityInfo, QualityInfoVo.class);
+        List<QualityDetails> qualityDetailsList = qualityDetailsService.list(q -> q.eq(QualityDetails::getQualityInfoId, id));
+        List<QualityDetailsVo> qualityDetailsVos = BeanUtil.copyToList(qualityDetailsList, QualityDetailsVo.class);
+        //赋值产品信息
+        productInfoService.attributeAssign(qualityDetailsVos, QualityDetailsVo::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());
+            item.setProductCustomCode(productInfo.getCustomCode());
+        });
+        //赋值到货信息
+        List<Long> asrIds = qualityDetailsVos.stream().map(QualityDetailsVo::getArrivalStockRecordsDetailsId).collect(Collectors.toList());
+        Map<Long, ArrivalStockRecordsDetails> arrivalStockRecordsDetailsMap = arrivalStockRecordsDetailsService
+                .mapKEntity(ArrivalStockRecordsDetails::getId, q -> q.in(ArrivalStockRecordsDetails::getId, asrIds));
+        for (QualityDetailsVo qualityDetailsVo : qualityDetailsVos) {
+            ArrivalStockRecordsDetails arrivalStockRecordsDetails = arrivalStockRecordsDetailsMap.get(qualityDetailsVo.getArrivalStockRecordsDetailsId());
+            if(ObjectUtil.isEmpty(arrivalStockRecordsDetails)){
+                continue;
+            }
+            qualityDetailsVo.setArrivalQuantity(arrivalStockRecordsDetails.getQuantity());
+            qualityDetailsVo.setQualityQuantity(arrivalStockRecordsDetails.getQualityQuantity());
+        }
+        result.setQualityDetailsList(qualityDetailsVos);
         return result;
     }
 

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

@@ -659,7 +659,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
     /**
      * 改变库存数量
      */
-    private void changeStock(List<? extends InOutBo> list, Long warehouseId, JournalType journalType) {
+    private synchronized void changeStock(List<? extends InOutBo> list, Long warehouseId, JournalType journalType) {
 
         Map<Long, BigDecimal> map = list.stream().collect(Collectors.toMap(
                 InOutBo::getProductId,