zss
2024-09-13 e05875fa75605595b192fca04e598598cb2f2931
代码优化+检验下单新增字段下发至对象
已修改35个文件
已删除33个文件
已添加2个文件
2450 ■■■■ 文件已修改
cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/controller/PkMasterController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/controller/PkSlaveController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/mapper/PkMasterMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/mapper/PkSlaveMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/pojo/PkMaster.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/pojo/PkSlave.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/PkMasterService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/PkSlaveService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkMasterServiceImpl.java 470 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkSlaveServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/resources/mapper/PkMasterMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/resources/mapper/PkSlaveMapper.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/pom.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsBushingController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsFiberController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsFibersController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/SampleOrderController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/dto/BushingDto.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/dto/FiberDto.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/dto/FibersDto.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto3.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsBushingMapper.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsFiberMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsFibersMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsBushing.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFiber.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFibers.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InsBushingService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InsFiberService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InsFibersService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsBushingServiceImpl.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsFiberServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsFibersServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java 272 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java 198 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsUnPassServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsBushingMapper.xml 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsFiberMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsFibersMapper.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsOrderMapper.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsProductMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsSampleMapper.xml 138 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/StandardProductListMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/service/RoleService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/service/impl/RoleServiceImp.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
@@ -7,10 +7,8 @@
import com.yuanchu.mom.dto.DataConfigDto;
import com.yuanchu.mom.dto.DeviceDto;
import com.yuanchu.mom.pojo.Device;
import com.yuanchu.mom.pojo.PkMaster;
import com.yuanchu.mom.service.DataConfigService;
import com.yuanchu.mom.service.DeviceService;
import com.yuanchu.mom.service.PkMasterService;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
@@ -46,9 +44,6 @@
    @Autowired
    private DataConfigService dataConfigService;
    @Autowired
    private PkMasterService pkMasterService;
    @ValueClassify("设备")
    @ApiOperation(value = "查询设备详情列表")
@@ -203,13 +198,6 @@
    }
    @ValueClassify("设备")
    @ApiOperation(value = "温度循环数采")
    @PostMapping("/temDataAcquisition")
    public Result<?> temDataAcquisition(@RequestBody PkMaster pkMaster) {
        return Result.success(pkMasterService.temDataAcquisition(pkMaster));
    }
    @ApiOperation(value = "左侧设备树形栏")
    @GetMapping("/treeDevice")
    @ValueAuth
@@ -217,11 +205,4 @@
        return Result.success(deviceService.treeDevice(deviceName));
    }
    @ApiOperation(value = "温度循环数采总体")
    @PostMapping("/temDataAcquisition2")
    @ValueAuth
    public Result<?> temDataAcquisition2(@RequestBody PkMaster pkMaster) {
        return Result.success(pkMasterService.temDataAcquisition2(pkMaster));
    }
}
cnas-server/src/main/java/com/yuanchu/mom/controller/PkMasterController.java
ÎļþÒÑɾ³ý
cnas-server/src/main/java/com/yuanchu/mom/controller/PkSlaveController.java
ÎļþÒÑɾ³ý
cnas-server/src/main/java/com/yuanchu/mom/mapper/PkMasterMapper.java
ÎļþÒÑɾ³ý
cnas-server/src/main/java/com/yuanchu/mom/mapper/PkSlaveMapper.java
ÎļþÒÑɾ³ý
cnas-server/src/main/java/com/yuanchu/mom/pojo/PkMaster.java
ÎļþÒÑɾ³ý
cnas-server/src/main/java/com/yuanchu/mom/pojo/PkSlave.java
ÎļþÒÑɾ³ý
cnas-server/src/main/java/com/yuanchu/mom/service/PkMasterService.java
ÎļþÒÑɾ³ý
cnas-server/src/main/java/com/yuanchu/mom/service/PkSlaveService.java
ÎļþÒÑɾ³ý
cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkMasterServiceImpl.java
ÎļþÒÑɾ³ý
cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkSlaveServiceImpl.java
ÎļþÒÑɾ³ý
cnas-server/src/main/resources/mapper/PkMasterMapper.xml
ÎļþÒÑɾ³ý
cnas-server/src/main/resources/mapper/PkSlaveMapper.xml
ÎļþÒÑɾ³ý
inspect-server/pom.xml
@@ -73,5 +73,9 @@
            <artifactId>jackson-datatype-jsr310</artifactId>
            <version>2.13.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
        </dependency>
    </dependencies>
</project>
inspect-server/src/main/java/com/yuanchu/mom/controller/InsBushingController.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/controller/InsFiberController.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/controller/InsFibersController.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
@@ -67,6 +67,7 @@
    public Result<?> upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId,String sonLaboratory) {
        return Result.success(insOrderService.upInsOrder(orderId, sampleId, appointed, userId,sonLaboratory));
    }
    @ValueClassify("检验下单")
    @ApiOperation(value = "添加检验下单数据")
    @PostMapping("/addInsOrder")
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -24,6 +24,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -78,13 +79,6 @@
        return Result.success(insOrderPlanService.doInsOrder(id, laboratory));
    }
    @ApiOperation(value = "切换套管/光纤/光纤带记录模版查询检验内容")
    @PostMapping("/getReportModel")
    @ValueAuth
    public Result<?> getReportModel(Integer sampleId) {
        return Result.success(insOrderPlanService.getReportModel(sampleId));
    }
    @ValueAuth
    @PostMapping("/getInsProduct")
    @ApiOperation("获取检验项目和模板内容")
@@ -109,7 +103,7 @@
    @ValueClassify("检验任务")
    @ApiOperation(value = "复核检验任务")
    @PostMapping("/verifyPlan")
    public Result<?> verifyPlan(Integer orderId, String laboratory, Integer type, String tell) {
    public Result<?> verifyPlan(Integer orderId, String laboratory, Integer type, String tell) throws IOException {
        return Result.success(insOrderPlanService.verifyPlan(orderId, laboratory, type, tell));
    }
@@ -185,13 +179,6 @@
    @ValueAuth
    public Result<?> write(@RequestBody InsProductDto insProductDto) {
        return Result.success(insProductService.write(insProductDto));
    }
    @ValueAuth
    @ApiOperation(value = "温度循环查看列表数据(包括通过样品id,循环次数,温度,循环次数进行筛选)")
    @PostMapping("/temCycle")
    public Result<?> temCycle(Integer sampleId, String inspectionItem, String inspectionItemSubclass) {
        return Result.success(insOrderPlanService.temCycle(sampleId, inspectionItem, inspectionItemSubclass));
    }
    @ValueClassify("检验任务")
inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.dto.InsReportDto;
import com.yuanchu.mom.dto.ReportPageDto;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.service.InsReportService;
@@ -149,10 +150,17 @@
        return Result.success(insReportService.upAll(file));
    }
    @ValueAuth
    @ApiOperation(value = "查出该订单下每个站点下的检验次数")
    @GetMapping("/getInsOrderStateCount")
    public Result getInsOrderStateCount(Integer id){
        return Result.success(insReportService.getInsOrderStateCount(id));
    }
    @ValueClassify("报告编制")
    @ApiOperation(value = "判断是否生成总报告")
    @PostMapping("/isReport")
    public Result isReport(Integer id,Integer state) {
        return Result.success(insReportService.isReport(id,state));
    public Result isReport(@RequestBody InsReportDto insReportDto) {
        return Result.success(insReportService.isReport(insReportDto));
    }
}
inspect-server/src/main/java/com/yuanchu/mom/controller/SampleOrderController.java
@@ -19,6 +19,7 @@
public class SampleOrderController {
    private SampleOrderService sampleOrderService;
    @ValueAuth
    @GetMapping("/list")
    public Result list() {
inspect-server/src/main/java/com/yuanchu/mom/dto/BushingDto.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/dto/FiberDto.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/dto/FibersDto.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package com.yuanchu.mom.dto;
import lombok.Data;
import java.util.List;
@Data
public class InsReportDto {
    //订单id
    private Integer id;
    //生成不生生成
    private Integer state;
    //选择的每个站点的第几次数据
    private List<InsReportDto1> insReportDto1s;
}
inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.yuanchu.mom.dto;
import lombok.Data;
@Data
public class InsReportDto1 {
    private String laboratory;
    private Integer num;
}
inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto.java
@@ -11,8 +11,6 @@
    private List<InsProduct> insProduct;
    private List<BushingDto> bushing;
    private List<SampleProductDto> childSampleList;
    private InsulatingDto insulating;
inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto3.java
@@ -11,8 +11,6 @@
    private List<InsProduct> insProduct;
    private List<BushingDto> bushing;
    private List<SampleProductDto3> childSampleList;
    private InsulatingDto insulating;
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsBushingMapper.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsFiberMapper.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsFibersMapper.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
@@ -44,8 +44,6 @@
    String getEnumLabelByValue(String value);
    String getStandardMethodCode(Integer id);
    int updateStatus( Integer id);
    String selLaboratoryCode(String laboratory);
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java
@@ -3,6 +3,8 @@
import com.yuanchu.mom.pojo.InsOrderState;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* @author admin
* @description é’ˆå¯¹è¡¨ã€ins_order_state】的数据库操作Mapper
@@ -12,6 +14,7 @@
public interface InsOrderStateMapper extends BaseMapper<InsOrderState> {
    List<InsOrderState> getInsOrderStateCount(Integer id);
}
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java
@@ -27,8 +27,6 @@
    int updateInspected(@Param("id") Integer id);
    List<InsProduct> selectFiberInsProduct(List<Integer> ids, String laboratory);
    IPage<InsProduct> selectNoProducts(Page page, Integer orderId);
    int selectInsProductCountByOrderId(int orderId);
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
@@ -30,7 +30,6 @@
    IPage<InsOrderPlanTaskSwitchVo> inspectionOrderDetailsTaskSwitching(Page page, @Param("ew") QueryWrapper<InsOrderPlanDTO> ew, @Param("userId") Integer userId, @Param("sonLaboratory") String sonLaboratory, @Param("laboratory") String laboratory);
    List<SampleProductDto> selectSampleProductListByOrderId(Integer id);
    List<SampleProductDto> selectSampleProductListByOrder2Id(Integer id);
    List<SampleProductDto> selectSampleProductListByOrderId2(Integer id);
    List<SampleProductDto> selectSampleProductListByOrder2Id2(Integer id);
@@ -53,6 +52,9 @@
    String selMethodById(Integer sampleId);
    List<Map<String, String>> selectSampleList(Integer orderId);
    //过滤掉没有检验项目的样品
    List<InsSample> selectSampleListByOrderId(Integer orderId);
}
inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java
@@ -19,9 +19,9 @@
    StandardProductList getOne(Integer standardMethodListId, String inspectionItem, String sample, String inspectionItemSubclass, String model, String inspectionItemClass);
    List<StandardProductList> selectDetail(@Param("standardMethodListId") Integer standardMethodListId, @Param("state") int state, @Param("model") String model);
    List<StandardProductList> selectDetail(@Param("ids") List<Integer> ids, @Param("state") int state, @Param("model") String model);
    List<StandardProductList> selectDetail2(@Param("standardMethodListId") Integer standardMethodListId, @Param("state") int state, @Param("tree") String tree);
    List<StandardProductList> selectDetail2(@Param("ids") List<Integer> ids, @Param("state") int state, @Param("tree") String tree);
}
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsBushing.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFiber.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFibers.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
@@ -197,6 +197,9 @@
    private Integer send;
    /**
     * è®¢å•类型(数据字典)
     */
    private String formType;
    @ApiModelProperty("审核时间")
@@ -243,5 +246,8 @@
    @ApiModelProperty("通信:技术负责人审核结果2:不通过;1:通过")
    private Integer checkState3;
    @ApiModelProperty("下发对象(除了其他成品外这个字段必选,用于企业微信推送)")
    private Integer issueUser;
}
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
@@ -5,6 +5,7 @@
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
@@ -92,4 +93,9 @@
     * æ¬¡æ•°(检测次数)
     */
    private Integer num;
    //检验人
    @TableField(exist = false,select = false)
    private String userName;
}
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
@@ -232,12 +232,6 @@
    //湿度
    private String humidity;
    private Integer insFiberId;
    private Integer insFibersId;
    private Integer insBushId;
    private Integer standardMethodListId;
    //返回的20度常温的计算值(温度循环)
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java
@@ -86,7 +86,7 @@
     */
    private String remark;
    private Integer standardMethodListId;
    private String standardMethodListId;
    @ApiModelProperty("样品单位")
    private String unit;
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java
@@ -27,7 +27,7 @@
    private Integer id;
    /**
     * å¤–键:检验样品ins_sample表id(实际关联ins_order_state表id)
     * å¤–键:检验样品ins_sample表id(实际关联ins_order表id)
     */
    private Integer insSampleId;
inspect-server/src/main/java/com/yuanchu/mom/service/InsBushingService.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/service/InsFiberService.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/service/InsFibersService.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -9,6 +9,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;
import java.util.Map;
@@ -32,7 +33,7 @@
    int upPlanUser(Integer userId, Integer orderId,String sonLaboratory);
    int verifyPlan(Integer orderId, String laboratory, Integer type, String tell);
    int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) throws IOException;
    int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode);
@@ -44,10 +45,6 @@
    Map<String,Object> getFileList(Page page, InsOrderFile insOrderFile);
    int uploadFile(Integer orderId, MultipartFile file);
    Map<String,Object> getReportModel(Integer sampleId);
    Map<String,Object> temCycle(Integer sampleId, String inspectionItem, String inspectionItemSubclass);
    List<String> upPlanUser2(Integer orderId);
inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
@@ -22,7 +22,7 @@
    //获取单位检验下单数据
    Map<String, Object> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto);
    //修改检验下单数据
    //分配站点
    int upInsOrder(Integer orderId,Integer sampleId, String appointed, Integer userId,String sonLaboratory);
    int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing);
inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.mom.dto.InsReportDto;
import com.yuanchu.mom.dto.ReportPageDto;
import com.yuanchu.mom.pojo.InsOrderState;
import com.yuanchu.mom.pojo.InsReport;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
@@ -40,5 +43,8 @@
    int upAll(MultipartFile file) throws IOException;
    //是否生成总报告
    int isReport(Integer id,Integer state);
    int isReport(InsReportDto insReportDto);
    //查出该订单下每个站点下的检验次数
   List<InsOrderState> getInsOrderStateCount(Integer id);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsBushingServiceImpl.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsFiberServiceImpl.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsFibersServiceImpl.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -33,8 +33,14 @@
import com.yuanchu.mom.utils.*;
import com.yuanchu.mom.vo.*;
import org.apache.commons.io.IOUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xwpf.usermodel.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -127,18 +133,6 @@
    private String imgUrl;
    @Resource
    private InsBushingService insBushingService;
    @Resource
    private InsBushingMapper insBushingMapper;
    @Resource
    private InsFiberMapper insFiberMapper;
    @Resource
    private InsFibersMapper insFibersMapper;
    @Resource
    private InsOrderFileMapper insOrderFileMapper;
    @Override
@@ -229,10 +223,6 @@
        }
        Map<String, Object> map = insOrderService.getInsOrderAndSample(id, laboratory);
        List<SampleProductDto> list = JSON.parseArray(JSON.toJSONString(map.get("sampleProduct")), SampleProductDto.class);
        for (SampleProductDto samples : list) {
            if (BeanUtil.isEmpty(samples.getInsProduct())) continue;
            samples.setBushing(insBushingService.selectBushingBySampleId(samples.getId()));
        }
        map.put("sampleProduct", list);
        return map;
    }
@@ -244,7 +234,7 @@
            case 0:
                //样品
                insProducts = insSampleMapper.getInsProduct1(id, laboratory);
                if (insProducts.size()==0){
                if (insProducts.size() == 0) {
                    insProducts = insSampleMapper.getIns2Product1(id, laboratory);
                }
                break;
@@ -266,12 +256,15 @@
    }
    @Override
    public List<InsProduct> getInsProduct2(Integer id, Integer type, String laboratory, HttpServletRequest request,Integer num) {
    public List<InsProduct> getInsProduct2(Integer id, Integer type, String laboratory, HttpServletRequest request, Integer num) {
        List<InsProduct> insProducts = new ArrayList<>();
        switch (type) {
            case 0:
                //样品
                insProducts = insSampleMapper.get2InsProduct1(id, laboratory,num);
                insProducts = insSampleMapper.get2InsProduct1(id, laboratory, num);
                if (insProducts.size() == 0) {
                    throw new ErrorException("当前检验数据还没有保存,保存之后有数据历史");
                }
                break;
            case 1:
                //光纤带
@@ -353,185 +346,6 @@
        }
    }
    //切换记录模版查询检验内容
    @Override
    public Map<String, Object> getReportModel(Integer sampleId) {
        Map<String, Object> map = new HashMap<>();
        //先查出套管
        List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId));
        List<InsFibers> fibers = new ArrayList<>();
        List<InsFiber> fiber = new ArrayList<>();
        List<InsBushing> bush = new ArrayList<>();
        for (InsBushing insBushing : insBushings) {
            //再查询出所有的光纤带
            List<InsFibers> insFibers = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery().eq(InsFibers::getInsBushingId, insBushing.getId()));
            List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
            if (CollectionUtils.isNotEmpty(insFibers)) {
                for (InsFibers insFiber : insFibers) {
                    List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFibersId, insFiber.getId()));
                    List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult)
                            .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
                    if (insProducts.size() == collect.size()) {
                        insFiber.setState(1);//已检验
                    } else {
                        insFiber.setState(0);//未检验
                    }
                }
                fibers.addAll(insFibers);
                //查出光纤带下所有的光纤
                List<InsFiber> fiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().in(InsFiber::getInsFibersId, insFibers.stream().map(InsFibers::getId).collect(Collectors.toList())));
                for (InsFiber insFiber : fiberList) {
                    List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFiberId, insFiber.getId()));
                    List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult)
                            .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
                    if (insProducts.size() == collect.size()) {
                        insFiber.setState(1);//已检验
                    } else {
                        insFiber.setState(0);//未检验
                    }
                }
                fiber.addAll(fiberList);
            }
            //如果套管下没有光纤带就只有光纤了
            else if (CollectionUtils.isNotEmpty(insFiberList)) {
                for (InsFiber insFiber : insFiberList) {
                    List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFiberId, insFiber.getId()));
                    List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult)
                            .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
                    if (insProducts.size() == collect.size()) {
                        insFiber.setState(1);//已检验
                    } else {
                        insFiber.setState(0);//未检验
                    }
                }
                fiber.addAll(insFiberList);
            }
            //如果光纤带和光纤都没有就只有套管(松套管)
            else {
                List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                        .eq(InsProduct::getInsBushId, insBushing.getId()));
                List<Integer> collect = insProducts.stream()
                        .map(InsProduct::getInsResult)
                        .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
                if (insProducts.size() == collect.size()) {
                    insBushing.setState(1);//已检验
                } else {
                    insBushing.setState(0);//未检验
                }
                bush.add(insBushing);
            }
        }
        map.put("光纤带", fibers);
        map.put("光纤", fiber);
        map.put("套管", bush);
        return map;
    }
    //温度循环查看列表数据(包括通过样品id,循环次数,温度,循环次数进行筛选)
    @Override
    public Map<String, Object> temCycle(Integer sampleId, String inspectionItem, String inspectionItemSubclass) {
        Map<String, Object> map = new HashMap<>();
        //样品信息
        SampleVo sampleVo = insSampleMapper.getDetailById(sampleId);
        map.put("sampleVo", sampleVo);
        List<ProductVo> productVos = new ArrayList<>();
        //先查出这个样品下有哪些管色标,光纤带,光纤色标
        //先查出套管
        List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId));
        if (insBushings.size() > 0) {
            //通信--温度循环
            for (InsBushing insBushing : insBushings) {
                //再查询出所有的光纤带
                List<InsFibers> insFibers = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery().eq(InsFibers::getInsBushingId, insBushing.getId()));
                if (CollectionUtils.isNotEmpty(insFibers)) {
                    for (InsFibers insFiber : insFibers) {
                        //查出光纤带下所有的光纤
                        List<InsFiber> fiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsFibersId, insFiber.getId()));
                        for (InsFiber fiber : fiberList) {
                            //再根据关联的光纤配置的id和循环次数和温度和样品id进行查询检验项目
                            List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                                    .eq(InsProduct::getInsSampleId, sampleId)
                                    .eq(InsProduct::getInspectionItem, inspectionItem)
                                    .eq(InsProduct::getInspectionItemSubclass, inspectionItemSubclass)
                                    .eq(InsProduct::getInsFiberId, fiber.getId()));
                            for (InsProduct insProduct : insProducts) {
                                InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
                                        .eq(InsProductResult::getInsProductId, insProduct.getId()));
                                ProductVo productVo = new ProductVo();
                                productVo.setCode(insFiber.getCode());
                                productVo.setColor(fiber.getColor());
                                productVo.setBushColor(insBushing.getColor());
                                if (ObjectUtils.isNotEmpty(insProductResult)) {
                                    insProduct.setInsProductResult(insProductResult);
                                }
                                //求同等条件下1次循环20度常温的计算值
                                InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
                                        .eq(InsProduct::getInsSampleId, sampleId)
                                        .eq(InsProduct::getInspectionItem, "1")
                                        .eq(InsProduct::getInspectionItemSubclass, "20℃(常温)")
                                        .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
                                        .eq(InsProduct::getInsFiberId, fiber.getId())).getId()));
                                if (ObjectUtils.isNotEmpty(insProductResult1) && !insProductResult1.getComValue().equals("[]")) {
                                    insProduct.setComplue(insProductResult1.getComValue().split(":")[1].split("\"")[1]);
                                }
                                productVo.setInsProduct(insProduct);
                                productVos.add(productVo);
                            }
                        }
                    }
                } else {
                    //如果套管下没有光纤带就只有光纤了
                    List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
                    for (InsFiber fiber : insFiberList) {
                        //再根据关联的光纤配置的id和循环次数和温度和样品id进行查询检验项目
                        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                                .eq(InsProduct::getInsSampleId, sampleId)
                                .eq(InsProduct::getInspectionItem, inspectionItem)
                                .eq(InsProduct::getInspectionItemSubclass, inspectionItemSubclass)
                                .eq(InsProduct::getInsFiberId, fiber.getId()));
                        for (InsProduct insProduct : insProducts) {
                            InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
                            ProductVo productVo = new ProductVo();
                            productVo.setCode("-");
                            productVo.setColor(fiber.getColor());
                            productVo.setBushColor(fiber.getBushColor());
                            insProduct.setInsProductResult(insProductResult);
                            //求同等条件下1次循环20度常温的计算值
                            InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
                                    .eq(InsProduct::getInsSampleId, sampleId)
                                    .eq(InsProduct::getInspectionItem, "1")
                                    .eq(InsProduct::getInspectionItemSubclass, "20℃(常温)")
                                    .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
                                    .eq(InsProduct::getInsFiberId, fiber.getId())).getId()));
                            if (ObjectUtils.isNotEmpty(insProductResult1) && !insProductResult1.getComValue().equals("[]")) {
                                insProduct.setComplue(insProductResult1.getComValue().split(":")[1].split("\"")[1]);
                            }
                            productVo.setInsProduct(insProduct);
                            productVos.add(productVo);
                        }
                    }
                }
            }
            productVos = productVos.stream().sorted(Comparator.comparing(productVo -> productVo.getInsProduct().getInspectionItemClass())).collect(Collectors.toList());
        } else {
            //电力--热循环和温升试验
            List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                    .eq(InsProduct::getInsSampleId, sampleId)
                    .eq(InsProduct::getInspectionItem, inspectionItem));
            for (InsProduct insProduct : insProducts) {
                InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
                ProductVo productVo = new ProductVo();
                if (ObjectUtils.isNotEmpty(insProductResult)) {
                    insProduct.setInsProductResult(insProductResult);
                }
                productVo.setInsProduct(insProduct);
                productVos.add(productVo);
            }
        }
        map.put("productVos", productVos);
        return map;
    }
    @Override
    public List<String> upPlanUser2(Integer orderId) {
        List<Integer> sampleId = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList());
@@ -549,7 +363,7 @@
    @Override
    public void saveInsContext(Map<String, Object> insContext,Integer num) {
    public void saveInsContext(Map<String, Object> insContext, Integer num) {
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        CompletableFuture.supplyAsync(() -> {
            insContext.forEach((k, v) -> {
@@ -557,6 +371,7 @@
                InsProduct insProduct = new InsProduct();
                insProduct.setId(Integer.parseInt(k));
                List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
                        .eq(InsProductResult::getNum, num)
                        .eq(InsProductResult::getInsProductId, insProduct.getId()));
                InsProductResult result;
                if (CollectionUtils.isEmpty(results)) {
@@ -735,6 +550,7 @@
                insSampleMapper.updateById(insSample);
                /*校验一下result表*/
                List<InsProductResult> insProductResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
                        .eq(InsProductResult::getNum, num)
                        .eq(InsProductResult::getInsProductId, insProduct.getId()));
                if (insProductResults.size() > 1) {
                    for (int i = 1; i < insProductResults.size(); i++) {
@@ -1024,7 +840,7 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) {
    public int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) throws IOException {
        LocalDateTime now = LocalDateTime.now();
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        List<InsUnPass> insUnPasses = new ArrayList<>();
@@ -1158,7 +974,52 @@
                        .set(InsOrderState::getVerifyUser, userId));
                break;
        }
        /*复核完成之后生成他自己的站点报告(仅限辐射试验检测(近场,远场)和电路试验)*/
        /*switch (laboratory) {
            case "近场":
                uploadFile(orderId, null);
                break;
            case "远场":
                uploadFile(orderId, null);
                break;
            case "电路试验":
                uploadFile(orderId, generateExcelFile(orderId,laboratory));
                break;
            default:
                break;
        }*/
        return 1;
    }
    //生成电路试验的excel文件
    private MultipartFile generateExcelFile(Integer orderId, String laboratory) throws IOException{
        // åˆ›å»ºä¸€ä¸ªWorkbook对象
        Workbook workbook = new XSSFWorkbook();
        // åˆ›å»ºç¬¬ä¸€ä¸ªSheet
        Sheet sheet1 = workbook.createSheet("Sheet1");
        Row row1 = sheet1.createRow(0);
        Cell cell1 = row1.createCell(0);
        cell1.setCellValue("Hello, Sheet1");
        // åˆ›å»ºç¬¬äºŒä¸ªSheet
        Sheet sheet2 = workbook.createSheet("Sheet2");
        Row row2 = sheet2.createRow(0);
        Cell cell2 = row2.createCell(0);
        cell2.setCellValue("Hello, Sheet2");
        // å°†Workbook写入到字节数组中
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        workbook.write(outputStream);
        workbook.close();
        byte[] excelBytes = outputStream.toByteArray();
        // åˆ›å»ºMultipartFile对象
        MultipartFile multipartFile = new MockMultipartFile(
                "file", "example.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", new ByteArrayInputStream(excelBytes));
        return multipartFile;
    }
    private void getTemplateThing(Set<Integer> set, Map<Integer, String> map2, List<InsProduct> insProducts) {
@@ -1204,10 +1065,7 @@
                        .isNull(InsProduct::getInsResult)
                        .or()
                        .eq(InsProduct::getInsResult, 2)
                )
                .isNull(InsProduct::getInsFiberId)
                .isNull(InsProduct::getInsFibersId));
        insProducts.addAll(insProductMapper.selectFiberInsProduct(ids, laboratory));
                ));
        if (insProducts.size() > 0) {
            String str = "";
            int count = 0;
@@ -1247,7 +1105,11 @@
        /*如果是C类订单且是下发到质量部,则直接复核通过(结束试验)*/
        InsOrder insOrder = insOrderMapper.selectById(orderId);
        if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("质量部")) {
            verifyPlan(orderId, laboratory, 2, null);
            try {
                verifyPlan(orderId, laboratory, 2, null);
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
            //LIMS系统消息推送
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -7,6 +7,7 @@
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@@ -22,6 +23,7 @@
import com.yuanchu.mom.service.InsOrderService;
import com.yuanchu.mom.service.InsProductService;
import com.yuanchu.mom.utils.GiveCode;
import com.yuanchu.mom.utils.QYWXApi;
import com.yuanchu.mom.utils.QueryWrappers;
import com.yuanchu.mom.vo.SampleDefectsFatherVo;
import lombok.AllArgsConstructor;
@@ -75,13 +77,9 @@
    PowerMapper powerMapper;
    private InsBushingMapper insBushingMapper;
    private InsFibersMapper insFibersMapper;
    private InsFiberMapper insFiberMapper;
    CustomMapper customMapper;
    QYWXApi qywxApi;
    //获取检验下单数据
@@ -94,16 +92,6 @@
        User user = userMapper.selectById(map1.get("userId"));//当前登录的人
        Integer roleId = user.getRoleId();
        String laboratory = null;
        //获取当前人所属实验室id
        /*String departLimsId = user.getDepartLimsId();
        if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) {
            String[] split = departLimsId.split(",");
            //查询对应架构名称(通信实验室,电力实验室,检测办)
            String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1]));
            if (departLims.contains("实验室")) {
                laboratory = departLims;
            }
        }*/
        //判断是否是全部权限
        Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "selectAllInsOrderParameter"));
        if (ObjectUtils.isEmpty(power)) {
@@ -203,7 +191,7 @@
            insSampleMapper.insert(a);
            //样品的检验项目
            if (ObjectUtil.isNotEmpty(a.getInsProduct())) {
                addInsProductMethod(a.getId(), a.getInsProduct(), null, 0);
                addInsProductMethod(a.getId(), a.getInsProduct());
            }
            //样品的检验标准
            if (ObjectUtil.isNotEmpty(a.getInsulating())) {
@@ -214,14 +202,14 @@
                for (InsProduct product : ip2) {
                    product.setStandardMethodListId(a.getInsulating().getStandardMethodListId());
                }
                addInsProductMethod(a.getId(), ip2, null, 0);
                addInsProductMethod(a.getId(), ip2);
            }
            //样品的检验标准
            if (ObjectUtil.isNotEmpty(a.getSheath())) {
                for (InsProduct product : a.getSheath().getInsProduct()) {
                    product.setStandardMethodListId(a.getSheath().getStandardMethodListId());
                }
                addInsProductMethod(a.getId(), a.getSheath().getInsProduct(), null, 0);
                addInsProductMethod(a.getId(), a.getSheath().getInsProduct());
            }
            //子样品配置
            if (ObjectUtil.isNotEmpty(a.getChildSampleList())) {
@@ -235,54 +223,13 @@
                        }
                        insSampleMapper.insert(b);
                        if (ObjectUtil.isNotEmpty(b.getInsProduct())) {
                            addInsProductMethod(b.getId(), b.getInsProduct(), null, 0);
                            addInsProductMethod(b.getId(), b.getInsProduct());
                        }
                    }
                }
            }
            //光纤配置
            /*if (ObjectUtil.isEmpty(a.getInsProduct()) && ObjectUtil.isNotEmpty(a.getBushing())) {
                for (BushingDto bushingDto : a.getBushing()) {
                    bushingDto.setInsSampleId(a.getId());
                    insBushingMapper.insert(bushingDto);
                    if (bushingDto.getFiber().size() != 0) {
                        for (FiberDto fiberDto : bushingDto.getFiber()) {
                            fiberDto.setInsBushingId(bushingDto.getId());
                            insFiberMapper.insert(fiberDto);
                            addInsProductMethod(a.getId(), fiberDto.getProductList(), fiberDto.getId(), 2);
                        }
                    } else {
                        for (FibersDto fibersDto : bushingDto.getFibers()) {
                            fibersDto.setInsBushingId(bushingDto.getId());
                            fibersDto.setCode(this.giveCode.giveCode("", "ins_fibers", "", "yyMMdd"));
                            insFibersMapper.insert(fibersDto);
                            for (FiberDto fiberDto : fibersDto.getFiber()) {
                                fiberDto.setInsFibersId(fibersDto.getId());
                                insFiberMapper.insert(fiberDto);
                                addInsProductMethod(a.getId(), fiberDto.getProductList(), fiberDto.getId(), 2);
                            }
                            addInsProductMethod(a.getId(), fibersDto.getProductList(), fibersDto.getId(), 1);
                        }
                    }
                }
            }*/
        });
        //多个样品就拼接
        /*for (List<Integer> i : pairing) {
            SampleProductDto sample = JSON.parseObject(JSON.toJSONString(list.get(i.get(0) - 1)), SampleProductDto.class);
            sample.setSampleCode(list.get(i.get(0) - 1).getSampleCode() + "/" + list.get(i.get(1) - 1).getSampleCode());
            sample.setId(null);
            insSampleMapper.insert(sample);
            try {
                List<InsProduct> insProducts = sample.getInsProduct().stream().filter(a -> Objects.equals(a.getInspectionItem(), "光纤接头损耗")).collect(Collectors.toList());
                for (InsProduct insProduct : insProducts) {
                    insProduct.setId(null);
                    insProduct.setInsSampleId(sample.getId());
                    insProductMapper.insert(insProduct);
                }
            } catch (Exception e) {
            }
        }*/
        //通信:如果是C类订单无需审核直接通过
        if (insOrder.getOrderType().equals("C")) {
            insOrder.setState(1);
@@ -291,17 +238,9 @@
        return insOrder.getId();
    }
    private void addInsProductMethod(Integer sampleId, List<InsProduct> productList, Integer id, Integer type) {
    private void addInsProductMethod(Integer sampleId, List<InsProduct> productList) {
        for (InsProduct product : productList) {
            if (product.getState() == 1 ) {
                switch (type) {
                    case 1:
                        product.setInsFibersId(id);
                        break;
                    case 2:
                        product.setInsFiberId(id);
                        break;
                }
            if (product.getState() == 1) {
                product.setId(null);
                product.setCreateTime(null);
                product.setCreateUser(null);
@@ -316,73 +255,12 @@
        }
    }
    //温度循环的处理
    private void dealWithTemperatureLoop(Integer type, Integer id, Integer sampleId, InsProduct product) {
        List<InsProduct> insProductes = new ArrayList<>();
        List<InsProduct> insProducts = new ArrayList<>();
        String[] strings = product.getAsk().split(";");
        for (int i = 0; i < strings.length; i++) {
            int count = Integer.parseInt(strings[strings.length - 1]);
            if (i != strings.length - 1) {
                InsProduct insProduct = new InsProduct();
                switch (type) {
                    case 1:
                        insProduct.setInsFibersId(id);
                        break;
                    case 2:
                        insProduct.setInsFiberId(id);
                        break;
                }
                String[] split = strings[i].split(",");
                if (split[0].equals("20℃")) {
                    insProduct.setInspectionItem(count + "");//检验项--循环次数
                } else {
                    insProduct.setInspectionItem("1");//检验项--循环次数
                }
                insProduct.setInspectionItemSubclass(split[0]);//检验项--温度
                insProduct.setInspectionItemClass(split[1]);//检验项--光纤项目
                insProduct.setAsk(split[2]);//检验要求
                insProduct.setTell(strings[i]);//检验描述
                insProduct.setInsSampleId(sampleId);
                insProduct.setState(1);
                insProduct.setFactory(product.getFactory());
                insProduct.setLaboratory(product.getLaboratory());
                insProduct.setSampleType(product.getSampleType());
                insProduct.setSample(product.getSample());
                insProduct.setModel(product.getModel());
                insProduct.setSonLaboratory(product.getSonLaboratory());
                insProduct.setUnit(product.getUnit());
                insProduct.setManHourGroup(product.getManHourGroup());
                insProduct.setInspectionItemType("0");
                insProduct.setInspectionValueType("1");
                insProducts.add(insProduct);
                insProductes.add(insProduct);
            } else {
                //最后一个数据是说明会循环多少次
                if (count > 1) {
                    //循环超过1次
                    for (int j = 2; j <= count; j++) {
                        for (InsProduct insProduct : insProducts) {
                            if (!insProduct.getInspectionItemSubclass().equals("20℃") && !insProduct.getInspectionItemSubclass().equals("20℃(常温)")) {
                                InsProduct insProduct1 = new InsProduct();
                                BeanUtils.copyProperties(insProduct, insProduct1);
                                insProduct1.setInspectionItem(j + "");
                                insProductes.add(insProduct1);
                            }
                        }
                    }
                }
            }
        }
        insProductService.saveBatch(insProductes);
    }
    @Override
    public Map<String, Object> getInsOrder(Integer id) {
        Map<String, Object> map = new HashMap<>();
        InsOrder insOrder = insOrderMapper.selectById(id);
        List<SampleProductDto> list = insSampleMapper.selectSampleProductListByOrderId2(id);
        if (list.size()==0){
        if (list.size() == 0) {
            list = insSampleMapper.selectSampleProductListByOrder2Id2(id);
        }
        map.put("insOrder", insOrder);
@@ -401,35 +279,27 @@
            System.out.println("=============" + custom.getCompany());
            System.out.println("-------------" + order.getCompany());
            insOrder.setEntrustCode(giveCode.giveCode2("TXJC-", insOrder.getCompanyId(), insOrder.getLaboratory(), "ins_order", "", "yyMMdd"));
            //系统查询站点任务分布情况,将检验任务下发至最少的站台
            List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
                    .eq(InsSample::getInsOrderId, insOrder.getId()).select(InsSample::getId));
            List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
            List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                    .eq(InsProduct::getState, 1)
                    .in(InsProduct::getInsSampleId, ids));
            List<String> collect = insProducts.stream().map(InsProduct::getSonLaboratory).distinct().collect(Collectors.toList());
            //要判断剩余试验室中哪个最空闲就安排给哪个
            Map<String, Long> dataCounts = new HashMap<>();
            for (String sonLaboratory : collect) {
                Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery()
                        .eq(InsOrderState::getLaboratory, sonLaboratory)
                        .ne(InsOrderState::getInsState, 4)
                        .ne(InsOrderState::getInsState, 5)
                        .ne(InsOrderState::getInsState, 6));
                dataCounts.put(sonLaboratory, count);
            }
            // æŸ¥æ‰¾æ•°æ®é‡æœ€å°‘的元素
            String minElement = null;
            Long minCount = Long.MAX_VALUE;
            for (Map.Entry<String, Long> entry : dataCounts.entrySet()) {
                if (entry.getValue() < minCount) {
                    minCount = entry.getValue();
                    minElement = entry.getKey();
                }
            }
            int day = insProductService.selectOrderManDay(insOrder.getId());//预计完成时间
            upInsOrder(insOrder.getId(), null, LocalDateTime.now().plusHours(day).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")), null, minElement);
            //确定订单的下发时间和约定时间
            insOrder.setAppointed(LocalDate.parse(LocalDateTime.now().plusHours(day).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))));
            insOrder.setSendTime(LocalDateTime.now());
            /*todo æ ¹æ®è®¢å•类型判断是否需要推送企业微信 @zss*/
            if (!order.getFormType().equals("其他成品")) {
               /* HashMap<String, Object> map = new HashMap<>();
                String account = userMapper.selectById(order.getIssueUser()).getAccount();
                map.put("touser", account);//接收消息成员的账号'ZT-031292'这种类型(如果有多个用'|'分隔)
                map.put("toparty", "");//接收部门id
                map.put("totag", "");//消息标签id
                map.put("msgtype", "text");//消息类型 text:文本
                map.put("agentid", 1000513);//应用id
                HashMap<String, Object> hashMap = new HashMap<>();
                hashMap.put("content", "您有一条订单需生成检验,请前往LIMS系统查看。<a href=\"http://10.1.13.77/enter\"> </a>");
                map.put("text", JSONArray.toJSONString(hashMap));//消息内容
                map.put("safe", 0);//是否保密消息.0否
                map.put("enable_id_trans", 0);//是否开启id转译.0否
                map.put("enable_duplicate_check", 0);//是否开启重复消息检查.0否
                qywxApi.send(map);*/
            }
        }
        return insOrderMapper.updateById(insOrder);
    }
@@ -487,8 +357,8 @@
        Map<String, Object> map = new HashMap<>();
        InsOrder insOrder = insOrderMapper.selectById2(id);
        List<SampleProductDto> list = insSampleMapper.getInsOrderAndSample(id, laboratory);
        if (list.size()==0){
            list=insSampleMapper.getInsOrderAndSample2(id, laboratory);
        if (list.size() == 0) {
            list = insSampleMapper.getInsOrderAndSample2(id, laboratory);
        }
        for (SampleProductDto sampleProductDto : list) {
            List<Integer> ids = sampleProductDto.getInsProduct().stream().map(InsProduct::getId).collect(Collectors.toList());
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
@@ -25,6 +25,8 @@
import com.itextpdf.text.pdf.PdfStamper;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.InsReportDto;
import com.yuanchu.mom.dto.InsReportDto1;
import com.yuanchu.mom.dto.ReportPageDto;
import com.yuanchu.mom.dto.SampleProductDto;
import com.yuanchu.mom.exception.ErrorException;
@@ -95,10 +97,19 @@
    private InsOrderMapper insOrderMapper;
    @Resource
    private StandardMethodListMapper standardMethodListMapper;
    @Resource
    private InsOrderStateMapper insOrderStateMapper;
    @Resource
    private InsProductMapper insProductMapper;
    @Resource
    private InsProductResultMapper insProductResultMapper;
    @Resource
    private InsProductResult2Mapper insProductResult2Mapper;
    @Resource
    private InsSampleMapper insSampleMapper;
@@ -364,16 +375,16 @@
    //是否需要生成报告: 0不需要;1需要
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int isReport(Integer id, Integer state) {
    public int isReport(InsReportDto insReportDto) {
        //先判断该订单是否可以去生产报告
        Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, id).eq(InsOrderState::getInsState, 5));
        Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, insReportDto.getId()).eq(InsOrderState::getInsState, 5));
        if (count > 0) {
            if (state == 1) {
                generateReport(id);
            if (insReportDto.getState() == 1) {
                generateReport(insReportDto.getId(), insReportDto.getInsReportDto1s());
            } else {
                //结束订单
                InsOrder insOrder = new InsOrder();
                insOrder.setId(id);
                insOrder.setId(insReportDto.getId());
                insOrder.setState(4);
                insOrderMapper.updateById(insOrder);
            }
@@ -381,6 +392,13 @@
            throw new ErrorException("该订单还未结束试验,无法生产报告!");
        }
        return 0;
    }
    //查出该订单下每个站点下的检验次数
    @Override
    public List<InsOrderState> getInsOrderStateCount(Integer id) {
        List<InsOrderState> insOrderStates = insOrderStateMapper.getInsOrderStateCount(id);
        return insOrderStates;
    }
@@ -578,16 +596,13 @@
    }
    //生成报告
    private void generateReport(Integer orderId) {
    private void generateReport(Integer orderId, List<InsReportDto1> insReportDto1s) {
        LocalDateTime now = LocalDateTime.now();
        InsOrder insOrder = insOrderMapper.selectById(orderId);
        //委托部门 departLims
        String departLims = userMapper.selectDepartLims(insOrder.getPrepareUser());
        //samples是过滤掉没有检验项目的样品
        List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId);
        if (samples.size()==0){
            samples=insSampleMapper.selectSampleProductListByOrder2Id(orderId);
        }
        String sampleCode = samples.get(0).getSampleCode();
        InsReport insReport = new InsReport();
        insReport.setCode(insOrder.getEntrustCode());
@@ -603,39 +618,67 @@
        String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
        samples.forEach(s -> {
            models.add(s.getModel());
            standardMethod.add(insOrderMapper.getStandardMethodCode(s.getStandardMethodListId()));
            standardMethod.addAll(standardMethodListMapper.selectList(Wrappers.<StandardMethodList>lambdaQuery()
                    .in(StandardMethodList::getId,Arrays.stream(s.getStandardMethodListId().replaceAll("[\\[\\]]", "").split(","))
                            .map(String::trim).map(Integer::parseInt).collect(Collectors.toList()))).stream().map(StandardMethodList::getCode).distinct().collect(Collectors.toList()));
            //总数
            Long productCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, s.getId()));
            Long productCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
                    .eq(InsProduct::getInsSampleId, s.getId()));
            productSize.set(productSize.get() + Integer.parseInt(productCount + ""));
            //不判定
            Long productCount1 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
                    .eq(InsProduct::getInsSampleId, s.getId())
                    .eq(InsProduct::getInsResult,3));
                    .eq(InsProduct::getInsResult, 3));
            productSize1.set(productSize1.get() + Integer.parseInt(productCount1 + ""));
            //不合格
            Long productCount2 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
                    .eq(InsProduct::getInsSampleId, s.getId())
                    .eq(InsProduct::getInsResult,0));
                    .eq(InsProduct::getInsResult, 0));
            productSize2.set(productSize2.get() + Integer.parseInt(productCount2 + ""));
            //合格
            Long productCount3 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
                    .eq(InsProduct::getInsSampleId, s.getId())
                    .eq(InsProduct::getInsResult,1));
                    .eq(InsProduct::getInsResult, 1));
            productSize3.set(productSize3.get() + Integer.parseInt(productCount3 + ""));
            for (InsProduct b : s.getInsProduct()) {
                if (b.getInsProductResult() != null) {
                    List<JSONObject> jsonObjects = JSON.parseArray(b.getInsProductResult().getEquipValue(), JSONObject.class);
            //将项目按照站点进行分类
            Map<String, List<InsProduct>> listMap = s.getInsProduct().stream().collect(Collectors.groupingBy(InsProduct::getLaboratory));
            // åˆ›å»ºä¸€ä¸ª Map å°†ç«™ç‚¹å’Œé¡¹ç›®ID的映射关系
            Map<String, Set<Integer>> labToDeviceMap = new HashMap<>();
            // èŽ·å–æ‰€æœ‰ç«™ç‚¹çš„é¡¹ç›®ID åˆ—表
            for (Map.Entry<String, List<InsProduct>> entry : listMap.entrySet()) {
                Set<Integer> deviceIds = entry.getValue().stream()
                        .map(InsProduct::getId)
                        .collect(Collectors.toSet());
                labToDeviceMap.put(entry.getKey(), deviceIds);
            }
            for (InsReportDto1 insReportDto1 : insReportDto1s) {
                String laboratory = insReportDto1.getLaboratory();
                if (!labToDeviceMap.containsKey(laboratory)) {
                    continue;
                }
                Set<Integer> deviceIds = labToDeviceMap.get(laboratory);
                Integer num = insReportDto1.getNum();
                List<InsProductResult> insProductResults = insProductResultMapper.selectList(
                        Wrappers.<InsProductResult>lambdaQuery()
                                .eq(InsProductResult::getNum, num)
                                .in(InsProductResult::getInsProductId, deviceIds));
                for (InsProductResult insProductResult : insProductResults) {
                    List<JSONObject> jsonObjects = JSON.parseArray(insProductResult.getEquipValue(), JSONObject.class);
                    for (JSONObject jsonObject : jsonObjects) {
                        if (!"".equals(jsonObject.get("v") + "")) {
                            deviceSet.add(jsonObject.get("v") + "");
                        String value = jsonObject.getString("v");
                        if (value != null && !value.isEmpty()) {
                            deviceSet.add(value);
                        }
                    }
                }
                if (b.getInsProductResult2() != null) {
                    for (InsProductResult2 jsonObject : b.getInsProductResult2()) {
                        if (jsonObject.getEquipValue() != null) {
                            deviceSet.add(jsonObject.getEquipValue());
                        }
                List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(
                        Wrappers.<InsProductResult2>lambdaQuery()
                                .eq(InsProductResult2::getNum, num)
                                .in(InsProductResult2::getInsProductId, deviceIds));
                for (InsProductResult2 result2 : insProductResult2s) {
                    String equipValue = result2.getEquipValue();
                    if (equipValue != null && !equipValue.isEmpty()) {
                        deviceSet.add(equipValue);
                    }
                }
            }
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsUnPassServiceImpl.java
@@ -32,8 +32,6 @@
    public Map<String, Object> pageInsUnPass(Page page, UnPassPageDto unPassPageDto) {
        Map<String, Object> map = new HashMap<>();
        map.put("head", PrintChina.printChina(UnPassPageDto.class));
//        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("pageInsUnPass");
//        if (map1.get("look") == 1) unPassPageDto.setCreateUser(map1.get("userId"));
        map.put("body", insUnPassMapper.pageInsUnPass(page, QueryWrappers.queryWrappers(unPassPageDto)));
        return map;
    }
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
@@ -61,17 +61,19 @@
    @Override
    public List<StandardProductList> selectStandardProductList(InsSample insSample) {
        String[] models = insSample.getModel().split("-(?=[^-]*$)");//拆分最后一个【-】
        List<StandardProductList> list = standardProductListMapper.selectDetail(insSample.getStandardMethodListId(), 1, models[0]);
        List<Integer> ids = Arrays.stream(insSample.getStandardMethodListId().split(","))
                .map(String::trim).map(Integer::parseInt).collect(Collectors.toList());
        List<StandardProductList> list = standardProductListMapper.selectDetail(ids, 1, models[0]);
        if (list.size() == 0) {
            if (Objects.equals(insSample.getFactory(), "") || insSample.getFactory() == null) {
                return null;
            }
            String[] split = insSample.getFactory().split(" - ");
            String tree = split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3] + " - null";
            list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree);
            list = standardProductListMapper.selectDetail2(ids, 1, tree);
            if (list.size() == 0) {
                String tree1 = split[0] + " - " + split[1] + " - " + split[2] + " - null - " + split[3];
                list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree1);
                list = standardProductListMapper.selectDetail2(ids, 1, tree1);
            }
        }
        String[] split1 = insSample.getFactory().split(" - ");
inspect-server/src/main/resources/mapper/InsBushingMapper.xml
ÎļþÒÑɾ³ý
inspect-server/src/main/resources/mapper/InsFiberMapper.xml
ÎļþÒÑɾ³ý
inspect-server/src/main/resources/mapper/InsFibersMapper.xml
ÎļþÒÑɾ³ý
inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -122,31 +122,6 @@
        <result column="name" property="name"/>
        <result column="create_time" property="create_time"/>
    </resultMap>
    <select id="selectInsOrderParameter" resultType="com.yuanchu.mom.pojo.InsOrder">
        select *
        from (
        select
        id,
        appointed,
        user_id,
        create_user,
        otc_code,
        code,
        custom,
        update_user,
        update_time,
        type,
        entrust_code,
        company,
        remark,
        create_time,
        state
        from ins_order
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="getLaboratoryCode" resultType="java.lang.String">
        select laboratory_number
        from laboratory
@@ -337,11 +312,6 @@
        select label
        from `center-lims`.enums
        where value = #{value}
    </select>
    <select id="getStandardMethodCode" resultType="java.lang.String">
        select code
        from `center-lims`.standard_method
        where id = #{id}
    </select>
    <select id="selLaboratoryCode" resultType="java.lang.String">
        select laboratory_code
inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml
@@ -3,18 +3,17 @@
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.mom.mapper.InsOrderStateMapper">
    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsOrderState">
            <id property="id" column="id" jdbcType="INTEGER"/>
            <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/>
            <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
            <result property="insState" column="ins_state" jdbcType="INTEGER"/>
            <result property="sort" column="sort" jdbcType="INTEGER"/>
            <result property="createUser" column="create_user" jdbcType="INTEGER"/>
            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
            <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
            <result property="sortTime" column="sort_time" jdbcType="TIMESTAMP"/>
        <id property="id" column="id" jdbcType="INTEGER"/>
        <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/>
        <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
        <result property="insState" column="ins_state" jdbcType="INTEGER"/>
        <result property="sort" column="sort" jdbcType="INTEGER"/>
        <result property="createUser" column="create_user" jdbcType="INTEGER"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
        <result property="sortTime" column="sort_time" jdbcType="TIMESTAMP"/>
    </resultMap>
    <sql id="Base_Column_List">
@@ -22,4 +21,16 @@
        ins_state,create_user,create_time,
        update_user,update_time,sort,sort_time
    </sql>
    <select id="getInsOrderStateCount" resultType="com.yuanchu.mom.pojo.InsOrderState">
        select distinct ios.*,userName
        from ins_order_state ios
                 LEFT JOIN (
            SELECT ins_sample_id,GROUP_CONCAT( DISTINCT uu.name SEPARATOR ',') AS userName
            FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id
            WHERE  u.state=0
            GROUP BY ins_sample_id
            ORDER BY ins_sample_id
        ) isu ON isu.ins_sample_id = ios.ins_order_id
        where ios.ins_order_id = #{id}
    </select>
</mapper>
inspect-server/src/main/resources/mapper/InsProductMapper.xml
@@ -6,7 +6,7 @@
    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsProduct">
        <id property="id" column="id" jdbcType="INTEGER"/>
        <result property="inspectionItem" column="inspection_item" jdbcType="VARCHAR"/>
        <result property="inspectionItemClassify" column="inspection_item_classify" jdbcType="VARCHAR"/>
        <result property="inspectionItemClass" column="inspection_item_class" jdbcType="VARCHAR"/>
        <result property="inspectionItemSubclass" column="inspection_item_subclass" jdbcType="VARCHAR"/>
        <result property="factory" column="factory" jdbcType="VARCHAR"/>
        <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
@@ -87,17 +87,6 @@
        where ip.ins_sample_id = #{sampleId}
          and template_id is not null
    </select>
    <select id="selectFiberInsProduct" resultType="com.yuanchu.mom.pojo.InsProduct">
        select * from ins_product
        where state = 1
        and (ins_fibers_id is not null or ins_fiber_id is not null)
        and ins_result is null
        and son_laboratory = #{laboratory}
        and ins_sample_id in
        <foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach>
    </select>
    <select id="selectNoProducts" resultType="com.yuanchu.mom.pojo.InsProduct">
        select *
inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -27,7 +27,8 @@
    <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
        select * from(select * from(
        SELECT
        a.*,ios.ins_state,ios.verify_tell,verify_user,ios.id orderStateId,ios.create_time,ios.sort,sort_time,version,ios.num num1
        a.*,ios.ins_state,ios.verify_tell,verify_user,ios.id
        orderStateId,ios.create_time,ios.sort,sort_time,version,ios.num-1 num1
        FROM
        (
        SELECT
@@ -161,21 +162,20 @@
    <select id="selectSampleProductListByOrderId" resultMap="sampleDto">
        select isa.*,
               ios.num          num1,
               ip.id            ip_id,
               ip.id          ip_id,
               inspection_item,
               inspection_item_en,
               inspection_item_class,
               inspection_item_class_en,
               inspection_item_subclass,
               inspection_item_subclass_en,
               ip.factory       ip_factory,
               ip.laboratory    ip_laboratory,
               ip.sample_type   ip_sample_type,
               ip.sample        ip_sample,
               ip.model         ip_model,
               ip.factory     ip_factory,
               ip.laboratory  ip_laboratory,
               ip.sample_type ip_sample_type,
               ip.sample      ip_sample,
               ip.model       ip_model,
               son_laboratory,
               ip.unit          ip_unit,
               ip.unit        ip_unit,
               price,
               man_hour,
               man_hour_group,
@@ -191,112 +191,19 @@
               ask,
               tell,
               `last_value`,
               ip.ins_result    ip_ins_result,
               ip.ins_result  ip_ins_result,
               state,
               ins_sample_id,
               ip.create_user   ip_create_user,
               ip.update_user   ip_update_user,
               ip.create_time   ip_create_time,
               ip.update_time   ip_update_time,
               ip.create_user ip_create_user,
               ip.update_user ip_update_user,
               ip.create_time ip_create_time,
               ip.update_time ip_update_time,
               template_id,
               ipr.ins_value,
               ipr.com_value,
               ipr.equip_value,
               ipr2.frequency,
               ipr2.often,
               ipr2.port,
               ipr2.angle,
               ipr2.value,
               ipr2.result,
               ipr2.equip_value equipValue2,
               ipr2.equip_name  equipName2,
               ip.method_s
        from ins_sample isa
                 left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id
                 left join ins_product ip on isa.id = ip.ins_sample_id
                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
        where isa.ins_order_id = #{id}
          and state = 1
          and ios.laboratory = #{laboratory}
          and (ipr2.num = ios.num or ipr2.num is null)
          and (ipr.num = ios.num or ipr.num is null)
          and isa.id in (select id1
                         from (select is2.id id1, ip.id
                               from ins_sample is2
                                        left join ins_product ip on is2.id =
                                                                    ip.ins_sample_id
                               where ip.id is not null) s)
        order by case
                     when man_hour_group is NULL then 1
                     when man_hour_group = '' then 1
                     else 0 end,
                 CASE
                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- å¦‚果以数字开头,则按照数字大小排序
                     WHEN man_hour_group REGEXP '[0-9]+'
                         THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- æå–字母后面的数字部分
                , id asc
    </select>
    <select id="selectSampleProductListByOrder2Id" resultMap="sampleDto">
        select isa.*,
               ios.num          num1,
               ip.id            ip_id,
               inspection_item,
               inspection_item_en,
               inspection_item_class,
               inspection_item_class_en,
               inspection_item_subclass,
               inspection_item_subclass_en,
               ip.factory       ip_factory,
               ip.laboratory    ip_laboratory,
               ip.sample_type   ip_sample_type,
               ip.sample        ip_sample,
               ip.model         ip_model,
               son_laboratory,
               ip.unit          ip_unit,
               price,
               man_hour,
               man_hour_group,
               inspection_item_type,
               inspection_value_type,
               device_group,
               checkout_number,
               section,
               value_type,
               method,
               man_day,
               bsm,
               ask,
               tell,
               `last_value`,
               ip.ins_result    ip_ins_result,
               state,
               ins_sample_id,
               ip.create_user   ip_create_user,
               ip.update_user   ip_update_user,
               ip.create_time   ip_create_time,
               ip.update_time   ip_update_time,
               template_id,
               ipr.ins_value,
               ipr.com_value,
               ipr.equip_value,
               ipr2.frequency,
               ipr2.often,
               ipr2.port,
               ipr2.angle,
               ipr2.value,
               ipr2.result,
               ipr2.equip_value equipValue2,
               ipr2.equip_name  equipName2,
               ip.method_s
        from ins_sample isa
                 left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id
                 left join ins_product ip on isa.id = ip.ins_sample_id
                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
        where isa.ins_order_id = #{id}
          and state = 1
          and ios.laboratory = #{laboratory}
          and isa.id in (select id1
                         from (select is2.id id1, ip.id
                               from ins_sample is2
@@ -687,8 +594,6 @@
        where ins_sample_id = #{id}
          and state = 1
          and ip.son_laboratory = #{laboratory}
          and ins_fiber_id is null
          and ins_fibers_id is null
          and ip.standard_method_list_id is not null
          and ios.laboratory = #{laboratory}
          and (ipr2.num = ios.num or ipr2.num is null)
@@ -755,8 +660,6 @@
        where ins_sample_id = #{id}
          and state = 1
          and ip.son_laboratory = #{laboratory}
          and ins_fiber_id is null
          and ins_fibers_id is null
          and ip.standard_method_list_id is not null
          and ios.laboratory = #{laboratory}
        order by ipr.id, ipr2.id
@@ -821,12 +724,9 @@
        where ins_sample_id = #{id}
          and state = 1
          and ip.son_laboratory = #{laboratory}
          and ins_fiber_id is null
          and ins_fibers_id is null
          and ip.standard_method_list_id is not null
          and ios.laboratory = #{laboratory}
          and ipr2.num = #{num}
          and ipr.num = #{num}
          and (ipr2.num = #{num} or ipr.num = #{num})
        order by ipr.id, ipr2.id
    </select>
@@ -891,7 +791,6 @@
        <result property="lastValue" column="last_value" jdbcType="VARCHAR"/>
        <result property="insResult" column="ip_ins_result" jdbcType="INTEGER"/>
        <result property="state" column="state" jdbcType="INTEGER"/>
        <result property="insBushId" column="ins_bush_id" jdbcType="INTEGER"/>
        <result property="insSampleId" column="ins_sample_id" jdbcType="INTEGER"/>
        <result property="createUser" column="ip_create_user" jdbcType="INTEGER"/>
        <result property="updateUser" column="ip_update_user" jdbcType="INTEGER"/>
@@ -995,4 +894,11 @@
        where ins_order_id = #{orderId}
          and ip.id is not null
    </select>
    <select id="selectSampleListByOrderId" resultType="com.yuanchu.mom.pojo.InsSample">
        select DISTINCT ins_sample.*
        from ins_sample
                 left join ins_product ip on ins_sample.id = ip.ins_sample_id
        where ins_order_id = #{orderId}
          and ip.id is not null
    </select>
</mapper>
inspect-server/src/main/resources/mapper/StandardProductListMapper.xml
@@ -67,7 +67,10 @@
    </select>
    <select id="selectDetail" resultType="com.yuanchu.mom.pojo.StandardProductList">
        select * from standard_product_list
        where standard_method_list_id = #{standardMethodListId}
        where standard_method_list_id in
        <foreach item="id" index="index" collection="ids" open="(" separator="," close=")">
            #{id}
        </foreach>
        and state =#{state}
        and model=#{model}
        order by case when man_hour_group is NULL then 1
@@ -79,7 +82,10 @@
    </select>
    <select id="selectDetail2" resultType="com.yuanchu.mom.pojo.StandardProductList">
        select * from standard_product_list
        where standard_method_list_id = #{standardMethodListId}
        where standard_method_list_id in
        <foreach item="id" index="index" collection="ids" open="(" separator="," close=")">
            #{id}
        </foreach>
          and state =#{state}
          and tree =#{tree}
        order by case when man_hour_group is NULL then 1
user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java
@@ -4,10 +4,12 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.dto.RolePowerDto;
import com.yuanchu.mom.pojo.Role;
import com.yuanchu.mom.service.PowerService;
import com.yuanchu.mom.service.RoleService;
import com.yuanchu.mom.service.UserService;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
@@ -75,4 +77,11 @@
        RolePowerDto powers = JSON.parseObject(str, RolePowerDto.class);
        return Result.success(roleService.upRole(powers));
    }
    @ValueAuth
    @ApiOperation(value = "查看当前用户的角色")
    @GetMapping("/getRole")
    public Result<?> getRole() {
        return Result.success(roleService.getRole());
    }
}
user-server/src/main/java/com/yuanchu/mom/service/RoleService.java
@@ -24,4 +24,5 @@
    int upRole(RolePowerDto rolePowerDto);
    String getRole();
}
user-server/src/main/java/com/yuanchu/mom/service/impl/RoleServiceImp.java
@@ -7,6 +7,7 @@
import com.yuanchu.mom.dto.RolePowerDto;
import com.yuanchu.mom.mapper.PowerMapper;
import com.yuanchu.mom.mapper.RoleMapper;
import com.yuanchu.mom.mapper.UserMapper;
import com.yuanchu.mom.pojo.Menu;
import com.yuanchu.mom.pojo.Power;
import com.yuanchu.mom.pojo.Role;
@@ -29,6 +30,7 @@
    private PowerMapper powerMapper;
    private GetLook getLook;
    private UserMapper userMapper;
    @Override
    public List<Role> selectList() {
@@ -87,4 +89,12 @@
        }
        return 1;
    }
    @Override
    public String getRole() {
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        Integer roleId = userMapper.selectById(userId).getRoleId();
        Role role = roleMapper.selectById(roleId);
        return role.getName();
    }
}
user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java
@@ -111,10 +111,7 @@
    @Override
    public List<User> getUserMenu() {
        List<Integer> roleIds = roleMapper.selectList(Wrappers.<Role>lambdaQuery()
                .ne(Role::getCategory, 10003).or(wrapper -> wrapper.isNull(Role::getCategory))).stream().map(Role::getId).distinct().collect(Collectors.toList());
        return userMapper.selectList(Wrappers.<User>lambdaQuery()
                .in(User::getRoleId, roleIds)
                .eq(User::getState, 1).select(User::getName, User::getId));
    }