From 4fae0a3d70ce519502c8ef17f327daffbe9a44aa Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期三, 19 七月 2023 11:19:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- 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