ZeroLiYi 1 year ago
parent
commit
caf153567b

+ 4 - 0
src/main/java/com/chinaitop/depot/qualityControl/mapper/BusinessQcQualityInspectionItemMapper.java

@@ -3,6 +3,8 @@ package com.chinaitop.depot.qualityControl.mapper;
3 3
 import com.chinaitop.depot.qualityControl.model.BusinessQcQualityInspectionItem;
4 4
 import com.chinaitop.depot.qualityControl.model.BusinessQcQualityInspectionItemExample;
5 5
 import java.util.List;
6
+import java.util.Map;
7
+
6 8
 import org.apache.ibatis.annotations.Param;
7 9
 
8 10
 public interface BusinessQcQualityInspectionItemMapper {
@@ -27,4 +29,6 @@ public interface BusinessQcQualityInspectionItemMapper {
27 29
     int updateByPrimaryKeySelective(BusinessQcQualityInspectionItem record);
28 30
 
29 31
     int updateByPrimaryKey(BusinessQcQualityInspectionItem record);
32
+
33
+    List<Map<String,Object>> findByqualityId(String id);
30 34
 }

+ 20 - 1
src/main/java/com/chinaitop/depot/qualityControl/mapper/BusinessQcQualityInspectionItemMapper.xml

@@ -182,7 +182,26 @@
182 182
       <include refid="Example_Where_Clause" />
183 183
     </if>
184 184
   </select>
185
-  <update id="updateByExampleSelective" parameterType="map" >
185
+    <select id="findByqualityId" parameterType="map" resultType="java.util.Map">
186
+      SELECT
187
+        itm.id,
188
+        itm.qc_quality_inspection_id qcQualityInspectionId,
189
+        itm.inspection_item_id inspectionItemId,
190
+        ee.enumname AS inspectionItemName,
191
+        itm.inspection_value inspectionValue
192
+
193
+      FROM
194
+        business_qc_quality_inspection_item itm
195
+          LEFT JOIN depot_qh.basic_enum ee ON ee.enumId = itm.inspection_item_id
196
+      where itm.qc_quality_inspection_id =14
197
+
198
+
199
+
200
+
201
+
202
+
203
+    </select>
204
+    <update id="updateByExampleSelective" parameterType="map" >
186 205
     update business_qc_quality_inspection_item
187 206
     <set >
188 207
       <if test="record.id != null" >

+ 1 - 0
src/main/java/com/chinaitop/depot/qualityControl/mapper/BusinessQcQualityInspectionMapper.xml

@@ -887,6 +887,7 @@
887 887
     select
888 888
       bqq.id,
889 889
       bqq.jylb,
890
+      bqq.zjbgdh,
890 891
       bqq.jysj,
891 892
       bqq.basic_storehouse_id,
892 893
       Bs.storehouse_name ,

+ 10 - 0
src/main/java/com/chinaitop/depot/qualityControl/model/BusinessQcQualityInspection.java

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
6 6
 import java.math.BigDecimal;
7 7
 import java.util.Date;
8 8
 import java.util.List;
9
+import java.util.Map;
9 10
 
10 11
 public class BusinessQcQualityInspection {
11 12
     private Integer id;
@@ -94,6 +95,15 @@ public class BusinessQcQualityInspection {
94 95
 
95 96
     // 子表数组
96 97
     private List<BusinessQcQualityInspectionItem> item;
98
+    private   Map<Integer, List<String>> maps;
99
+
100
+    public Map<Integer, List<String>> getMaps() {
101
+        return maps;
102
+    }
103
+
104
+    public void setMaps(Map<Integer, List<String>> maps) {
105
+        this.maps = maps;
106
+    }
97 107
 
98 108
     // 业务字段
99 109
     @ApiModelProperty(value = "库区名称")

+ 3 - 2
src/main/java/com/chinaitop/depot/storage/mapper/GrainSituationCardMapper.xml

@@ -467,6 +467,7 @@
467 467
   </select>
468 468
   <select id="selectByGrainsituationId"  resultMap="BaseResultMap1">
469 469
     SELECT
470
+      cc.out_quantity,cc.design_capacity,
470 471
       Bs.storehouse_name ,cc.basic_storehouse_id,bua.ajmc,cc.basic_unit_aisle_id,bw.warehouse_name,cc.warehouse_id,
471 472
       cc.storehouse_type,cflx.enumname as "storehouseTypeName",
472 473
       xz.enumname as "grainNatureName",cc.grain_nature_id,pz.enumname as "grainVarietyName",cc.grain_variety_id,
@@ -475,7 +476,7 @@
475 476
       cc.temperature_measure_type,
476 477
       tffs.enumname drafttypeName,
477 478
       cc.glfs,
478
-      ccfs.enumname keepingWayName,
479
+      cc. keeping_way,
479 480
       cc.in_financial_verification,
480 481
       cc.out_financial_verification,
481 482
       cc.excess_loss_quantity,
@@ -492,7 +493,7 @@
492 493
               LEFT JOIN depot_qh.basic_enum cd on cd.enumId = cc.grain_area_id
493 494
               LEFT JOIN depot_qh.basic_enum shnd on shnd.enumId = cc.shnd
494 495
               LEFT JOIN depot_qh.basic_enum tffs on xz.enumId = Bs.draftType
495
-              LEFT JOIN depot_qh.basic_enum ccfs on xz.enumId = Bs.keeping_way
496
+              LEFT JOIN depot_qh.basic_enum ccfs on xz.enumId = cc.keeping_way
496 497
               LEFT JOIN depot_qh.basic_enum cflx on xz.enumId = cc.storehouse_type
497 498
     where  cc.id=#{id}
498 499
   </select>

+ 52 - 17
src/main/java/com/chinaitop/depot/storage/service/impl/GrainSituationCardServiceImpl.java

@@ -13,8 +13,10 @@
13 13
 package com.chinaitop.depot.storage.service.impl;
14 14
 
15 15
 
16
+import com.chinaitop.depot.qualityControl.mapper.BusinessQcQualityInspectionItemMapper;
16 17
 import com.chinaitop.depot.qualityControl.mapper.BusinessQcQualityInspectionMapper;
17 18
 import com.chinaitop.depot.qualityControl.model.BusinessQcQualityInspection;
19
+import com.chinaitop.depot.qualityControl.model.BusinessQcQualityInspectionItem;
18 20
 import com.chinaitop.depot.storage.mapper.GrainSituationCardMapper;
19 21
 import com.chinaitop.depot.storage.mapper.GrainSituationCardWarehouseRecordMapper;
20 22
 import com.chinaitop.depot.storage.model.GrainSituationCard;
@@ -31,10 +33,8 @@ import org.springframework.stereotype.Service;
31 33
 import javax.annotation.Resource;
32 34
 import java.io.File;
33 35
 import java.io.IOException;
34
-import java.util.ArrayList;
35
-import java.util.HashMap;
36
-import java.util.List;
37
-import java.util.Map;
36
+import java.util.*;
37
+import java.util.stream.Collectors;
38 38
 
39 39
 /**
40 40
  * 原粮转卡(粮情卡)Service接口实现类
@@ -46,6 +46,9 @@ import java.util.Map;
46 46
 public class GrainSituationCardServiceImpl implements GrainSituationCardService {
47 47
 
48 48
     @Resource
49
+    private BusinessQcQualityInspectionItemMapper businessQcQualityInspectionItemMapper;
50
+
51
+    @Resource
49 52
     private BusinessQcQualityInspectionMapper businessQcQualityInspectionMapper;
50 53
 
51 54
     @Resource
@@ -69,17 +72,48 @@ public class GrainSituationCardServiceImpl implements GrainSituationCardService
69 72
         List<GrainSituationCardWarehouseRecord> grainSituationCardWarehouseRecordList =
70 73
                 grainSituationCardWarehouseRecordMapper.findByCardId(grainSituationCardIdParam);
71 74
         grainSituationCardVO.setGrainSituationCardWarehouseRecordList(grainSituationCardWarehouseRecordList);
72
-        String[] ids=grainSituationCardVO.getCheckRecordIds().split(",");
73
-        List<BusinessQcQualityInspection> businessQcQualityInspectionList =new ArrayList<>();
74
-        for (int i = 0; i < ids.length; i++) {
75
-            BusinessQcQualityInspection businessQcQualityInspection=  businessQcQualityInspectionMapper.findByqualityId(ids[i]);
76
-            businessQcQualityInspectionList.add(businessQcQualityInspection);
75
+        if(grainSituationCardVO.getCheckRecordIds()!=null){
76
+            String[] ids=grainSituationCardVO.getCheckRecordIds().split(",");
77
+            List<BusinessQcQualityInspection> businessQcQualityInspectionList =new ArrayList<>();
78
+            for (int i = 0; i < ids.length; i++) {
79
+                //查询导检验类型,建议时间。。
80
+                BusinessQcQualityInspection businessQcQualityInspection=  businessQcQualityInspectionMapper.findByqualityId(ids[i]);
81
+                //查询质检明细
82
+                List<Map<String,Object>> itm =businessQcQualityInspectionItemMapper.findByqualityId(ids[i]);
83
+                Map<Integer, List<String>> transformedData =    cat(itm);
84
+
85
+
86
+                businessQcQualityInspection.setMaps(transformedData);
87
+                businessQcQualityInspectionList.add(businessQcQualityInspection);
88
+            }
89
+            grainSituationCardVO.setBusinessQcQualityInspectionList(businessQcQualityInspectionList);
77 90
         }
78
-        grainSituationCardVO.setBusinessQcQualityInspectionList(businessQcQualityInspectionList);
79 91
 
80
-        return grainSituationCardMapper.selectByGrainsituationId(grainSituationCardIdParam);
92
+
93
+
94
+        return grainSituationCardVO;
81 95
     }
82 96
 
97
+    private Map<Integer, List<String>> cat(List<Map<String, Object>> itm) {
98
+        // 使用Stream API进行转换
99
+        // 使用Stream API进行转换
100
+        Map<Integer, List<String>> transformedData = itm.stream()
101
+                .collect(Collectors.groupingBy(
102
+                        item -> (Integer) item.get("qcQualityInspectionId"),
103
+                        Collectors.mapping(
104
+                                item -> (String) item.get("inspectionItemName") + ": " + (String) item.get("inspectionValue"),
105
+                                Collectors.toList()
106
+                        )
107
+                ));
108
+
109
+        // 打印转换后的数据结构,这里为了简化展示,只打印keySet
110
+        transformedData.forEach((id, inspections) ->
111
+                System.out.println("qcQualityInspectionId: " + id + ", Inspections: " + inspections)
112
+        );
113
+        return transformedData;
114
+    }
115
+
116
+
83 117
     @Override
84 118
     public List<BusinessQcQualityInspection> getQualityInspectionFindByWarehouseId(Integer warehouseId) {
85 119
         Map<String,Object> map = new HashMap<String,Object>();
@@ -107,13 +141,14 @@ public class GrainSituationCardServiceImpl implements GrainSituationCardService
107 141
         GrainSituationCardVO grainSituationCardVO =grainSituationCardMapper.selectByGrainsituationId(grainSituationCardIdParam);
108 142
         List<GrainSituationCardWarehouseRecord> grainSituationCardWarehouseRecordList =
109 143
                 grainSituationCardWarehouseRecordMapper.findByCardId(grainSituationCardIdParam);
110
-        String[] ids=grainSituationCardVO.getCheckRecordIds().split(",");
111
-        List<BusinessQcQualityInspection> businessQcQualityInspectionList =new ArrayList<>();
112
-        for (int i = 0; i < ids.length; i++) {
113
-            List<BusinessQcQualityInspection> bqqs=  businessQcQualityInspectionMapper.findByqualityId1(ids[i]);
114
-            businessQcQualityInspectionList.addAll(bqqs);
144
+        List<BusinessQcQualityInspection> businessQcQualityInspectionList = new ArrayList<>();
145
+        if(grainSituationCardVO.getCheckRecordIds()!=null) {
146
+            String[] ids = grainSituationCardVO.getCheckRecordIds().split(",");
147
+            for (int i = 0; i < ids.length; i++) {
148
+                List<BusinessQcQualityInspection> bqqs = businessQcQualityInspectionMapper.findByqualityId1(ids[i]);
149
+                businessQcQualityInspectionList.addAll(bqqs);
150
+            }
115 151
         }
116
-
117 152
         String fileName = "D:\\Temp\\aaa.xlsx";
118 153
         List<GrainSituationCardVO> data=new ArrayList<>();
119 154
         data.add(grainSituationCardVO);