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; /** * <p> * Mapper 接口 @@ -13,4 +15,6 @@ */ public interface ProductMapper extends BaseMapper<Product> { List<Product> selectProductByMaterialId(int materialId); } standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/SpecificationsMapper.java
@@ -21,4 +21,6 @@ public interface SpecificationsMapper extends BaseMapper<Specifications> { IPage<ListSpecificationsInformation> listSpecificationsInformation(String specificationsName, String serialNumberId, Page<Objects> page); Map<String, Object> selectSNameSNName(int materialId); } standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductService.java
@@ -3,6 +3,9 @@ import com.yuanchu.limslaboratory.pojo.Product; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; import java.util.Map; /** * <p> * 服务类 @@ -13,4 +16,7 @@ */ public interface ProductService extends IService<Product> { /*通过物料id获取物料信及下属的项目列表*/ List<Product> selectProductByMaterialId(int 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 com.yuanchu.limslaboratory.vo.ListSpecificationsInformation; import javax.annotation.Resource; import java.util.Map; import java.util.Objects; @@ -22,4 +24,6 @@ Integer addSpecificationsInformation(Specifications specifications); IPage<ListSpecificationsInformation> listSpecificationsInformation(String specificationsName, String serialNumberId, Page<Objects> page); Map<String,Object> selectSNameSNName(int materialId); } standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java
@@ -4,7 +4,12 @@ import com.yuanchu.limslaboratory.mapper.ProductMapper; import com.yuanchu.limslaboratory.service.ProductService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.Map; /** * <p> @@ -17,4 +22,11 @@ @Service public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService { @Resource private ProductMapper productMapper; @Override public List<Product> selectProductByMaterialId(int materialId) { return productMapper.selectProductByMaterialId(materialId); } } standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java
@@ -59,4 +59,9 @@ public IPage<ListSpecificationsInformation> listSpecificationsInformation(String specificationsName, String serialNumberId, Page<Objects> page) { return specificationsMapper.listSpecificationsInformation(specificationsName,serialNumberId,page); } @Override public Map<String, Object> selectSNameSNName(int materialId) { return specificationsMapper.selectSNameSNName(materialId); } } standard-server/src/main/resources/mapper/ProductMapper.xml
@@ -1,5 +1,10 @@ <?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> </mapper> standard-server/src/main/resources/mapper/SpecificationsMapper.xml
@@ -20,4 +20,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> sys/src/main/resources/application-dev.yml
@@ -27,7 +27,7 @@ # 鵷雏网络IP或者域名 customer: url: http://127.0.0.1:6789 url: http://114.132.189.42:8011 mybatis-plus: configuration: user-server/src/main/java/com/yuanchu/limslaboratory/clients/UserClient.java
@@ -8,7 +8,7 @@ import java.util.Map; @FeignClient(value = "userservice", url = "localhost:6789") @FeignClient(value = "userservice", url = "${customer.url}") public interface UserClient { @PostMapping("/business/login")