From 72b5d23ab48368c9a8da28b91d0da1e6d7d1c4f0 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 22 十一月 2024 16:24:44 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java |  124 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 122 insertions(+), 2 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java
index d71764c..f18bb02 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/inspect/InspectCtrl.java
@@ -1,9 +1,27 @@
 package com.dy.pipIrrApp.inspect;
 
+import com.dy.common.aop.SsoAop;
+import com.dy.common.util.IDLongGenerator;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrApp.inspect.dto.Inspects;
+import com.dy.pipIrrApp.inspect.qo.QoInspect;
+import com.dy.pipIrrGlobal.pojoOp.OpeInspect;
+import com.dy.pipIrrGlobal.pojoOp.OpeTrack;
+import com.dy.pipIrrGlobal.voOp.VoInspect;
+import com.dy.pipIrrGlobal.voOp.VoIssueReport;
+import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.http.MediaType;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * @author ZhuBaoMin
@@ -19,4 +37,106 @@
     @Autowired
     private InspectSv inspectSv;
 
+    private final IDLongGenerator idLongGenerator;
+
+    public InspectCtrl(IDLongGenerator idLongGenerator) {
+        this.idLongGenerator = idLongGenerator;
+    }
+
+    /**
+     * 娣诲姞宸℃杞ㄨ抗
+     * @param list_Inspects 宸℃瀵硅薄鏁扮粍
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> save(@RequestBody @Valid List<Inspects> list_Inspects, BindingResult bindingResult){
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        if(list_Inspects != null && list_Inspects.size() > 0) {
+            for (int i = 0; i < list_Inspects.size(); i++) {
+                Inspects inspects = list_Inspects.get(i);
+
+                Long inspectorId = inspects.getInspectorId();
+                Long inspectId = inspects.getInspectId();
+                Date startTime = inspects.getStartTime();
+                Date stopTime = inspects.getStopTime();
+                List<OpeTrack> tracks = inspects.getTracks();
+
+                if(tracks == null || tracks.size() == 0) {
+                    return BaseResponseUtils.buildErrorMsg("鏃犲贰妫�杞ㄨ抗");
+                }
+
+                if(inspectId == null || inspectId.equals(0)) {
+                    // 璇ュ贰妫�鏈笂浼犺繃璁板綍
+
+                    // 娣诲姞宸℃璁板綍
+                    OpeInspect opeInspect = new OpeInspect();
+                    opeInspect.setInspectorId(inspectorId);
+                    if(startTime != null) {
+                        opeInspect.setStartTime(startTime);
+                    }
+                    if(stopTime != null) {
+                        opeInspect.setStopTime(stopTime);
+                    }
+                    inspectId = inspectSv.addInspect(opeInspect);
+                    if(inspectId == null) {
+                        return BaseResponseUtils.buildErrorMsg("宸℃璁板綍娣诲姞澶辫触");
+                    }
+
+                    for (int j = 0; j < tracks.size(); j++) {
+                        tracks.get(j).setId(idLongGenerator.generate());
+                        tracks.get(j).setInspectId(inspectId);
+                    }
+                    Integer rec = inspectSv.insertTracks(tracks);
+                    if(rec == null || rec == 0) {
+                        return BaseResponseUtils.buildErrorMsg("宸℃杞ㄨ抗娣诲姞澶辫触");
+                    }
+                }else {
+                    // 璇ュ贰妫�宸蹭笂浼犺繃璁板綍锛岀画浼�
+                    if(stopTime != null) {
+                        OpeInspect inspect = new OpeInspect();
+                        inspect.setId(inspectId);
+                        inspect.setStopTime(stopTime);
+                        inspectSv.updateInspect(inspect);
+                    }
+
+                    if(tracks != null && tracks.size() > 0) {
+                        for (int j = 0; j < tracks.size(); j++) {
+                            tracks.get(j).setId(idLongGenerator.generate());
+                            tracks.get(j).setInspectId(inspectId);
+                        }
+                        Integer rec = inspectSv.insertTracks(tracks);
+                        if(rec == null || rec == 0) {
+                            return BaseResponseUtils.buildErrorMsg("宸℃杞ㄨ抗娣诲姞澶辫触");
+                        }
+                    }
+                }
+            }
+            return BaseResponseUtils.buildSuccess() ;
+        }
+        return BaseResponseUtils.buildErrorMsg("鎮ㄦ彁浜ょ殑宸℃杞ㄨ抗涓虹┖");
+    }
+
+    /**
+     * 鏌ヨ宸℃杞ㄨ抗
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "/getInspects")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoInspect>>> getInspects(QoInspect qo){
+
+        try{
+            QueryResultVo<List<VoInspect>> res = inspectSv.getInspects(qo);
+            return BaseResponseUtils.buildSuccess(res);
+        }catch (Exception e){
+            log.error("鑾峰彇宸℃鍒楄〃寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
 }

--
Gitblit v1.8.0