晏有为
2024-05-23 34ddd63acb70ad5b0fe218e4f4e7afb4d195d8f8
导入检验对象
已修改10个文件
已添加2个文件
282 ■■■■■ 文件已修改
cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java 222 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/StructureItemParameterService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/StructureItemParameterServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTemplateMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/StandardTemplateMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/pojo/Enums.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java
@@ -1,22 +1,43 @@
package com.yuanchu.mom.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Console;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.sax.handler.RowHandler;
import com.alibaba.excel.util.StringUtils;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.PageTestObjectDto;
import com.yuanchu.mom.pojo.Product;
import com.yuanchu.mom.pojo.StructureItemParameter;
import com.yuanchu.mom.pojo.StructureTestObject;
import com.yuanchu.mom.service.CapacityScopeService;
import com.yuanchu.mom.service.ProductService;
import com.yuanchu.mom.pojo.*;
import com.yuanchu.mom.service.*;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.*;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
 * æ£€éªŒé¡¹ç›®å‚æ•°(StructureItemParameter)表控制层
@@ -34,6 +55,10 @@
    private ProductService productService;
    private StructureItemParameterService structureItemParameterService;
    private StandardTemplateService standardTemplateService;
    @ValueClassify("能力范围")
    @ApiOperation(value = "获取项目检验参数列表")
    @PostMapping("/selectItemParameterList")
@@ -42,24 +67,28 @@
        StructureItemParameter itemParameter = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), StructureItemParameter.class);
        return Result.success(capacityScopeService.selectItemParameterList(page, itemParameter));
    }
    @ValueClassify("能力范围")
    @ApiOperation(value = "添加项目检验参数")
    @PostMapping("/addItemParameter")
    public Result addItemParameter(@RequestBody StructureItemParameter itemParameter) {
        return Result.success(capacityScopeService.addItemParameter(itemParameter));
    }
    @ValueClassify(value="能力范围")
    @ApiOperation(value = "删除项目检验参数")
    @PostMapping("/delItemParameter")
    public Result<?> delItemParameter(Integer id) {
        return Result.success(capacityScopeService.delItemParameter(id));
    }
    @ValueClassify(value="能力范围")
    @ApiOperation(value = "修改项目检验参数")
    @PostMapping("/upItemParameter")
    public Result<?> upItemParameter(@RequestBody StructureItemParameter itemParameter) {
        return Result.success(capacityScopeService.upItemParameter(itemParameter));
    }
    @ValueClassify(value="能力范围")
    @ApiOperation(value = "获取检验对象")
    @PostMapping("/selectTestObjectList")
@@ -68,36 +97,42 @@
        PageTestObjectDto pageTestObjectDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), PageTestObjectDto.class);
        return Result.success(capacityScopeService.selectTestObjectList(page, pageTestObjectDto));
    }
    @ValueClassify(value="能力范围")
    @ApiOperation(value = "添加检验对象")
    @PostMapping("/addTestObject")
    public Result addTestObject(@RequestBody StructureTestObject testObject) {
        return Result.success(capacityScopeService.addTestObject(testObject));
    }
    @ValueClassify(value="能力范围")
    @ApiOperation(value = "删除检验对象")
    @PostMapping("/delTestObject")
    public Result<?> delTestObject(Integer id) {
        return Result.success(capacityScopeService.delTestObject(id));
    }
    @ValueClassify(value="能力范围")
    @ApiOperation(value = "修改检验对象")
    @PostMapping("/upTestObject")
    public Result upTestObject(@RequestBody StructureTestObject testObject) {
        return Result.success(capacityScopeService.upTestObject(testObject));
    }
    @ValueAuth
    @ApiOperation(value = "获取检验对象枚举")
    @GetMapping("/selectTestObjectByName")
    public Result selectTestObjectByName() {
        return Result.success(capacityScopeService.selectTestObjectByName());
    }
    @ValueClassify("设备")
    @ApiOperation(value = "设备里面选择检验项目(树形结构)")
    @PostMapping("/getInsProduction")
    public Result getInsProduction(){
        return Result.success(capacityScopeService.getInsProduction());
    }
    @ValueClassify(value="能力范围")
    @ApiOperation(value = "维护检验对象的产品")
    @PostMapping("/selectProductListByObjectId")
@@ -106,18 +141,21 @@
        Product product = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), Product.class);
        return Result.success(productService.selectProductListByObjectId(page, product));
    }
    @ValueClassify(value="能力范围")
    @ApiOperation(value = "添加产品")
    @PostMapping("/addProduct")
    public Result addProduct(@RequestBody Product product) {
        return Result.success(productService.addProduct(product));
    }
    @ValueClassify(value="能力范围")
    @ApiOperation(value = "修改产品")
    @PostMapping("/upProduct")
    public Result upProduct(@RequestBody Product product) {
        return Result.success(productService.upProduct(product));
    }
    @ValueClassify(value="能力范围")
    @ApiOperation(value = "删除产品")
    @PostMapping("/delProduct")
@@ -132,5 +170,177 @@
        return Result.success(capacityScopeService.getItemTree());
    }
    @Autowired
    private EnumService enumService;
    @ValueClassify(value = "能力范围")
    @ApiOperation(value = "导入")
    @PostMapping("/importData")
    @Transactional
    public Result importData(@RequestParam("file") MultipartFile file) throws Exception {
        InputStream inputStream = file.getInputStream();
        ExcelUtil.readBySax(inputStream, 0, (i, l, list1) -> {
            if (i == 0 && l >= 1) {
                StructureItemParameter str = new StructureItemParameter();
                if (list1.get(1) == null) {
                    str.setSample(null);
                } else {
                    String brand = (String) list1.get(1);
                    StringBuilder builder = new StringBuilder();
                    builder.append("[");
                    if (ObjectUtil.isNotEmpty(list1.get(2))){
                        String production = (String) list1.get(2);
                        if (!production.contains("、")){
                            builder.append(String.format("[\"%s\",\"%s\"]",brand,production));
                        }else{
                            Arrays.stream(production.split("、")).forEach(item->{
                                builder.append(String.format("[\"%s\",\"%s\"],",brand,item));
                            });
                            builder.deleteCharAt(builder.length() - 1);
                        }
                    }else{
                        builder.append("[");
                        builder.append(String.format("\"%s\"",brand));
                        builder.append("]");
                    }
                    builder.append("]");
                    str.setSample(builder.toString());
                }
                str.setInspectionItem(list1.get(4).toString());
                if (list1.get(6) == null) {
                    str.setInspectionItemSubclass(null);
                } else {
                    str.setInspectionItemSubclass(list1.get(6).toString());
                }
                StructureItemParameter db_str = null;
                if (StringUtils.isEmpty(str.getInspectionItemSubclass())){
                    // æ¯”较两个条件
                    db_str = structureItemParameterService.getOne(Wrappers.lambdaQuery(StructureItemParameter.class)
                            .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
                            .eq(StructureItemParameter::getSample, str.getSample())
                    );
                }else{
                    db_str = structureItemParameterService.getOne(Wrappers.lambdaQuery(StructureItemParameter.class)
                            .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
                            .eq(StructureItemParameter::getSample, str.getSample())
                            .eq(StructureItemParameter::getInspectionItemSubclass,str.getInspectionItemSubclass())
                    );
                }
                str.setInspectionItemEn(list1.get(5).toString());
                if (list1.get(7) == null) {
                    str.setInspectionItemSubclassEn(null);
                } else {
                    str.setInspectionItemSubclassEn(String.valueOf(list1.get(7).toString()));
}
                if (list1.get(8) == null) {
                    str.setMethod(null);
                } else {
                    StringBuffer buffer = new StringBuffer();
                    String input = list1.get(8).toString();
                    buffer.append("[");
                    String[] values = input.split("、");
                    for (String value : values) {
                        buffer.append("[\"").append(value.trim()).append("\"],");
                    }
                    buffer.deleteCharAt(buffer.length() - 1);
                    buffer.append("]");
                    str.setMethod(buffer.toString());
                }
                if (list1.get(9) == null) {
                    str.setLaboratory(null);
                } else {
                    str.setLaboratory(list1.get(9).toString());
                }
                if (list1.get(10) == null) {
                    str.setUnit(null);
                } else {
                    str.setUnit(list1.get(10).toString());
                }
                if (list1.get(11) == null) {
                    str.setAskTell(null);
                } else {
                    str.setAskTell(list1.get(11).toString());
                }
                if (list1.get(12) == null) {
                    str.setAsk(null);
                } else {
                    str.setAsk(list1.get(12).toString());
                }
                if (list1.get(13) == null) {
                    str.setPrice(null);
                } else {
                    str.setPrice(BigDecimal.valueOf(Long.parseLong((list1.get(13).toString()))));
                }
                if (list1.get(14) == null) {
                    str.setManHour(null);
                } else {
                    str.setManHour(Double.valueOf(list1.get(14).toString()));
                }
                if (list1.get(15) == null) {
                    str.setManHourGroup(null);
                } else {
                    str.setManHourGroup(list1.get(15).toString());
                }
                if (list1.get(16) == null) {
                    str.setManDay(null);
                } else {
                    str.setManDay(Integer.valueOf(list1.get(16).toString()));
                }
                String jy = "0";
                if (list1.get(17).toString().equals("非采集类型")) {
                    jy = "0";
                } else {
                    jy = "1";
                }
                str.setInspectionItemType(jy);
                String validateValueType = list1.get(18).toString();
                if (StringUtils.isNotBlank(validateValueType)){
                    Enums enums = enumService.getOne(Wrappers.lambdaQuery(Enums.class)
                            .eq(Enums::getCategory, "检验值类型")
                            .eq(Enums::getLabel, validateValueType));
                    str.setInspectionValueType(enums.getValue());
                }
                int bsm = 0;
                if (list1.get(19).toString().equals("否")) {
                    bsm = 0;
                } else {
                    bsm = 1;
                }
                str.setBsm(bsm + "");
                StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list1.get(20)));
                if (standTempIdByName != null) {
                    str.setTemplateId(standTempIdByName.getId());
                } else {
                    str.setTemplateId(null);
                }
                str.setSonLaboratory(list1.get(21).toString());
                structureItemParameterService.removeNoSample(JSON.toJSONString(list1.get(1)));
                System.out.println(JSON.toJSONString(list1.get(1)));
                // å¦‚果数据库里面的数据存在那么就执行更新拷贝操作
                try {
                    if (ObjectUtils.isNotEmpty(db_str)){
                        str.setId(db_str.getId());
                        // å°† str è¿›è¡Œæ›´æ–°
                        structureItemParameterService.updateById(str);
                    }else{
                        structureItemParameterService.save(str);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new RuntimeException("服务端报错啦!!!");
                }
            }
        });
        return Result.success();
    }
}
cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.TestItemDto;
import com.yuanchu.mom.pojo.StructureItemParameter;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@@ -23,5 +24,7 @@
    List<Map<String, Object>> getInsProduction();
    List<TestItemDto> getItemTree();
    int removeNoSample(@Param("sample") String sample);
}
cnas-server/src/main/java/com/yuanchu/mom/service/StructureItemParameterService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.mom.pojo.Product;
import com.yuanchu.mom.pojo.StructureItemParameter;
public interface StructureItemParameterService extends IService<StructureItemParameter> {
    void removeNoSample(String sample);
}
cnas-server/src/main/java/com/yuanchu/mom/service/impl/StructureItemParameterServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.mapper.ProductMapper;
import com.yuanchu.mom.mapper.StructureItemParameterMapper;
import com.yuanchu.mom.pojo.Product;
import com.yuanchu.mom.pojo.StructureItemParameter;
import com.yuanchu.mom.service.StructureItemParameterService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
@AllArgsConstructor
public class StructureItemParameterServiceImpl extends ServiceImpl<StructureItemParameterMapper, StructureItemParameter> implements StructureItemParameterService {
    @Resource
    private StructureItemParameterMapper structureItemParameterMapper;
    @Override
    public void removeNoSample(String sample) {
        structureItemParameterMapper.removeNoSample("金具");
        return;
    }
}
cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml
@@ -3,6 +3,9 @@
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.mom.mapper.StructureItemParameterMapper">
    <delete id="removeNoSample">
        delete from structure_item_parameter where sample like concat('%',#{sample},'%')
    </delete>
    <select id="selectItemParameterList" resultType="com.yuanchu.mom.pojo.StructureItemParameter">
        select id,
        inspection_item,
inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java
inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTemplateMapper.java
@@ -15,6 +15,7 @@
    IPage<StandardTemplate> selectStandardTemplatePageList(IPage<StandardTemplate> page, QueryWrapper<StandardTemplate> ew);
    StandardTemplate getStandTempIdByName(String name);
}
inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java
@@ -28,4 +28,6 @@
    String getStandTempNameById(Integer templateId);
    StandardTemplate getStandTempIdByName(String name);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java
@@ -79,8 +79,9 @@
            return standardTemplate.getName();
        }
    }
    @Override
    public StandardTemplate getStandTempIdByName(String name) {
        return standardTemplateMapper.getStandTempIdByName(name);
}
}
inspect-server/src/main/resources/mapper/StandardTemplateMapper.xml
@@ -26,6 +26,9 @@
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="getStandTempIdByName" resultType="com.yuanchu.mom.pojo.StandardTemplate">
        select id from standard_template where name=#{name}
    </select>
</mapper>
user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java
@@ -64,5 +64,4 @@
    public Result<?> getDic(){
        return Result.success(enumService.getDic());
    }
}
user-server/src/main/java/com/yuanchu/mom/pojo/Enums.java
@@ -60,6 +60,7 @@
    @ValueTableShow(4)
    @ApiModelProperty(value = "创建用户")
    @TableField(exist = false)
    private String createUserName;
    @ValueTableShow(5)
@@ -74,6 +75,7 @@
    @ValueTableShow(6)
    @ApiModelProperty(value = "更新用户")
    @TableField(exist = false)
    private String updateUserName;
    @ValueTableShow(7)