From 34ddd63acb70ad5b0fe218e4f4e7afb4d195d8f8 Mon Sep 17 00:00:00 2001 From: 晏有为 <13214124+yan-youwei@user.noreply.gitee.com> Date: 星期四, 23 五月 2024 19:04:59 +0800 Subject: [PATCH] 导入检验对象 --- cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java | 3 inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java | 2 inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java | 2 user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java | 3 cnas-server/src/main/java/com/yuanchu/mom/service/impl/StructureItemParameterServiceImpl.java | 27 ++++ cnas-server/src/main/java/com/yuanchu/mom/service/StructureItemParameterService.java | 9 + user-server/src/main/java/com/yuanchu/mom/pojo/Enums.java | 2 cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java | 246 ++++++++++++++++++++++++++++++++++++++--- cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml | 3 inspect-server/src/main/resources/mapper/StandardTemplateMapper.xml | 3 inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTemplateMapper.java | 1 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java | 9 12 files changed, 285 insertions(+), 25 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java index 5f2fc15..bb3b20a 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java +++ b/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,25 +67,29 @@ 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="鑳藉姏鑼冨洿") + + @ValueClassify(value = "鑳藉姏鑼冨洿") @ApiOperation(value = "鍒犻櫎椤圭洰妫�楠屽弬鏁�") @PostMapping("/delItemParameter") public Result<?> delItemParameter(Integer id) { return Result.success(capacityScopeService.delItemParameter(id)); } - @ValueClassify(value="鑳藉姏鑼冨洿") + + @ValueClassify(value = "鑳藉姏鑼冨洿") @ApiOperation(value = "淇敼椤圭洰妫�楠屽弬鏁�") @PostMapping("/upItemParameter") public Result<?> upItemParameter(@RequestBody StructureItemParameter itemParameter) { return Result.success(capacityScopeService.upItemParameter(itemParameter)); } - @ValueClassify(value="鑳藉姏鑼冨洿") + + @ValueClassify(value = "鑳藉姏鑼冨洿") @ApiOperation(value = "鑾峰彇妫�楠屽璞�") @PostMapping("/selectTestObjectList") public Result selectTestObjectList(@RequestBody Map<String, Object> data) throws Exception { @@ -68,37 +97,43 @@ PageTestObjectDto pageTestObjectDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), PageTestObjectDto.class); return Result.success(capacityScopeService.selectTestObjectList(page, pageTestObjectDto)); } - @ValueClassify(value="鑳藉姏鑼冨洿") + + @ValueClassify(value = "鑳藉姏鑼冨洿") @ApiOperation(value = "娣诲姞妫�楠屽璞�") @PostMapping("/addTestObject") public Result addTestObject(@RequestBody StructureTestObject testObject) { return Result.success(capacityScopeService.addTestObject(testObject)); } - @ValueClassify(value="鑳藉姏鑼冨洿") + + @ValueClassify(value = "鑳藉姏鑼冨洿") @ApiOperation(value = "鍒犻櫎妫�楠屽璞�") @PostMapping("/delTestObject") public Result<?> delTestObject(Integer id) { return Result.success(capacityScopeService.delTestObject(id)); } - @ValueClassify(value="鑳藉姏鑼冨洿") + + @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(){ + public Result getInsProduction() { return Result.success(capacityScopeService.getInsProduction()); } - @ValueClassify(value="鑳藉姏鑼冨洿") + + @ValueClassify(value = "鑳藉姏鑼冨洿") @ApiOperation(value = "缁存姢妫�楠屽璞$殑浜у搧") @PostMapping("/selectProductListByObjectId") public Result selectProductListByObjectId(@RequestBody Map<String, Object> data) throws Exception { @@ -106,19 +141,22 @@ Product product = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), Product.class); return Result.success(productService.selectProductListByObjectId(page, product)); } - @ValueClassify(value="鑳藉姏鑼冨洿") + + @ValueClassify(value = "鑳藉姏鑼冨洿") @ApiOperation(value = "娣诲姞浜у搧") @PostMapping("/addProduct") public Result addProduct(@RequestBody Product product) { return Result.success(productService.addProduct(product)); } - @ValueClassify(value="鑳藉姏鑼冨洿") + + @ValueClassify(value = "鑳藉姏鑼冨洿") @ApiOperation(value = "淇敼浜у搧") @PostMapping("/upProduct") public Result upProduct(@RequestBody Product product) { return Result.success(productService.upProduct(product)); } - @ValueClassify(value="鑳藉姏鑼冨洿") + + @ValueClassify(value = "鑳藉姏鑼冨洿") @ApiOperation(value = "鍒犻櫎浜у搧") @PostMapping("/delProduct") public Result delProduct(Integer id) { @@ -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))); + // 濡傛灉鏁版嵁搴撻噷闈㈢殑鏁版嵁瀛樺湪閭d箞灏辨墽琛屾洿鏂版嫹璐濇搷浣� + 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(); + } +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java index 03aa210..77442d4 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java +++ b/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); } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/StructureItemParameterService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/StructureItemParameterService.java new file mode 100644 index 0000000..c52053a --- /dev/null +++ b/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); +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/StructureItemParameterServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/StructureItemParameterServiceImpl.java new file mode 100644 index 0000000..7c1d7c4 --- /dev/null +++ b/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; + } +} \ No newline at end of file diff --git a/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml b/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml index c8ee930..143913e 100644 --- a/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml +++ b/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, diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java index 94c7a67..813f662 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java @@ -101,4 +101,4 @@ public Result searchSampleId(String sampleCode) { return Result.success(warehouseService.searchSampleId(sampleCode)); } -} +} \ No newline at end of file diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTemplateMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTemplateMapper.java index 537f616..192a773 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTemplateMapper.java +++ b/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); } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java index 485a73e..3274792 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTemplateService.java @@ -28,4 +28,6 @@ String getStandTempNameById(Integer templateId); + StandardTemplate getStandTempIdByName(String name); + } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java index fbbe3e4..729c82d 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTemplateServiceImpl.java +++ b/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); + } +} \ No newline at end of file diff --git a/inspect-server/src/main/resources/mapper/StandardTemplateMapper.xml b/inspect-server/src/main/resources/mapper/StandardTemplateMapper.xml index 2832372..0dafd77 100644 --- a/inspect-server/src/main/resources/mapper/StandardTemplateMapper.xml +++ b/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> diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java b/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java index df90848..b4acd36 100644 --- a/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java +++ b/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java @@ -64,5 +64,4 @@ public Result<?> getDic(){ return Result.success(enumService.getDic()); } - -} +} \ No newline at end of file diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/Enums.java b/user-server/src/main/java/com/yuanchu/mom/pojo/Enums.java index 5e97d2b..2829058 100644 --- a/user-server/src/main/java/com/yuanchu/mom/pojo/Enums.java +++ b/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) -- Gitblit v1.9.3