inspection-server/pom.xml
@@ -16,6 +16,15 @@ <packaging>jar</packaging> <dependencies> <dependency> <groupId>com.yunchu.limslaboratory</groupId> <artifactId>framework</artifactId> <version>${project.parent.version}</version> </dependency> <dependency> <groupId>com.yunchu.limslaboratory</groupId> <artifactId>standard-server</artifactId> <version>${project.parent.version}</version> </dependency> </dependencies> </project> 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); } } inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java
@@ -3,6 +3,9 @@ import com.yuanchu.limslaboratory.pojo.Inspection; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; import java.util.Map; /** * <p> * Mapper 接口 inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductListMapper.java
@@ -2,6 +2,12 @@ import com.yuanchu.limslaboratory.pojo.InspectionProductList; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.yuanchu.limslaboratory.pojo.Product; import com.yuanchu.limslaboratory.service.InspectionProductListService; import org.springframework.beans.factory.annotation.Autowired; import javax.annotation.Resource; import java.util.List; /** * <p> @@ -13,4 +19,6 @@ */ public interface InspectionProductListMapper extends BaseMapper<InspectionProductList> { int addInspectionProductList(List<InspectionProductList> list); } inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Inspection.java
@@ -12,6 +12,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** * <p> @@ -22,6 +23,7 @@ * @since 2023-07-17 */ @Data @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @ApiModel(value="Inspection对象", description="") public class Inspection implements Serializable { @@ -31,6 +33,9 @@ @ApiModelProperty(value = "报检编号") private String id; @ApiModelProperty(value = "报检类型") private Integer type; @ApiModelProperty(value = "报检状态 1:已检验;0未检验") private Integer inspectionStatus; inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionProductList.java
@@ -11,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** * <p> @@ -23,6 +24,7 @@ @Data @EqualsAndHashCode(callSuper = false) @ApiModel(value="InspectionProductList对象", description="") @Accessors(chain = true) public class InspectionProductList implements Serializable { private static final long serialVersionUID = 1L; inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionProductListService.java
@@ -2,6 +2,9 @@ import com.yuanchu.limslaboratory.pojo.InspectionProductList; import com.baomidou.mybatisplus.extension.service.IService; import com.yuanchu.limslaboratory.pojo.Product; import java.util.List; /** * <p> @@ -13,4 +16,6 @@ */ public interface InspectionProductListService extends IService<InspectionProductList> { int addInspectionProductList(List<InspectionProductList> list); } inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java
@@ -3,6 +3,9 @@ import com.yuanchu.limslaboratory.pojo.Inspection; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; import java.util.Map; /** * <p> * 服务类 @@ -13,4 +16,6 @@ */ public interface InspectionService extends IService<Inspection> { int addInspection(Inspection inspection); } inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionProductListServiceImpl.java
@@ -2,9 +2,13 @@ import com.yuanchu.limslaboratory.pojo.InspectionProductList; import com.yuanchu.limslaboratory.mapper.InspectionProductListMapper; import com.yuanchu.limslaboratory.pojo.Product; import com.yuanchu.limslaboratory.service.InspectionProductListService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * <p> @@ -17,4 +21,11 @@ @Service public class InspectionProductListServiceImpl extends ServiceImpl<InspectionProductListMapper, InspectionProductList> implements InspectionProductListService { @Resource InspectionProductListMapper inspectionProductListMapper; @Override public int addInspectionProductList(List<InspectionProductList> list) { return inspectionProductListMapper.addInspectionProductList(list); } } inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
@@ -6,6 +6,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.Map; /** * <p> * 服务实现类 @@ -17,4 +21,11 @@ @Service public class InspectionServiceImpl extends ServiceImpl<InspectionMapper, Inspection> implements InspectionService { @Resource private InspectionMapper inspectionMapper; @Override public int addInspection(Inspection inspection) { return inspectionMapper.insert(inspection); } } inspection-server/src/main/resources/mapper/InspectionProductListMapper.xml
@@ -1,5 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.limslaboratory.mapper.InspectionProductListMapper"> <insert id="addInspectionProductList"> INSERT INTO inspection_product_list (name, method, ask, unit, required, internal, create_time, update_time, inspection_id, user_id) VALUES <foreach collection="list" separator="," item="i"> (#{i.name}, #{i.method}, #{i.ask}, #{i.unit}, #{i.required}, #{i.internal}, #{i.createTime}, #{i.updateTime}, #{i.inspectionId}, #{i.userId}) </foreach> </insert> </mapper> standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductMapper.java
@@ -3,6 +3,8 @@ import com.yuanchu.limslaboratory.pojo.Product; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; import java.util.Map; /** @@ -15,5 +17,7 @@ */ public interface ProductMapper extends BaseMapper<Product> { List<Product> selectProductByMaterialId(int materialId); Map<String, Object> getProductInformation(Integer productId); } standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/SpecificationsMapper.java
@@ -18,5 +18,7 @@ */ public interface SpecificationsMapper extends BaseMapper<Specifications> { Map<String, Object> selectSNameSNName(int materialId); IPage<Map<String, Objects>> listSpecificationsInformation(String specificationsName, String serialNumberId, Page<Objects> page); } standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductService.java
@@ -2,10 +2,10 @@ import com.yuanchu.limslaboratory.pojo.Product; import com.baomidou.mybatisplus.extension.service.IService; import io.swagger.models.auth.In; import java.util.List; import java.util.Map; /** * <p> @@ -17,6 +17,9 @@ */ public interface ProductService extends IService<Product> { /*通过物料id获取物料信及下属的项目列表*/ List<Product> selectProductByMaterialId(int materialId); Integer addProductInformation(Product product); List<Map<String, Object>> getListProductInformation(Integer materialId); standard-server/src/main/java/com/yuanchu/limslaboratory/service/SpecificationsService.java
@@ -2,10 +2,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.mapper.SpecificationsMapper; import com.yuanchu.limslaboratory.pojo.Specifications; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Map; import java.util.Objects; @@ -21,6 +23,8 @@ Integer addSpecificationsInformation(Specifications specifications); Map<String,Object> selectSNameSNName(int materialId); IPage<Map<String, Objects>> listSpecificationsInformation(String specificationsName, String serialNumberId, Page<Objects> page); Integer updateSpecificationsInformation(Specifications specifications); standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java
@@ -5,9 +5,8 @@ import com.yuanchu.limslaboratory.mapper.ProductMapper; import com.yuanchu.limslaboratory.service.ProductService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.limslaboratory.service.UserService; import com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.beans.factory.annotation.Autowired; import com.yuanchu.limslaboratory.service.UserService; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -30,6 +29,11 @@ @Resource private ProductMapper productMapper; @Override public List<Product> selectProductByMaterialId(int materialId) { return productMapper.selectProductByMaterialId(materialId); } @Autowired private UserService userService; standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java
@@ -66,6 +66,11 @@ } @Override public Map<String, Object> selectSNameSNName(int materialId) { return specificationsMapper.selectSNameSNName(materialId); } @Override public Integer updateSpecificationsInformation(Specifications specifications) { LambdaQueryWrapper<Specifications> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Specifications::getId, specifications.getId()); standard-server/src/main/resources/mapper/ProductMapper.xml
@@ -1,6 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.limslaboratory.mapper.ProductMapper"> <select id="selectProductByMaterialId" resultType="Product"> select id, name, method, father, unit, required, internal from product where material_id = #{material_id} and state = 1 </select> <select id="getProductInformation" parameterType="integer" resultType="map"> SELECT p.method, ifnull(null, p.father) projectClassification, p.user_id, date_format(p.update_time, '%Y-%m-%d %H:%i:%s') updateTime, standard-server/src/main/resources/mapper/SpecificationsMapper.xml
@@ -11,4 +11,13 @@ AND s.`name` = #{specificationsName} </if> </select> <select id="selectSNameSNName" resultType="Map"> select m.num,m.supplier,m.name m_name,m.location,m.batch,m.reel_number,concat(s.name,'/',sn.name) ss_name,s.voltage_level,s.cross_section,s.number_of_cores,s.instruct from material m,specifications s,serial_number sn where m.specifications_id = s.id and s.serial_id = sn.id and m.id = #{materialId} order by s.create_time desc limit 1 </select> </mapper>