From 150c89bd7d5037024468417f5ac11fd518ca44d3 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期一, 17 七月 2023 21:29:51 +0800
Subject: [PATCH] 增加请求“添加检验申请单”

---
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java |   96 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 95 insertions(+), 1 deletions(-)

diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java
index 3e22a62..1d35b2e 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java
@@ -1,20 +1,114 @@
 package com.yuanchu.limslaboratory.controller;
 
 
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.yuanchu.limslaboratory.pojo.Inspection;
+import com.yuanchu.limslaboratory.pojo.InspectionProductList;
+import com.yuanchu.limslaboratory.pojo.Product;
+import com.yuanchu.limslaboratory.service.InspectionProductListService;
+import com.yuanchu.limslaboratory.service.InspectionService;
+import com.yuanchu.limslaboratory.service.ProductService;
+import com.yuanchu.limslaboratory.service.SpecificationsService;
+import com.yuanchu.limslaboratory.utils.JackSonUtil;
+import com.yuanchu.limslaboratory.utils.RedisUtil;
+import com.yuanchu.limslaboratory.vo.Result;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
  * @since 2023-07-17
  */
+@ApiModel(value = "妫�楠屾ā鍧�")
 @RestController
 @RequestMapping("/inspection")
 public class InspectionController {
 
+    @Autowired
+    private InspectionService inspectionService;
+
+    @Autowired
+    private ProductService productService;
+
+    @Autowired
+    private SpecificationsService specificationsService;
+
+    @Autowired
+    private InspectionProductListService inspectionProductListService;
+
+    @ApiOperation("娣诲姞妫�楠岀敵璇峰崟")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "materialId", value = "鐗╂枡淇℃伅id", dataTypeClass = Integer.class, required = true),
+    })
+    @PostMapping("/addInspection")
+    @Transactional(rollbackFor = Exception.class)
+    public Result addInspection(@RequestHeader("X-Token") String token, int materialId,int type) throws Exception {
+        List<Product> list = productService.selectProductByMaterialId(materialId);
+        Map<String, Object> map = specificationsService.selectSNameSNName(materialId);
+        if (map==null)return Result.fail("鎵句笉鍒拌鐗╂枡淇℃伅");
+        Object object = RedisUtil.get(token);
+        Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
+        Inspection inspection = new Inspection();
+        inspection.setId(IdWorker.getIdStr())
+                .setType(type)
+                .setInspectionStatus(0)
+                .setState(1)
+                .setVersion(1)
+                .setUserName("" + unmarshal.get("name"))
+                .setMaterialNum(Integer.valueOf("" + map.get("num")))
+                .setMaterialSupplier("" + map.get("supplier"))
+                .setMaterialName("" + map.get("m_name"))
+                .setMaterialLocation("" + map.get("location"))
+                .setMaterialBatch("" + map.get("batch"))
+                .setMaterialReelNumber("" + map.get("reel_number"))
+                .setSpecificationsSerialNumber("" + map.get("ss_name"))
+                .setSpecificationsVoltageLevel("" + map.get("voltage_level"))
+                .setSpecificationsCrossSection("" + map.get("cross_section"))
+                .setSpecificationsNumberOfCores("" + map.get("number_of_cores"))
+                .setSpecificationsInstruct("" + map.get("instruct"));
+        int judge1 = 0;
+        int judge2 = 0;
+        try {
+            judge1 = inspectionService.addInspection(inspection);
+            List<InspectionProductList> list2 = new ArrayList<>();
+            list.forEach(a -> {
+                InspectionProductList inspectionProductList = new InspectionProductList();
+                inspectionProductList.setName(a.getName())
+                        .setMethod(a.getMethod())
+                        .setUnit(a.getUnit())
+                        .setRequired(a.getRequired())
+                        .setInternal(a.getInternal())
+                        .setState(1)
+                        .setVersion(1)
+                        .setInspectionId(inspection.getId())
+                        .setUserId(Integer.parseInt("" + unmarshal.get("id")))
+                        .setCreateTime(new Date())
+                        .setUpdateTime(new Date());
+                list2.add(inspectionProductList);
+            });
+            judge2 = inspectionProductListService.addInspectionProductList(list2);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return Result.success(judge1 > 0 && judge2 > 0 ? "鎻愪氦鎴愬姛" : "鎻愪氦澶辫触", judge1 > 0 && judge2 > 0);
+    }
 }

--
Gitblit v1.9.3