yzc 2 سال پیش
والد
کامیت
76ae7c762e

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

@@ -43,12 +43,19 @@ public class QualityInfoController {
         return R.success(result);
     }
 
-    /**质检明细*/
+    /**质检记录明细*/
     @PostMapping("/detailsInfo")
     public R detailsInfo(@Validated @RequestBody GetDetailsListDto dto) {
         QualityInfoEx result = qualityInfoService.getDetailsInfo(dto);
         return R.success(result);
     }
 
+    /**质检明细*/
+    @PostMapping("/detailsInfo1")
+    public R detailsInfo1(@Validated @RequestBody GetDetailsListDto dto) {
+        QualityInfoEx result = qualityInfoService.getDetailsInfo1(dto);
+        return R.success(result);
+    }
+
 }
 

+ 3 - 1
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/quality/QualityDetailsMapper.java

@@ -1,8 +1,10 @@
 package com.fjhx.mapper.quality;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fjhx.entity.quality.QualityDetails;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fjhx.params.quality.QualityDetailsVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -17,6 +19,6 @@ import java.util.List;
 public interface QualityDetailsMapper extends BaseMapper<QualityDetails> {
 
     /**根据申购id获取质检明细*/
-    List<QualityDetailsVo> getQualityDetailsByApplyId(List<Long> ids);
+    List<QualityDetailsVo> getQualityDetailsByApplyId(@Param("ew")QueryWrapper<Object> queryWrapper);
 
 }

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

@@ -9,13 +9,12 @@
             sum( qd.qualified_quantity ) qualified_quantity
         FROM
             apply_purchase ap
-                JOIN purchase p ON p.apply_id = ap.id
-                JOIN logistics_info lf ON lf.business_id = p.id
-                JOIN quality_info qi ON qi.logistics_info_id = lf.id
-                JOIN quality_details qd ON qd.quality_info_id = qi.id
+                LEFT JOIN purchase p ON p.apply_id = ap.id
+                LEFT JOIN logistics_info lf ON lf.business_id = p.id
+                LEFT JOIN quality_info qi ON qi.logistics_info_id = lf.id
+                LEFT JOIN quality_details qd ON qd.quality_info_id = qi.id
+            ${ew.customSqlSegment}
         GROUP BY
             ap.id
-        HAVING
-            ap.id IN (#{ids})
     </select>
 </mapper>

+ 16 - 9
hx-service/victoriatourist/src/main/java/com/fjhx/service/logistics/impl/LogisticsInfoServiceImpl.java

@@ -189,8 +189,12 @@ public class LogisticsInfoServiceImpl extends ServiceImpl<LogisticsInfoMapper, L
                     BigDecimal qualifiedQuantity = BigDecimal.ZERO;
                     BigDecimal purchaseQuantity = BigDecimal.ZERO;
                     if(ObjectUtil.isNotEmpty(qualityDetailsVo)){
-                        qualifiedQuantity = qualityDetailsVo.getQualifiedQuantity();
-                        purchaseQuantity = qualityDetailsVo.getPurchaseQuantity();
+                        if(ObjectUtil.isNotEmpty(qualityDetailsVo.getQualifiedQuantity())) {
+                            qualifiedQuantity = qualityDetailsVo.getQualifiedQuantity();
+                        }
+                        if(ObjectUtil.isNotEmpty(qualityDetailsVo.getPurchaseQuantity())) {
+                            purchaseQuantity = qualityDetailsVo.getPurchaseQuantity();
+                        }
                     }
                     if(item.getShipmentQuantity().add(qualifiedQuantity).compareTo(purchaseQuantity)> 0){
                         throw new ServiceException("发货数量 + 质检合格数量 不能大于“已采购数量”");
@@ -468,13 +472,15 @@ public class LogisticsInfoServiceImpl extends ServiceImpl<LogisticsInfoMapper, L
         //过滤出采购数据赋值流程id
         List<DataInfoPageVo> collect = records.stream().filter(item -> 1 == item.getBusinessType()).collect(Collectors.toList());
         List<Long> ids = collect.stream().map(DataInfoPageVo::getBusinessId).collect(Collectors.toList());
-        List<Purchase> purchases = purchaseService.listByIds(ids);
-        Map<Long, Purchase> collect1 = purchases.stream().collect(Collectors.groupingBy(Purchase::getId,
-                Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
-        for (DataInfoPageVo dataInfoPageVo:collect){
-            Purchase purchase = collect1.get(dataInfoPageVo.getBusinessId());
-            if(ObjectUtil.isNotEmpty(purchase)) {
-                dataInfoPageVo.setFlowId(purchase.getFlowId());
+        if(ObjectUtil.isNotEmpty(ids)) {
+            List<Purchase> purchases = purchaseService.listByIds(ids);
+            Map<Long, Purchase> collect1 = purchases.stream().collect(Collectors.groupingBy(Purchase::getId,
+                    Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
+            for (DataInfoPageVo dataInfoPageVo : collect) {
+                Purchase purchase = collect1.get(dataInfoPageVo.getBusinessId());
+                if (ObjectUtil.isNotEmpty(purchase)) {
+                    dataInfoPageVo.setFlowId(purchase.getFlowId());
+                }
             }
         }
         return dataInfoPageVoPage;
@@ -524,6 +530,7 @@ public class LogisticsInfoServiceImpl extends ServiceImpl<LogisticsInfoMapper, L
         IWrapper<Object> wrapper = IWrapper.getWrapper(condition);
         wrapper.ne("in_stock_status", 30);
         wrapper.eq(ObjectUtil.isNotEmpty(condition.get("type")), "logistics_info.business_type", condition.get("type"));
+        wrapper.eq("logistics_info.status",1);
         wrapper.like("logistics_info.`code`", condition.get("keyword"));
 
         Page<LogisticsInfoEx> page = baseMapper.issuePage(condition.getPage(), wrapper);

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

@@ -22,6 +22,7 @@ public interface QualityInfoService extends BaseService<QualityInfo> {
     List<QualityDetailsVo> getDetailsList(GetDetailsListDto dto);
 
     QualityInfoEx getDetailsInfo(GetDetailsListDto dto);
+    QualityInfoEx getDetailsInfo1(GetDetailsListDto dto);
 
 
 }

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

@@ -3,11 +3,13 @@ package com.fjhx.service.quality.impl;
 import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.base.BaseIdEntity;
 import com.fjhx.constants.StatusConstant;
 import com.fjhx.entity.abnormal.AbnormalInfo;
+import com.fjhx.entity.apply.ApplyPurchase;
 import com.fjhx.entity.quality.QualityDetails;
 import com.fjhx.entity.quality.QualityInfo;
 import com.fjhx.entity.quality.QualityRecords;
@@ -96,6 +98,7 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
                 abnormalInfo.setType(10);
                 abnormalInfo.setLinkId(qualityRecords.getId());
                 abnormalInfo.setTitle("质检存在不合格");
+                abnormalInfo.setStatus(0);
                 abnormalInfoList.add(abnormalInfo);
             }
 
@@ -213,7 +216,14 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
     /**根据申购id获取质检明细*/
     @Override
     public List<QualityDetailsVo> getQualityDetailsByApplyId(List<Long> ids){
-        return baseMapper.getQualityDetailsByApplyId(ids);
+//        List<String> arr = new ArrayList<>();
+//        for(Long id : ids){
+//            arr.add(id+"");
+//        }
+//        String join = String.join(",", arr);
+        QueryWrapper<Object> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("ap.id",ids);
+        return baseMapper.getQualityDetailsByApplyId(queryWrapper);
     }
 
 }

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

@@ -113,6 +113,7 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
         return result;
     }
 
+    //根据质检记录id获取质检信息
     @Override
     public QualityInfoEx getDetailsInfo(GetDetailsListDto dto) {
         QualityRecords qualityRecords = qualityRecordsService.getById(dto.getQualityInfoId());
@@ -157,4 +158,33 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
         return qualityInfoEx;
     }
 
+    @Override
+    public QualityInfoEx getDetailsInfo1(GetDetailsListDto dto) {
+        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());
+        });
+
+        qualityInfoEx.setQualityDetailsList(result);
+        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;
+    }
+
 }

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

@@ -70,9 +70,9 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         wrapper.orderByDesc("st", StockTransfer::getId);
         //根据type判断是京东订单数据还是调参数据
         if ("1".equals(condition.get("type"))) {
-            wrapper.isNull("st.jd_order_info_id");
-        } else {
             wrapper.isNotNull("st.jd_order_info_id");
+        } else {
+            wrapper.isNull("st.jd_order_info_id");
         }
 
         Page<Map<String, Object>> page = baseMapper.getPage(condition.getPage(), wrapper);