Pārlūkot izejas kodu

ledger_patrol_inspection表字段添加、相关代码修改、导入逻辑修改

wangxx 3 nedēļas atpakaļ
vecāks
revīzija
7c2c19d748

+ 97 - 1
airport-ledger/src/main/java/com/sundot/airport/ledger/domain/LedgerPatrolInspection.java

@@ -80,6 +80,49 @@ public class LedgerPatrolInspection extends BaseEntity {
80 80
     @Excel(name = "同步标志(0=未同步;1=已同步)")
81 81
     private String syncFlag;
82 82
 
83
+    // ========== 新增字段 ==========
84
+    @Excel(name = "巡查时间段")
85
+    private String patrolTimePeriod;
86
+
87
+    @Excel(name = "有无问题")
88
+    private String hasProblem;
89
+
90
+    @Excel(name = "整改情况")
91
+    private String rectificationStatus;
92
+
93
+    @Excel(name = "佐证材料")
94
+    private String evidenceMaterial;
95
+
96
+    @Excel(name = "责任组长")
97
+    private String responsibleLeader;
98
+
99
+    @Excel(name = "队室质控员")
100
+    private String qualityOfficer;
101
+
102
+    @Excel(name = "队室负责人")
103
+    private String teamLeader;
104
+
105
+    @Excel(name = "填报人")
106
+    private String reporter;
107
+
108
+    @Excel(name = "队室内勤")
109
+    private String teamInternalDuty;
110
+
111
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
112
+    @Excel(name = "填报时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss")
113
+    private Date reportTime;
114
+
115
+    @Excel(name = "发送至相关人员")
116
+    private String sendToRelevant;
117
+
118
+    // ========== ID字段 ==========
119
+    private Long inspectedId;
120
+    private Long deptId;
121
+    private Long teamId;
122
+    private Long groupId;
123
+    private Long positionId;
124
+    private Long areaId;
125
+
83 126
     public Long getId() { return id; }
84 127
     public void setId(Long id) { this.id = id; }
85 128
 
@@ -142,4 +185,57 @@ public class LedgerPatrolInspection extends BaseEntity {
142 185
 
143 186
     public String getSyncFlag() { return syncFlag; }
144 187
     public void setSyncFlag(String syncFlag) { this.syncFlag = syncFlag; }
145
-}
188
+
189
+    // ========== 新增字段的getter/setter ==========
190
+    public String getPatrolTimePeriod() { return patrolTimePeriod; }
191
+    public void setPatrolTimePeriod(String patrolTimePeriod) { this.patrolTimePeriod = patrolTimePeriod; }
192
+
193
+    public String getHasProblem() { return hasProblem; }
194
+    public void setHasProblem(String hasProblem) { this.hasProblem = hasProblem; }
195
+
196
+    public String getRectificationStatus() { return rectificationStatus; }
197
+    public void setRectificationStatus(String rectificationStatus) { this.rectificationStatus = rectificationStatus; }
198
+
199
+    public String getEvidenceMaterial() { return evidenceMaterial; }
200
+    public void setEvidenceMaterial(String evidenceMaterial) { this.evidenceMaterial = evidenceMaterial; }
201
+
202
+    public String getResponsibleLeader() { return responsibleLeader; }
203
+    public void setResponsibleLeader(String responsibleLeader) { this.responsibleLeader = responsibleLeader; }
204
+
205
+    public String getQualityOfficer() { return qualityOfficer; }
206
+    public void setQualityOfficer(String qualityOfficer) { this.qualityOfficer = qualityOfficer; }
207
+
208
+    public String getTeamLeader() { return teamLeader; }
209
+    public void setTeamLeader(String teamLeader) { this.teamLeader = teamLeader; }
210
+
211
+    public String getReporter() { return reporter; }
212
+    public void setReporter(String reporter) { this.reporter = reporter; }
213
+
214
+    public String getTeamInternalDuty() { return teamInternalDuty; }
215
+    public void setTeamInternalDuty(String teamInternalDuty) { this.teamInternalDuty = teamInternalDuty; }
216
+
217
+    public Date getReportTime() { return reportTime; }
218
+    public void setReportTime(Date reportTime) { this.reportTime = reportTime; }
219
+
220
+    public String getSendToRelevant() { return sendToRelevant; }
221
+    public void setSendToRelevant(String sendToRelevant) { this.sendToRelevant = sendToRelevant; }
222
+
223
+    // ========== ID字段的getter/setter ==========
224
+    public Long getInspectedId() { return inspectedId; }
225
+    public void setInspectedId(Long inspectedId) { this.inspectedId = inspectedId; }
226
+
227
+    public Long getDeptId() { return deptId; }
228
+    public void setDeptId(Long deptId) { this.deptId = deptId; }
229
+
230
+    public Long getTeamId() { return teamId; }
231
+    public void setTeamId(Long teamId) { this.teamId = teamId; }
232
+
233
+    public Long getGroupId() { return groupId; }
234
+    public void setGroupId(Long groupId) { this.groupId = groupId; }
235
+
236
+    public Long getPositionId() { return positionId; }
237
+    public void setPositionId(Long positionId) { this.positionId = positionId; }
238
+
239
+    public Long getAreaId() { return areaId; }
240
+    public void setAreaId(Long areaId) { this.areaId = areaId; }
241
+}

+ 65 - 14
airport-ledger/src/main/java/com/sundot/airport/ledger/service/impl/LedgerCombinedImportServiceImpl.java

@@ -246,25 +246,76 @@ public class LedgerCombinedImportServiceImpl implements ILedgerCombinedImportSer
246 246
     }
247 247
 
248 248
     /** 2. 队室三级质控巡查记录表 → ledger_patrol_inspection
249
-     * R2: 巡查日期(0) 区域(1) 工作点(2) 时间段(3) 巡查岗位(4)
250
-     *     被检查人员(5) 有无问题(6) 检查情况描述(7) 类型(8) 整改措施(9)
251
-     *     附件(10) 整改情况(11) 佐证材料(12) 班组(13) 责任组长(14)
249
+     * 导入顺序:巡查日期(0) 巡查区域(1) 巡查工作点(2) 巡查时间段(3) 巡查岗位(4)
250
+     *          被检查人员(5) 有无问题(6) 检查情况描述(7) 类型(8) 整改措施(9)
251
+     *          附件(10) 整改情况(11) 佐证材料(12) 班组(13) 责任组长(14)
252
+     *          队室质控员(15) 队室负责人(16) 填报人(17) 队室内勤(18) 填报时间(19)
253
+     *          发送至相关人员(20)
252 254
      */
253 255
     private int doPatrolInspection(Sheet sheet, String batchNo, String username) {
254 256
         List<LedgerPatrolInspection> list = new ArrayList<>();
255 257
         for (Object[] c : dataRows(sheet, 2)) {
256 258
             LedgerPatrolInspection o = new LedgerPatrolInspection();
257
-            o.setRecordDate(date(c, 0));
258
-            o.setLocation(str(c, 1));
259
-            o.setChannelNo(str(c, 2));
260
-            o.setInspectedName(str(c, 5));
261
-            o.setPatrolType(str(c, 8));
262
-            o.setPatrolItem(str(c, 4));
263
-            o.setProblemDesc(str(c, 7));
264
-            o.setResultHandling(str(c, 9));
265
-            o.setEvidenceFile(str(c, 10));
266
-            o.setTeamName(str(c, 13));
267
-            o.setInspectorName(str(c, 14));
259
+            
260
+            // 按照新的导入顺序映射字段
261
+            o.setRecordDate(date(c, 0));           // 巡查日期
262
+            o.setLocation(str(c, 1));              // 巡查区域
263
+            o.setChannelNo(str(c, 2));             // 巡查工作点
264
+            o.setPatrolTimePeriod(str(c, 3));      // 巡查时间段
265
+            String positionName = str(c, 4);       // 巡查岗位
266
+            o.setPatrolItem(positionName);
267
+            String inspectedName = str(c, 5);      // 被检查人员
268
+            o.setInspectedName(inspectedName);
269
+            o.setHasProblem(str(c, 6));            // 有无问题
270
+            o.setProblemDesc(str(c, 7));           // 检查情况描述
271
+            o.setPatrolType(str(c, 8));            // 类型
272
+            o.setResultHandling(str(c, 9));        // 整改措施
273
+            o.setEvidenceFile(str(c, 10));         // 附件
274
+            o.setRectificationStatus(str(c, 11));  // 整改情况
275
+            o.setEvidenceMaterial(str(c, 12));     // 佐证材料
276
+            o.setTeamName(str(c, 13));             // 班组
277
+            o.setResponsibleLeader(str(c, 14));    // 责任组长
278
+            o.setQualityOfficer(str(c, 15));       // 队室质控员
279
+            o.setTeamLeader(str(c, 16));           // 队室负责人
280
+            o.setReporter(str(c, 17));             // 填报人
281
+            o.setTeamInternalDuty(str(c, 18));     // 队室内勤
282
+            o.setReportTime(date(c, 19));          // 填报时间
283
+            o.setSendToRelevant(str(c, 20));       // 发送至相关人员
284
+            
285
+            // 根据被查人名称查找组织ID和名称
286
+            if (inspectedName != null && !inspectedName.trim().isEmpty()) {
287
+                Map<String, Object> orgInfo = resolveOrgInfoByNameWithCache(inspectedName);
288
+                if (!orgInfo.isEmpty()) {
289
+                    o.setInspectedId((Long) orgInfo.get("userId"));
290
+                    o.setDeptId((Long) orgInfo.get("deptId"));
291
+                    o.setDeptName((String) orgInfo.get("deptName"));
292
+                    o.setTeamId((Long) orgInfo.get("teamId"));
293
+                    o.setTeamName((String) orgInfo.get("teamName"));
294
+                    o.setGroupId((Long) orgInfo.get("groupId"));
295
+                    o.setGroupName((String) orgInfo.get("groupName"));
296
+                }
297
+            }
298
+            
299
+            // 根据岗位和区域查找对应ID
300
+            if (importCache != null) {
301
+                // 岗位ID
302
+                if (positionName != null && !positionName.trim().isEmpty()) {
303
+                    Long positionId = importCache.getPositionIdByName(positionName.trim());
304
+                    if (positionId != null) {
305
+                        o.setPositionId(positionId);
306
+                    }
307
+                }
308
+                
309
+                // 区域ID
310
+                String areaName = o.getLocation();
311
+                if (areaName != null && !areaName.trim().isEmpty()) {
312
+                    Long areaId = importCache.getAreaIdByName(areaName.trim());
313
+                    if (areaId != null) {
314
+                        o.setAreaId(areaId);
315
+                    }
316
+                }
317
+            }
318
+            
268 319
             o.setImportBatch(batchNo);
269 320
             o.setSourceType("1");
270 321
             o.setCreateBy(username);

+ 47 - 26
airport-ledger/src/main/resources/mapper/ledger/LedgerPatrolInspectionMapper.xml

@@ -4,34 +4,55 @@
4 4
 
5 5
     <resultMap id="BaseResultMap" type="com.sundot.airport.ledger.domain.LedgerPatrolInspection">
6 6
         <id property="id" column="id" />
7
-        <result property="recordDate"     column="record_date"     />
8
-        <result property="deptName"       column="dept_name"       />
9
-        <result property="teamName"       column="team_name"       />
10
-        <result property="groupName"      column="group_name"      />
11
-        <result property="inspectorName"  column="inspector_name"  />
12
-        <result property="inspectedName"  column="inspected_name"  />
13
-        <result property="patrolType"     column="patrol_type"     />
14
-        <result property="patrolItem"     column="patrol_item"     />
15
-        <result property="problemDesc"    column="problem_desc"    />
16
-        <result property="location"       column="location"        />
17
-        <result property="channelNo"      column="channel_no"      />
18
-        <result property="resultHandling" column="result_handling" />
19
-        <result property="deductScore"    column="deduct_score"    />
20
-        <result property="scoreDimension" column="score_dimension" />
21
-        <result property="scoreIndicator" column="score_indicator" />
22
-        <result property="evidenceFile"   column="evidence_file"   />
23
-        <result property="remark"         column="remark"          />
24
-        <result property="importBatch"    column="import_batch"    />
25
-        <result property="sourceType"     column="source_type"     />
26
-        <result property="createBy"   column="create_by"   />
27
-        <result property="createTime" column="create_time" />
28
-        <result property="updateBy"   column="update_by"   />
29
-        <result property="updateTime" column="update_time" />
30
-        <result property="syncFlag" column="sync_flag" />
7
+        <result property="recordDate"           column="record_date"           />
8
+        <result property="deptName"             column="dept_name"             />
9
+        <result property="teamName"             column="team_name"             />
10
+        <result property="groupName"            column="group_name"            />
11
+        <result property="inspectorName"        column="inspector_name"        />
12
+        <result property="inspectedName"        column="inspected_name"        />
13
+        <result property="patrolType"           column="patrol_type"           />
14
+        <result property="patrolItem"           column="patrol_item"           />
15
+        <result property="problemDesc"          column="problem_desc"          />
16
+        <result property="location"             column="location"              />
17
+        <result property="channelNo"            column="channel_no"            />
18
+        <result property="resultHandling"       column="result_handling"       />
19
+        <result property="deductScore"          column="deduct_score"          />
20
+        <result property="scoreDimension"       column="score_dimension"       />
21
+        <result property="scoreIndicator"       column="score_indicator"       />
22
+        <result property="evidenceFile"         column="evidence_file"         />
23
+        <result property="remark"               column="remark"                />
24
+        <result property="importBatch"          column="import_batch"          />
25
+        <result property="sourceType"           column="source_type"           />
26
+        <result property="createBy"             column="create_by"             />
27
+        <result property="createTime"           column="create_time"           />
28
+        <result property="updateBy"             column="update_by"             />
29
+        <result property="updateTime"           column="update_time"           />
30
+        <result property="syncFlag"             column="sync_flag"             />
31
+        <!-- 新增字段 -->
32
+        <result property="patrolTimePeriod"     column="patrol_time_period"    />
33
+        <result property="hasProblem"           column="has_problem"           />
34
+        <result property="rectificationStatus"  column="rectification_status"  />
35
+        <result property="evidenceMaterial"     column="evidence_material"     />
36
+        <result property="responsibleLeader"    column="responsible_leader"    />
37
+        <result property="qualityOfficer"       column="quality_officer"       />
38
+        <result property="teamLeader"           column="team_leader"           />
39
+        <result property="reporter"             column="reporter"              />
40
+        <result property="teamInternalDuty"     column="team_internal_duty"    />
41
+        <result property="reportTime"           column="report_time"           />
42
+        <result property="sendToRelevant"       column="send_to_relevant"      />
43
+        <!-- ID字段 -->
44
+        <result property="inspectedId"          column="inspected_id"          />
45
+        <result property="deptId"               column="dept_id"               />
46
+        <result property="teamId"               column="team_id"               />
47
+        <result property="groupId"              column="group_id"              />
48
+        <result property="positionId"           column="position_id"           />
49
+        <result property="areaId"               column="area_id"               />
31 50
     </resultMap>
32 51
 
33 52
     <sql id="selectVo">
34
-        SELECT id, record_date, dept_name, team_name, group_name, inspector_name, inspected_name, patrol_type, patrol_item, problem_desc, location, channel_no, result_handling, deduct_score, score_dimension, score_indicator, evidence_file, remark, import_batch, source_type, create_by, create_time, update_by, update_time, sync_flag
53
+        SELECT id, record_date, dept_name, team_name, group_name, inspector_name, inspected_name, patrol_type, patrol_item, problem_desc, location, channel_no, result_handling, deduct_score, score_dimension, score_indicator, evidence_file, remark, import_batch, source_type, create_by, create_time, update_by, update_time, sync_flag,
54
+               patrol_time_period, has_problem, rectification_status, evidence_material, responsible_leader, quality_officer, team_leader, reporter, team_internal_duty, report_time, send_to_relevant,
55
+               inspected_id, dept_id, team_id, group_id, position_id, area_id
35 56
         FROM ledger_patrol_inspection
36 57
         WHERE del_flag = '0'
37 58
     </sql>
@@ -70,4 +91,4 @@
70 91
           </if>
71 92
     </select>
72 93
 
73
-</mapper>
94
+</mapper>