zss
2025-03-05 578bfcb3f58c5458d2c60fe37c3e56ebcda98e18
basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java
ÎļþÃû´Ó basic-server/src/main/java/com/ruoyi/inspect/controller/CapacityScopeController.java ÐÞ¸Ä
@@ -1,26 +1,28 @@
package com.ruoyi.inspect.controller;
package com.ruoyi.basic.controller;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.poi.excel.ExcelUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.PageTestObjectDto;
import com.ruoyi.basic.dto.ProductDTO1;
import com.ruoyi.basic.excel.StructureTestObjectData;
import com.ruoyi.basic.excel.StructureTestObjectListener;
import com.ruoyi.basic.pojo.Product;
import com.ruoyi.basic.pojo.StandardTemplate;
import com.ruoyi.basic.pojo.StructureItemParameter;
import com.ruoyi.basic.pojo.StructureTestObject;
import com.ruoyi.basic.service.CapacityScopeService;
import com.ruoyi.basic.service.ProductService;
import com.ruoyi.basic.service.StandardTemplateService;
import com.ruoyi.basic.service.StructureItemParameterService;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.system.service.ISysDictTypeService;
import com.ruoyi.inspect.dto.PageTestObjectDto;
import com.ruoyi.inspect.dto.ProductDTO1;
import com.ruoyi.inspect.excel.StructureTestObjectData;
import com.ruoyi.inspect.excel.StructureTestObjectListener;
import com.ruoyi.inspect.pojo.Product;
import com.ruoyi.inspect.pojo.StandardTemplate;
import com.ruoyi.inspect.pojo.StructureItemParameter;
import com.ruoyi.inspect.pojo.StructureTestObject;
import com.ruoyi.inspect.service.CapacityScopeService;
import com.ruoyi.inspect.service.ProductService;
import com.ruoyi.inspect.service.StandardTemplateService;
import com.ruoyi.inspect.service.StructureItemParameterService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@@ -60,8 +62,8 @@
    private StandardTemplateService standardTemplateService;
    @ApiOperation(value = "获取项目检验参数列表")
    @PostMapping("/selectItemParameterList")
    public Result selectItemParameterList(Page page,StructureItemParameter itemParameter) throws Exception {
    @GetMapping("/selectItemParameterList")
    public Result selectItemParameterList(Page page, StructureItemParameter itemParameter) throws Exception {
        return Result.success(capacityScopeService.selectItemParameterList(page, itemParameter));
    }
@@ -72,7 +74,7 @@
    }
    @ApiOperation(value = "删除项目检验参数")
    @PostMapping("/delItemParameter")
    @DeleteMapping("/delItemParameter")
    public Result<?> delItemParameter(Integer id) {
        return Result.success(capacityScopeService.delItemParameter(id));
    }
@@ -84,8 +86,8 @@
    }
    @ApiOperation(value = "获取检验对象")
    @PostMapping("/selectTestObjectList")
    public Result selectTestObjectList(Page page,PageTestObjectDto pageTestObjectDto) throws Exception {
    @GetMapping("/selectTestObjectList")
    public Result selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto) throws Exception {
        return Result.success(capacityScopeService.selectTestObjectList(page, pageTestObjectDto));
    }
@@ -96,7 +98,7 @@
    }
    @ApiOperation(value = "删除检验对象")
    @PostMapping("/delTestObject")
    @DeleteMapping("/delTestObject")
    public Result<?> delTestObject(Integer id) {
        return Result.success(capacityScopeService.delTestObject(id));
    }
@@ -113,15 +115,27 @@
        return Result.success(capacityScopeService.selectTestObjectByName());
    }
    @ApiOperation(value = "获取检验项和子项")
    @GetMapping("/selectTestInspectionItem")
    public Result selectTestObjectInspectionItem(String specimenName) {
        return Result.success(structureItemParameterService.selectTestObjectInspectionItem(specimenName));
    }
    @ApiOperation(value = "获取检验项和子项")
    @GetMapping("/selectTestInspectionItemSub")
    public Result selectTestInspectionItemSub(String inspectionItemSubclass) {
        return Result.success(structureItemParameterService.selectTestInspectionItemSub(inspectionItemSubclass));
    }
    @ApiOperation(value = "设备里面选择检验项目(树形结构)")
    @PostMapping("/getInsProduction")
    @GetMapping("/getInsProduction")
    public Result getInsProduction() {
        return Result.success(capacityScopeService.getInsProduction());
    }
    @ApiOperation(value = "维护检验对象的产品")
    @PostMapping("/selectProductListByObjectId")
    public Result selectProductListByObjectId(Page page,ProductDTO1 productDTO) throws Exception {
    @GetMapping("/selectProductListByObjectId")
    public Result selectProductListByObjectId(Page page, ProductDTO1 productDTO) throws Exception {
        return Result.success(productService.selectProductListByObjectId(page, productDTO));
    }
@@ -138,7 +152,7 @@
    }
    @ApiOperation(value = "删除产品")
    @PostMapping("/delProduct")
    @DeleteMapping("/delProduct")
    public Result delProduct(Integer id) {
        return Result.success(productService.delProduct(id));
    }
@@ -149,11 +163,9 @@
        return Result.success(capacityScopeService.getItemTree());
    }
    @ApiOperation(value = "装备导入检验项目")
    @PostMapping("/importEquipData")
    @Transactional
    public Result importEquipData(@RequestParam("file") MultipartFile file) throws Exception {
    @ApiOperation(value = "导入检验项目")
    @PostMapping("/importData")
    public Result importData(@RequestParam("file") MultipartFile file) throws Exception {
        InputStream inputStream = file.getInputStream();
        List<StructureItemParameter> lists = new ArrayList<>();
        AtomicReference<String> sample = new AtomicReference<>();
@@ -163,20 +175,18 @@
            }
            if (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(";")) {
                        if (!production.contains("、")) {
                            builder.append(String.format("[\"%s\",\"%s\"]", brand, production));
                        } else {
                            Arrays.stream(production.split(";")).forEach(item -> {
                            Arrays.stream(production.split("、")).forEach(item -> {
                                builder.append(String.format("[\"%s\",\"%s\"],", brand, item));
                            });
                            builder.deleteCharAt(builder.length() - 1);
@@ -189,63 +199,54 @@
                    builder.append("]");
                    str.setSample(builder.toString());
                }
                // æ£€éªŒé¡¹
                str.setInspectionItem(list1.get(4).toString().trim());
                // æ£€éªŒé¡¹è‹±æ–‡
                str.setInspectionItem(list1.get(4).toString());
                if (list1.get(5) != null) {
                    str.setInspectionItemEn(list1.get(5).toString());
                }
                // æ£€éªŒå­é¡¹
                if (list1.get(6) == null) {
                    str.setInspectionItemSubclass(null);
                } else {
                    str.setInspectionItemSubclass(list1.get(6).toString().trim());
                    str.setInspectionItemSubclass(list1.get(6).toString());
                }
                // æ£€éªŒå­é¡¹è‹±æ–‡
                if (list1.get(7) == null) {
                    str.setInspectionItemSubclassEn(null);
                } else {
                    str.setInspectionItemSubclassEn(String.valueOf(list1.get(7).toString()));
                }
                // æ£€éªŒé¡¹åˆ†ç±»
                if (list1.get(22) != null && list1.get(22) != "") {
                    str.setInspectionItemClass(list1.get(22).toString().trim());
                StructureItemParameter db_str;
                if (StringUtils.isEmpty(str.getInspectionItemSubclass())) {
                    // æ¯”较两个条件
                    try {
                        db_str = structureItemParameterService.getOne(Wrappers.lambdaQuery(StructureItemParameter.class)
                                .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
                                .eq(StructureItemParameter::getSample, str.getSample())
                                .last("limit 1")
                        );
                    } catch (Exception e) {
                        throw new ErrorException("重复查询:" + str.getInspectionItem());
                    }
                } else {
                    str.setInspectionItemClass(null);
                    try {
                        db_str = structureItemParameterService.getOne(Wrappers.lambdaQuery(StructureItemParameter.class)
                                .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
                                .eq(StructureItemParameter::getSample, str.getSample())
                                .eq(StructureItemParameter::getInspectionItemSubclass, str.getInspectionItemSubclass())
                                .last("limit 1")
                        );
                    } catch (Exception e) {
                        throw new ErrorException("重复查询:" + str.getInspectionItem() + " " + str.getInspectionItemSubclass());
                    }
                }
                // æ£€éªŒé¡¹åˆ†ç±»è‹±æ–‡
                if (list1.get(23) != null && list1.get(23) != "") {
                    str.setInspectionItemClassEn(list1.get(23) + "");
                } else {
                    str.setInspectionItemClassEn(null);
                }
                LambdaQueryWrapper<StructureItemParameter> wrapper = Wrappers.lambdaQuery(StructureItemParameter.class)
                        .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
                        .eq(StructureItemParameter::getSample, str.getSample())
                        .last("limit 1");
                // åˆ¤æ–­æ˜¯å¦æœ‰æ£€éªŒé¡¹ç±»åž‹
                if (ObjectUtils.isNotEmpty(str.getInspectionItemClass())) {
                    wrapper.eq(StructureItemParameter::getInspectionItemClass, str.getInspectionItemClass());
                }
                // åˆ¤æ–­æ˜¯å¦æœ‰æ£€éªŒå­é¡¹
                if (ObjectUtils.isNotEmpty(str.getInspectionItemSubclass())) {
                    wrapper.eq(StructureItemParameter::getInspectionItemSubclass, str.getInspectionItemSubclass());
                }
                StructureItemParameter db_str = structureItemParameterService.getOne(wrapper);
                if (ObjectUtils.isNotEmpty(db_str)) {
                    str.setId(db_str.getId());
                }
                // æ–¹æ³•名称
                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(";");
                    String[] values = input.split("、");
                    for (String value : values) {
                        buffer.append("\"").append(value.trim()).append("\",");
                    }
@@ -253,55 +254,53 @@
                    buffer.append("]");
                    str.setMethod(buffer.toString());
                }
                // è¯•验室
                if (list1.get(9) == null) {
                    str.setSonLaboratory(null);
                } else {
                    str.setSonLaboratory(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(list1.get(13) + "");
                }
                // å·¥æ—¶ç³»æ•°
                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;
                if (list1.get(17).toString().equals("非采集类型")) {
                    jy = "0";
@@ -309,28 +308,24 @@
                    jy = "1";
                }
                str.setInspectionItemType(jy);
                // æ£€éªŒé¡¹ç±»åž‹
                String validateValueType = list1.get(18).toString();
                if (ObjectUtils.isNotEmpty(validateValueType)) {
                if (StringUtils.isNotBlank(validateValueType)) {
                    List<SysDictData> enums = dictTypeService.selectDictDataByName("检验值类型")
                            .stream().filter(sysDictData -> sysDictData.getDictLabel().equals(validateValueType)).collect(Collectors.toList());
                    str.setInspectionValueType(enums.get(0).getDictValue());
                }
                int bsm;
                //特殊标识
                if (list1.get(19).toString().equals("否")) {
                    bsm = 0;
                } else {
                    bsm = 1;
                }
                str.setBsm(bsm + "");
                // æ•°å­—å­—å…¸
                if (list1.get(20) != null) {
                    str.setDic(list1.get(20) + "");
                } else {
                    str.setDic(null);
                }
                // åŽŸå§‹è®°å½•æ¨¡æ¿
                StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list1.get(21)));
                if (standTempIdByName != null) {
                    str.setTemplateId(standTempIdByName.getId());
@@ -338,48 +333,42 @@
                    str.setTemplateId(null);
                }
                try {
                    if (list1.get(22) != null && list1.get(22) != "") {
                        str.setInspectionItemClass(list1.get(22) + "");
                    } else {
                        str.setInspectionItemClass(null);
                    }
                } catch (Exception e) {
                }
                try {
                    if (list1.get(23) != null && list1.get(23) != "") {
                        str.setInspectionItemClassEn(list1.get(23) + "");
                    } else {
                        str.setInspectionItemClassEn(null);
                    }
                } catch (Exception e) {
                }
                try {
                    if (list1.get(24) != null) {
                        str.setLaboratory(list1.get(24) + "");
                    }
                } catch (Exception e) {
                }
                // æ¡ä»¶
                if (list1.get(25) == null) {
                    str.setRadiusList(null);
                } else {
                    StringBuffer buffer = new StringBuffer();
                    String input = list1.get(25).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.setRadiusList(buffer.toString());
                }
                // æ”¶è´¹æ ‡å‡†
                if (list1.get(26) == null) {
                    str.setRates(null);
                } else {
                    str.setRates(list1.get(26) + "");
                }
                lists.add(str);
            }
        });
//        structureItemParameterService.removeNoSample(sample.get());
        structureItemParameterService.removeNoSample(sample.get());
        // å¦‚果数据库里面的数据存在那么就执行更新拷贝操作
        try {
            structureItemParameterService.saveOrUpdateBatch(lists);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("服务端报错");
            throw new RuntimeException("服务端报错啦!!!");
        }
        return Result.success();
    }
    @ApiOperation(value = "导入检验对象")
    @PostMapping("/importExcel")
    public Result importExcel(@RequestParam("file") MultipartFile file) {