zss
2024-07-30 124ecca15d3c5d6dcefa9a27aaa3c07c556674e9
PK8000逻辑处理
已修改9个文件
已添加12个文件
735 ■■■■■ 文件已修改
cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java 33 ●●●● 补丁 | 查看 | 原始文档 | 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/DeviceMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | 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 16 ●●●●● 补丁 | 查看 | 原始文档 | 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/DeviceService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/PkMasterService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/PkSlaveService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkMasterServiceImpl.java 339 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkSlaveServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/resources/mapper/DeviceMapper.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/resources/mapper/PkMasterMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/resources/mapper/PkSlaveMapper.xml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsProductMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
@@ -10,8 +10,10 @@
import com.yuanchu.mom.dto.DeviceDto;
import com.yuanchu.mom.pojo.DataConfig;
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.DataAcquisition;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.vo.Result;
@@ -49,6 +51,9 @@
    @Autowired
    private DataConfigService dataConfigService;
    @Autowired
    private PkMasterService pkMasterService;
    @ValueClassify("设备")
    @ApiOperation(value = "查询设备详情列表")
    @PostMapping("/selectDeviceParameter")
@@ -57,18 +62,21 @@
        DeviceDto itemParameter = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceDto.class);
        return Result.success(deviceService.selectDeviceParameter(page, itemParameter));
    }
    @ValueClassify("设备")
    @ApiOperation(value = "添加设备详情参数")
    @PostMapping("/addDeviceParameter")
    public Result addDeviceParameter(@RequestBody Device itemParameter) {
        return Result.success(deviceService.addDeviceParameter(itemParameter));
    }
    @ValueClassify("设备")
    @ApiOperation(value = "删除设备详情参数")
    @PostMapping("/delDeviceParameter")
    public Result<?> delDeviceParameter(Integer id) {
        return Result.success(deviceService.delDeviceParameter(id));
    }
    @ValueClassify("设备")
    @ApiOperation(value = "修改设备详情参数")
    @PostMapping("/upDeviceParameter")
@@ -169,8 +177,8 @@
    @ApiOperation("/数采-数据采集")
    @GetMapping("/dataCollection")
    public Result<?> dataAcquisition(HttpServletRequest request, @RequestParam("id") Integer id,
                          @RequestParam("entrustCode") String entrustCode,
                          @RequestParam("sampleCode") String sampleCode) {
                                     @RequestParam("entrustCode") String entrustCode,
                                     @RequestParam("sampleCode") String sampleCode) {
        return deviceService.dataAcquisition(request, id, entrustCode, sampleCode);
    }
@@ -231,9 +239,9 @@
                                                       @RequestParam(value = "inspectionItemSubclass", required = false) String inspectionItemSubclass) {
        if (isDevice) {
            List<DataConfig> list = dataConfigService.list(Wrappers.<DataConfig>lambdaQuery()
                .eq(DataConfig::getDeviceId, deviceId)
                .eq(DataConfig::getInspectionItem, inspectionItem)
                .eq(DataConfig::getInspectionItemSubclass, inspectionItemSubclass));
                    .eq(DataConfig::getDeviceId, deviceId)
                    .eq(DataConfig::getInspectionItem, inspectionItem)
                    .eq(DataConfig::getInspectionItemSubclass, inspectionItemSubclass));
            return Result.success(list);
        } else {
            return Result.success(dataConfigService.selectDataConfigList(deviceId));
@@ -256,5 +264,20 @@
    public Result menu() {
        return Result.success(deviceService.menu());
    }
    @ValueClassify("设备")
    @ApiOperation(value = "温度循环数采")
    @PostMapping("/temDataAcquisition")
    public Result<?> temDataAcquisition(@RequestBody PkMaster pkMaster) {
        return Result.success(pkMasterService.temDataAcquisition(pkMaster));
    }
    @ApiOperation(value = "左侧设备树形栏")
    @GetMapping("/treeDevice")
    @ValueAuth
    public Result treeDevice(String deviceName) {
        return Result.success(deviceService.treeDevice(deviceName));
    }
}
cnas-server/src/main/java/com/yuanchu/mom/controller/PkMasterController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package com.yuanchu.mom.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 *  å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-07-29 01:16:26
 */
@RestController
@RequestMapping("/pkMaster")
public class PkMasterController {
}
cnas-server/src/main/java/com/yuanchu/mom/controller/PkSlaveController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package com.yuanchu.mom.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 *  å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-07-29 01:16:39
 */
@RestController
@RequestMapping("/pkSlave")
public class PkSlaveController {
}
cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java
@@ -35,5 +35,7 @@
    IPage<DeviceDto> selectDeviceParameterPage(Page page, @Param("ew") QueryWrapper<DeviceDto> queryWrappers);
    List<Map<String, Object>> getInspectionItemSubclass(@Param("id") Integer id);
    List<Map<String, Object>> treeDevice(@Param("deviceName") String deviceName);
}
cnas-server/src/main/java/com/yuanchu/mom/mapper/PkMasterMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.mom.mapper;
import com.yuanchu.mom.pojo.PkMaster;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper æŽ¥å£
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-07-29 01:16:26
 */
public interface PkMasterMapper extends BaseMapper<PkMaster> {
}
cnas-server/src/main/java/com/yuanchu/mom/mapper/PkSlaveMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.mom.mapper;
import com.yuanchu.mom.pojo.PkSlave;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper æŽ¥å£
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-07-29 01:16:39
 */
public interface PkSlaveMapper extends BaseMapper<PkSlave> {
}
cnas-server/src/main/java/com/yuanchu/mom/pojo/PkMaster.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
package com.yuanchu.mom.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import com.yuanchu.mom.common.OrderBy;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
 * <p>
 *
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-07-29 01:16:26
 */
@Getter
@Setter
@TableName("device_pk_master")
@ApiModel(value = "PkMaster对象", description = "温度循环数采子表")
public class PkMaster extends OrderBy implements Serializable {
    @ApiModelProperty("主键id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty("委托单编号")
    private String entrustCode;
    @ApiModelProperty("样品编号")
    private String sampleCode;
    @ApiModelProperty("型号")
    private String model;
    @ApiModelProperty("循环次数")
    private String cycles;
    @ApiModelProperty("温度循环")
    private String temperature;
    @ApiModelProperty("光纤根数")
    private Integer numberOpticalFibers;
    @ApiModelProperty("device_pk_slave关联字段")
    private String isid;
    @ApiModelProperty("检验时间")
    private LocalDateTime detectionDate;
    @ApiModelProperty("检验人")
    private String detectionPeople;
}
cnas-server/src/main/java/com/yuanchu/mom/pojo/PkSlave.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
package com.yuanchu.mom.pojo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.yuanchu.mom.common.OrderBy;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
 * <p>
 *
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-07-29 01:16:39
 */
@Getter
@Setter
@TableName("device_pk_slave")
@ApiModel(value = "PkSlave对象", description = "温度循环数采子表")
public class PkSlave  extends OrderBy implements Serializable {
    @ApiModelProperty("主键id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty("衰减系统1310(dB/km)-A端")
    private Double weaken1310A;
    @ApiModelProperty("衰减系统1310(dB/km)-B端")
    private Double weaken1310B;
    @ApiModelProperty("衰减系统1550(dB/km)-A端")
    private Double weaken1550A;
    @ApiModelProperty("衰减系统1550(dB/km)-B端")
    private Double weaken1550B;
    @ApiModelProperty("衰减系统1625(dB/km)-A端")
    private Double weaken1625A;
    @ApiModelProperty("衰减系统1625(dB/km)-B端")
    private Double weaken1625B;
    @ApiModelProperty("衰减系统1383(dB/km)-A端")
    private Double weaken1383A;
    @ApiModelProperty("衰减系统1383(dB/km)-B端")
    private Double weaken1383B;
    @ApiModelProperty("衰减系统1490(dB/km)-A端")
    private Double weaken1490A;
    @ApiModelProperty("衰减系统1490(dB/km)-B端")
    private Double weaken1490B;
    @ApiModelProperty("管色标id")
    private String insBushingId;
    @ApiModelProperty("光纤带id")
    private String insFibersId;
    @ApiModelProperty("光纤编号id")
    private String insFiberId;
    @ApiModelProperty("device_pk_master关联字段")
    private String shiftId;
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
}
cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java
@@ -5,6 +5,7 @@
import com.yuanchu.mom.dto.ADto;
import com.yuanchu.mom.dto.DeviceDto;
import com.yuanchu.mom.pojo.Device;
import com.yuanchu.mom.pojo.PkMaster;
import com.yuanchu.mom.vo.Result;
import javax.servlet.http.HttpServletRequest;
@@ -39,4 +40,6 @@
    Result<?> dataAcquisition(HttpServletRequest request, Integer id, String entrustCode, String sampleCode);
    List<ADto> menu();
    List<Map<String, Object>> treeDevice(String deviceName);
}
cnas-server/src/main/java/com/yuanchu/mom/service/PkMasterService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package com.yuanchu.mom.service;
import com.yuanchu.mom.pojo.PkMaster;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 *  æœåŠ¡ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-07-29 01:16:26
 */
public interface PkMasterService extends IService<PkMaster> {
    //温度循环数采
    int temDataAcquisition(PkMaster pkMaster);
}
cnas-server/src/main/java/com/yuanchu/mom/service/PkSlaveService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.mom.service;
import com.yuanchu.mom.pojo.PkSlave;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 *  æœåŠ¡ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-07-29 01:16:39
 */
public interface PkSlaveService extends IService<PkSlave> {
}
cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
@@ -956,4 +956,14 @@
        return aDtos;
    }
    @Override
    public List<Map<String, Object>> treeDevice(String deviceName) {
        List<Map<String, Object>>  listMap = deviceMapper.treeDevice(deviceName);
       /* Map<String, List<Device>> listMap = devices.stream()
                .collect(Collectors.groupingBy(device ->
                        device.getLargeCategory() != null ? device.getLargeCategory() : "其他"
                ));*/
        return listMap;
    }
}
cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkMasterServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,339 @@
package com.yuanchu.mom.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
import com.yuanchu.mom.service.InsOrderPlanService;
import com.yuanchu.mom.service.PkMasterService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.vo.ProductVo;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.*;
/**
 * <p>
 * æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-07-29 01:16:26
 */
@Service
public class PkMasterServiceImpl extends ServiceImpl<PkMasterMapper, PkMaster> implements PkMasterService {
    @Resource
    private PkMasterMapper pkMasterMapper;
    @Resource
    private PkSlaveMapper pkSlaveMapper;
    @Resource
    private InsOrderMapper insOrderMapper;
    @Resource
    private InsSampleMapper insSampleMapper;
    @Resource
    private InsProductMapper insProductMapper;
    @Resource
    private InsProductResultMapper insProductResultMapper;
    @Resource
    private InsProductUserMapper insProductUserMapper;
    @Resource
    private UserMapper userMapper;
    @Resource
    private InsOrderPlanService insOrderPlanService;
    @Resource
    GetLook getLook;
    //温度循环数采
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int temDataAcquisition(PkMaster pkMaster) {
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        //查询数采关联的子表信息
        PkMaster master = pkMasterMapper.selectOne(Wrappers.<PkMaster>lambdaQuery()
                .eq(PkMaster::getEntrustCode, pkMaster.getEntrustCode())
                .eq(PkMaster::getSampleCode, pkMaster.getSampleCode())
                .eq(PkMaster::getModel, pkMaster.getModel())
                .eq(PkMaster::getTemperature, pkMaster.getTemperature()));
        if (ObjectUtils.isEmpty(master)) {
            throw new ErrorException("没有找到对应委托单" + pkMaster.getEntrustCode() + "的数采数据");
        }
        List<PkSlave> pkSlaves = pkSlaveMapper.selectList(Wrappers.<PkSlave>lambdaQuery().eq(PkSlave::getShiftId, master.getIsid()));
        if (CollectionUtils.isEmpty(pkSlaves)) {
            throw new ErrorException("没有找到对应委托单" + pkMaster.getEntrustCode() + "的数采子数据");
        }
        //查询对应的检验单表
        InsOrder insOrder = insOrderMapper.selectOne(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getState, 1).eq(InsOrder::getEntrustCode, pkMaster.getEntrustCode()));
        if (ObjectUtils.isEmpty(insOrder)) {
            throw new ErrorException("没有找到对应委托单" + pkMaster.getEntrustCode());
        }
        //查询对应检验样品id
        InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
                .eq(InsSample::getInsOrderId, insOrder.getId())
                .eq(InsSample::getSampleCode, pkMaster.getSampleCode())
                .eq(InsSample::getModel, pkMaster.getModel()));
        if (ObjectUtils.isEmpty(insSample)) {
            throw new ErrorException("没有找到对应委托单下的该样品" + pkMaster.getSampleCode());
        }
        //查询对应检验项目
        Map<String, Object> map = insOrderPlanService.temCycle(insSample.getId(), pkMaster.getCycles(), pkMaster.getTemperature());
        List<ProductVo> productVos = (List<ProductVo>) map.get("productVos");
        if (CollectionUtils.isEmpty(map)) {
            throw new ErrorException("没有找到对应委托单下该样品的相关温度循环检验项目的循环" + pkMaster.getCycles() + "次+温度" + pkMaster.getTemperature());
        }
        //todo å¦‚果温度循环的项目nm有改动这里需要改动 @zss
        for (PkSlave pkSlave : pkSlaves) {
            for (ProductVo productVo : productVos) {
                if (pkSlave.getInsBushingId().equals(productVo.getBushColor()) &&
                        pkSlave.getInsFibersId().equals(productVo.getCode()) &&
                        pkSlave.getInsFiberId().equals(productVo.getColor())) {
                    //找到对应的数据(对应套管光纤的数据)
                    List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, productVo.getInsProduct().getId()));
                    InsProductResult result;
                    if (CollectionUtils.isEmpty(results)) {
                        result = new InsProductResult();
                    } else {
                        result = results.get(0);
                    }
                    result.setInsProductId(productVo.getInsProduct().getId());//检验项目id
                    List<Map<String, Object>> iv = new ArrayList<>();
                    List<Map<String, Object>> cv = new ArrayList<>();
                    if (productVo.getInsProduct().getInspectionItemClass().equals("1310nm")) {
                        //1310nm外端
                        Map<String, Object> map1 = new HashMap<>();
                        map1.put("u", userId + "");
                        map1.put("v", pkSlave.getWeaken1310A());
                        iv.add(map1);
                        //1310nm内端
                        Map<String, Object> map2 = new HashMap<>();
                        map2.put("u", userId + "");
                        map2.put("v", pkSlave.getWeaken1310B());
                        iv.add(map2);
                        //1310nm衰减系数
                        Map<String, Object> map3 = new HashMap<>();
                        map3.put("v", (pkSlave.getWeaken1310A() + pkSlave.getWeaken1310B()) / 2);
                        cv.add(map3);
                    }
                    else if (productVo.getInsProduct().getInspectionItemClass().equals("1550nm")) {
                        //1550nm外端
                        Map<String, Object> map1 = new HashMap<>();
                        map1.put("u", userId + "");
                        map1.put("v", pkSlave.getWeaken1550A());
                        iv.add(map1);
                        //1550nm内端
                        Map<String, Object> map2 = new HashMap<>();
                        map2.put("u", userId + "");
                        map2.put("v", pkSlave.getWeaken1550B());
                        iv.add(map2);
                        //1550nm衰减系数
                        Map<String, Object> map3 = new HashMap<>();
                        map3.put("v", (pkSlave.getWeaken1550A() + pkSlave.getWeaken1550B()) / 2);
                        cv.add(map3);
                    }
                    else if (productVo.getInsProduct().getInspectionItemClass().equals("1625nm")) {
                        //1625nm外端
                        Map<String, Object> map1 = new HashMap<>();
                        map1.put("u", userId + "");
                        map1.put("v", pkSlave.getWeaken1625A());
                        iv.add(map1);
                        //1625nm内端
                        Map<String, Object> map2 = new HashMap<>();
                        map2.put("u", userId + "");
                        map2.put("v", pkSlave.getWeaken1625B());
                        iv.add(map2);
                        //1625nm衰减系数
                        Map<String, Object> map3 = new HashMap<>();
                        map3.put("v", (pkSlave.getWeaken1625A() + pkSlave.getWeaken1625B()) / 2);
                        cv.add(map3);
                    }
                    else if (productVo.getInsProduct().getInspectionItemClass().equals("1383nm")) {
                        //1383nm外端
                        Map<String, Object> map1 = new HashMap<>();
                        map1.put("u", userId + "");
                        map1.put("v", pkSlave.getWeaken1383A());
                        iv.add(map1);
                        //1383nm内端
                        Map<String, Object> map2 = new HashMap<>();
                        map2.put("u", userId + "");
                        map2.put("v", pkSlave.getWeaken1383B());
                        iv.add(map2);
                        //1383nm衰减系数
                        Map<String, Object> map3 = new HashMap<>();
                        map3.put("v", (pkSlave.getWeaken1383A() + pkSlave.getWeaken1383B()) / 2);
                        cv.add(map3);
                    }
                    else if (productVo.getInsProduct().getInspectionItemClass().equals("1490nm")) {
                        //1490nm外端
                        Map<String, Object> map1 = new HashMap<>();
                        map1.put("u", userId + "");
                        map1.put("v", pkSlave.getWeaken1490A());
                        iv.add(map1);
                        //1490nm内端
                        Map<String, Object> map2 = new HashMap<>();
                        map2.put("u", userId + "");
                        map2.put("v", pkSlave.getWeaken1490B());
                        iv.add(map2);
                        //1490nm衰减系数
                        Map<String, Object> map3 = new HashMap<>();
                        map3.put("v", (pkSlave.getWeaken1490A() + pkSlave.getWeaken1490B()) / 2);
                        cv.add(map3);
                    }
                    else {
                        throw new ErrorException("没有找到该温度的检验项目" + productVo.getInsProduct().getInspectionItemClass());
                    }
                    result.setInsValue(JSON.toJSONString(iv));//检验值
                    result.setComValue(JSON.toJSONString(cv));//计算值
                    result.setEquipValue(null);//设备编号
                    result.setEquipName(null);//设备名称
                    if (BeanUtil.isEmpty(result.getId())) {
                        result.setCreateUser(userId);
                        result.setUpdateUser(userId);
                        insProductResultMapper.insert(result);
                    } else {
                        result.setUpdateUser(userId);
                        result.setUpdateTime(LocalDateTime.now());
                        insProductResultMapper.updateById(result);
                    }
                    InsProduct insProduct = productVo.getInsProduct();
                    String comple = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId())).getComValue().split(":")[1].split("\"")[1];
                    //首先查看温度是否是20度常温
                    if (!pkMaster.getTemperature().equals("20℃(常温)")) {
                        //如果不是先查询是否有值
                        int a = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                                .eq(InsProduct::getInsSampleId, insSample.getId())
                                .eq(InsProduct::getInspectionItem, "1")
                                .eq(InsProduct::getInspectionItemSubclass, "20℃(常温)")).stream().map(InsProduct::getInsResult).anyMatch(ObjectUtils::isEmpty) ? 1 : 0;
                        if (a == 1) {
                            throw new ErrorException("先获取20℃(常温)的检验值,再获取其他温度" + pkMaster.getSampleCode());
                        } else {
                            //计算衰减差
                            InsProduct insPro = null;
                            switch (insProduct.getInspectionItemClass()) {
                                case "1310nm":
                                    //查询20℃(常温)1310nm的衰减系数
                                    try {
                                        insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
                                                .eq(InsProduct::getInsSampleId, insSample.getId())
                                                .eq(InsProduct::getInspectionItem, "1")
                                                .eq(InsProduct::getInspectionItemSubclass, "20℃(常温)")
                                                .eq(InsProduct::getInspectionItemClass, "1310nm")
                                                .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
                                    } catch (Exception e) {
                                        throw new ErrorException("没有查到20℃(常温),1310nm项目" + productVo.getInsProduct().getInsFiberId() + "光纤的检验项目");
                                    }
                                    break;
                                case "1550nm":
                                    //查询20℃(常温)1550nm的衰减系数
                                    try {
                                        insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
                                                .eq(InsProduct::getInsSampleId, insSample.getId())
                                                .eq(InsProduct::getInspectionItem, "1")
                                                .eq(InsProduct::getInspectionItemSubclass, "20℃(常温)")
                                                .eq(InsProduct::getInspectionItemClass, "1550nm")
                                                .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
                                    } catch (Exception e) {
                                        throw new ErrorException("没有查到20℃(常温),1625nm项目" + productVo.getInsProduct().getInsFiberId() + "光纤的检验项目");
                                    }
                                    break;
                                case "1625nm":
                                    //查询20℃(常温)1625nm的衰减系数
                                    try {
                                        insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
                                                .eq(InsProduct::getInsSampleId, insSample.getId())
                                                .eq(InsProduct::getInspectionItem, "1")
                                                .eq(InsProduct::getInspectionItemSubclass, "20℃(常温)")
                                                .eq(InsProduct::getInspectionItemClass, "1625nm")
                                                .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
                                    } catch (Exception e) {
                                        throw new ErrorException("没有查到20℃(常温),1625nm项目" + productVo.getInsProduct().getInsFiberId() + "光纤的检验项目");
                                    }
                                    break;
                                case "1383nm":
                                    //查询20℃(常温)1383nm的衰减系数
                                    try {
                                        insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
                                                .eq(InsProduct::getInsSampleId, insSample.getId())
                                                .eq(InsProduct::getInspectionItem, "1")
                                                .eq(InsProduct::getInspectionItemSubclass, "20℃(常温)")
                                                .eq(InsProduct::getInspectionItemClass, "1383nm")
                                                .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
                                    } catch (Exception e) {
                                        throw new ErrorException("没有查到20℃(常温),1383nm项目" + productVo.getInsProduct().getInsFiberId() + "光纤的检验项目");
                                    }
                                    break;
                                case "1490nm":
                                    //查询20℃(常温)1490nm的衰减系数
                                    try {
                                        insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
                                                .eq(InsProduct::getInsSampleId, insSample.getId())
                                                .eq(InsProduct::getInspectionItem, "1")
                                                .eq(InsProduct::getInspectionItemSubclass, "20℃(常温)")
                                                .eq(InsProduct::getInspectionItemClass, "1490nm")
                                                .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
                                    } catch (Exception e) {
                                        throw new ErrorException("没有查到20℃(常温),1490nm项目" + productVo.getInsProduct().getInsFiberId() + "光纤的检验项目");
                                    }
                                    break;
                            }
                            InsProductResult insProductRes = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId()));
                            insProduct.setLastValue(String.valueOf(Math.abs(Double.parseDouble(insProductRes.getComValue().split(":")[1].split("\"")[1]) - Double.parseDouble(comple))));
                            String ask = insProduct.getAsk();
                            int insResult=1;
                            switch (ask.charAt(0)) {
                                case '<':
                                    insResult = Double.parseDouble(insProduct.getLastValue()) < Double.parseDouble(ask.substring(1)) ? 1 : 0;
                                    break;
                                case '>':
                                    insResult = Double.parseDouble(insProduct.getLastValue()) > Double.parseDouble(ask.substring(1)) ? 1 : 0;
                                    break;
                                case '=':
                                    insResult = Double.parseDouble(insProduct.getLastValue()) == Double.parseDouble(ask.substring(1)) ? 1 : 0;
                                    break;
                                case '≤':
                                    insResult = Double.parseDouble(insProduct.getLastValue()) <= Double.parseDouble(ask.substring(1)) ? 1 : 0;
                                    break;
                                case '≥':
                                    insResult = Double.parseDouble(insProduct.getLastValue()) >= Double.parseDouble(ask.substring(1)) ? 1 : 0;
                                    break;
                            }
                            insProduct.setInsResult(insResult);
                        }
                    }
                    else {
                        //如果是20度常温,需要给出合格的结论
                        insProduct.setInsResult(1);//20度常温的检验项默认为合格
                    }
                    insProduct.setUpdateUser(userId);
                    insProductMapper.updateById(insProduct);
                    User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, pkMaster.getDetectionPeople()));
                    if (ObjectUtils.isNotEmpty(user)){
                        throw new ErrorException("lims系统没有找到该用户"+ pkMaster.getDetectionPeople());
                    }
                    insProductUserMapper.insert(new InsProductUser(null, user.getId(), pkMaster.getDetectionDate(), insProduct.getId()));
                }
            }
        }
        return 0;
    }
}
cnas-server/src/main/java/com/yuanchu/mom/service/impl/PkSlaveServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.yuanchu.mom.service.impl;
import com.yuanchu.mom.pojo.PkSlave;
import com.yuanchu.mom.mapper.PkSlaveMapper;
import com.yuanchu.mom.service.PkSlaveService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 *  æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-07-29 01:16:39
 */
@Service
public class PkSlaveServiceImpl extends ServiceImpl<PkSlaveMapper, PkSlave> implements PkSlaveService {
}
cnas-server/src/main/resources/mapper/DeviceMapper.xml
@@ -118,9 +118,32 @@
    </select>
    <select id="getInspectionItemSubclass" resultType="map">
        SELECT ip.inspection_item, if(ip.inspection_item_subclass is not null and ip.inspection_item_subclass != '',
                                      ip.inspection_item_subclass, ip.inspection_item) inspection_item_subclass
        SELECT ip.inspection_item,
               if(ip.inspection_item_subclass is not null and ip.inspection_item_subclass != '',
                  ip.inspection_item_subclass, ip.inspection_item) inspection_item_subclass
        FROM ins_product ip
        where ip.ins_sample_id = #{id}
    </select>
    <resultMap id="treeDeviceDto" type="map">
        <result property="largeCategory" column="large_category"/>
        <collection property="children" resultMap="DeviceDto" javaType="List"/>
    </resultMap>
    <resultMap id="DeviceDto" type="map">
        <id property="id" column="id"/>
        <result property="deviceName" column="device_name"/>
    </resultMap>
    <select id="treeDevice" resultMap="treeDeviceDto">
        select id,
        case  when large_category is null || large_category ='' then '其他'
        else large_category end  as large_category, device_name
        from device
        <where>
            <if test="deviceName!=null and deviceName!=''">
                and device_name like concat('%',#{deviceName},'%')
            </if>
        </where>
    </select>
</mapper>
cnas-server/src/main/resources/mapper/PkMasterMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
<?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.mom.mapper.PkMasterMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.PkMaster">
        <id column="id" property="id" />
        <result column="entrust_code" property="entrustCode" />
        <result column="sample_code" property="sampleCode" />
        <result column="model" property="model" />
        <result column="cycles" property="cycles" />
        <result column="temperature" property="temperature" />
        <result column="number_optical_fibers" property="numberOpticalFibers" />
        <result column="ISID" property="isid" />
        <result column="detection_date" property="detectionDate" />
        <result column="detection_people" property="detectionPeople" />
    </resultMap>
</mapper>
cnas-server/src/main/resources/mapper/PkSlaveMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
<?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.mom.mapper.PkSlaveMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.PkSlave">
        <id column="id" property="id" />
        <result column="weaken_1310_A" property="weaken1310A" />
        <result column="weaken_1310_B" property="weaken1310B" />
        <result column="weaken_1550_A" property="weaken1550A" />
        <result column="weaken_1550_B" property="weaken1550B" />
        <result column="weaken_1625_A" property="weaken1625A" />
        <result column="weaken_1625_B" property="weaken1625B" />
        <result column="weaken_1383_A" property="weaken1383A" />
        <result column="weaken_1383_B" property="weaken1383B" />
        <result column="weaken_1490_A" property="weaken1490A" />
        <result column="weaken_1490_B" property="weaken1490B" />
        <result column="ins_bushing_id" property="insBushingId" />
        <result column="ins_fibers_id" property="insFibersId" />
        <result column="ins_fiber_id" property="insFiberId" />
        <result column="shift_id" property="shiftId" />
        <result column="create_time" property="createTime" />
    </resultMap>
</mapper>
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java
@@ -112,6 +112,6 @@
    private Integer parentId;
    @TableField(select = false,exist = false)
    private Integer num;
    private Integer num=1;
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -399,7 +399,7 @@
                                ProductVo productVo = new ProductVo();
                                productVo.setCode(insFiber.getCode());
                                productVo.setColor(fiber.getColor());
                                productVo.setBushColor(fiber.getBushColor());
                                productVo.setBushColor(insBushing.getColor());
                                if (ObjectUtils.isNotEmpty(insProductResult)) {
                                    insProduct.setInsProductResult(insProductResult);
                                }
@@ -432,7 +432,7 @@
                        for (InsProduct insProduct : insProducts) {
                            InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
                            ProductVo productVo = new ProductVo();
                            productVo.setCode("/");
                            productVo.setCode("-");
                            productVo.setColor(fiber.getColor());
                            productVo.setBushColor(fiber.getBushColor());
                            insProduct.setInsProductResult(insProductResult);
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -159,7 +159,7 @@
        insOrder.setState(0);
        String code = customMapper.selectById(insOrder.getCompanyId()).getCode2();
        //insOrder.setEntrustCode(giveCode.giveCode("JCZX-" + code + "-", "ins_order", "", "yyMMdd"));
        String giveCode = this.giveCode.giveCode("JCZX-" + code + "-", "ins_order", "", "yyMMdd");
        String giveCode = this.giveCode.giveCode("JCZX-" + code + "-", "ins_sample", "", "yyMMdd");
        insOrderMapper.insert(insOrder);
        AtomicInteger count = new AtomicInteger();
        list.forEach(a -> {
inspect-server/src/main/resources/mapper/InsProductMapper.xml
@@ -74,7 +74,7 @@
               ip.inspection_item_subclass,
               ip.laboratory,
               ip.unit,
               ipr.equip_value,
               ipr.equip_name equipValue,
               io.entrust_code,
               ipr.update_time,
               ip.ins_result,
@@ -86,6 +86,7 @@
                 left join user u on u.id = ipr.update_user
        where ip.ins_sample_id = #{sampleId}
          and ip.ins_result is not null
        and template_id is not null
    </select>
    <select id="selectFiberInsProduct" resultType="com.yuanchu.mom.pojo.InsProduct">
        select * from ins_product