cnas-server/src/main/java/com/yuanchu/mom/pojo/Laboratory.java
@@ -53,6 +53,7 @@ @ValueTableShow(7) @ApiModelProperty(value = "å建人") @TableField(exist = false) private String createUserName; @ApiModelProperty(value = "ä¿®æ¹äººid") inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java
@@ -19,6 +19,8 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Map; @RestController @@ -181,6 +183,13 @@ return Result.success(); } @ValueClassify("æ ååº") @ApiOperation("å¯¼åºæ ååº") @GetMapping("/exportStandTree") public void exportStandTree(HttpServletResponse response) throws IOException { standardTreeService.exportStandTree(response); } @ValueAuth @ApiOperation("éç½®æ ååºåä»·") @PostMapping("/resetTreeOfPrice") inspect-server/src/main/java/com/yuanchu/mom/dto/standardTreeDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.yuanchu.mom.dto; import com.alibaba.excel.annotation.ExcelProperty; import com.yuanchu.mom.annotation.ValueTableShow; import com.yuanchu.mom.pojo.StandardProductList; import com.yuanchu.mom.pojo.StandardTree; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class standardTreeDto extends StandardProductList { @ExcelProperty(value = "æ åç¼å·") private String standardMethodNo; @ExcelProperty(value = "åå§è®°å½æ¨¡ç") private String templateName; } inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java
@@ -1,10 +1,7 @@ package com.yuanchu.mom.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.yuanchu.mom.dto.FactoryDto; import com.yuanchu.mom.dto.ProductDto; import com.yuanchu.mom.dto.SampleDto; import com.yuanchu.mom.dto.SampleTypeDto; import com.yuanchu.mom.dto.*; import com.yuanchu.mom.pojo.StandardMethodList; import com.yuanchu.mom.pojo.StandardProductList; import com.yuanchu.mom.pojo.StandardTree; @@ -46,6 +43,9 @@ List<ProductDto> selectPList(String name); String selSample(String sample); List<standardTreeDto> exportStandTree(); } inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardProductList.java
@@ -1,5 +1,7 @@ package com.yuanchu.mom.pojo; import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -22,136 +24,164 @@ */ @TableId(value = "id",type = IdType.ASSIGN_ID) @JsonSerialize(using = ToStringSerializer.class) @ExcelIgnore private Long id; /** * æ£éªé¡¹ */ @ApiModelProperty("æ£éªé¡¹") @ExcelProperty(value = "æ£æµåæ°åç§°") private String inspectionItem; @ApiModelProperty("æ£éªé¡¹EN") @ExcelProperty(value = "æ£æµåæ°åç§°(EN)") private String inspectionItemEn; /** * æ£éªé¡¹å°ç±» */ @ApiModelProperty("æ£éªé¡¹å°ç±»") @ExcelProperty(value = "æ£æµå项") private String inspectionItemSubclass; @ApiModelProperty("æ£éªé¡¹å°ç±»EN") @ExcelProperty(value = "æ£æµå项(EN)") private String inspectionItemSubclassEn; /** * å®éªå®¤ */ @ApiModelProperty("å®éªå®¤") @ExcelIgnore private String laboratory; @ApiModelProperty("åå®éªå®¤") @ExcelProperty(value = "è¯éªå®¤") private String sonLaboratory; /** * 计éåä½ */ @ApiModelProperty("计éåä½") @ExcelProperty(value = "计éåä½") private String unit; /** * åä»·(å ) */ @ApiModelProperty("åä»·") @ExcelProperty(value = "åä»·") private String price; /** * å·¥æ¶(H) */ @ApiModelProperty("å·¥æ¶") @ExcelProperty(value = "å·¥æ¶ç³»æ°") private String manHour; /** * å·¥æ¶åç» */ @ApiModelProperty("å·¥æ¶åç»") @ExcelProperty(value = "å·¥æ¶åç»") private String manHourGroup; /** * æ£éªé¡¹ç±»å */ @ApiModelProperty("æ£éªé¡¹ç±»å") @ExcelProperty(value = "æ£éªé¡¹ç±»å") private String inspectionItemType; /** * æ£éªå¼ç±»å */ @ApiModelProperty("æ£éªå¼ç±»å") @ExcelProperty(value = "æ°æ®ç±»å") private String inspectionValueType; /** * æ£éªæ¬¡æ° */ @ApiModelProperty("æ£éªæ¬¡æ°") @ExcelIgnore private Integer checkoutNumber; /** * åºé´ */ @ApiModelProperty("åºé´") @ExcelIgnore private String section; /** * æ¹æ³ */ @ApiModelProperty("æ¹æ³å表") @ExcelIgnore private String method; @ApiModelProperty("æ¹æ³") @ExcelProperty(value = "æ¹æ³åç§°") private String methodS; /** * é¢è®¡æ¶é´(天) */ @ApiModelProperty("é¢è®¡æ¶é´") @ExcelProperty(value = "é¢è®¡å®ææ¶é´") private Integer manDay; /** * ç¹æ®æ è¯ */ @ApiModelProperty("ç¹æ®æ è¯") @ExcelProperty(value = "ç¹æ®æ è¯") private String bsm; /** * è¦æ±å¼ */ @ApiModelProperty("è¦æ±å¼") @ExcelProperty(value = "å¤æè¦æ±") private String ask; @ApiModelProperty("è¦æ±æè¿°") @ExcelProperty(value = "æ åæ¾ç¤º") private String tell; /** * å¤é®ï¼æ åæ¹æ³id */ @ApiModelProperty("æ åæ¹æ³id") @ExcelIgnore private Integer standardMethodListId; @ApiModelProperty("å·¥å") @ExcelIgnore private String factory; @ApiModelProperty("æ ·ååç±»") @ExcelProperty(value = "æµè¯å¯¹è±¡") private String sampleType; @ApiModelProperty("æ ·å") @ExcelProperty(value = "产å") private String sample; @ApiModelProperty("åå·") @ExcelProperty(value = "åå·") private String model; @ApiModelProperty("åå·") @ApiModelProperty("模çid") @ExcelIgnore private Integer templateId; @ApiModelProperty("") @TableField(fill = FieldFill.INSERT) @ExcelIgnore private Integer createUser; /** * @@ -159,12 +189,14 @@ @ApiModelProperty("å建æ¶é´") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ExcelIgnore private LocalDateTime createTime; /** * */ @ApiModelProperty("") @TableField(fill = FieldFill.INSERT_UPDATE) @ExcelIgnore private Integer updateUser; /** * @@ -172,20 +204,27 @@ @ApiModelProperty("ä¿®æ¹æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ExcelIgnore private LocalDateTime updateTime; @ApiModelProperty("1ï¼ææ 0ï¼æ æ") @ExcelIgnore private Integer state; @ExcelIgnore private String dic; @ExcelIgnore private String tree; @ExcelIgnore private Integer structureItemParameterId; @ApiModelProperty(value = "æ£éªé¡¹åç±»") @ExcelIgnore private String inspectionItemClass; @ApiModelProperty(value = "æ£éªé¡¹åç±»EN") @ExcelIgnore private String inspectionItemClassEn; } inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java
@@ -6,6 +6,8 @@ import com.yuanchu.mom.pojo.StandardTree; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Map; @@ -39,4 +41,6 @@ void resetTreeOfAsk(String tree, Integer standardId); void importWorkstationExcel(MultipartFile file); void exportStandTree(HttpServletResponse response) throws IOException; } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -117,7 +117,7 @@ } IPage<SampleOrderDto> sampleOrderDtoIPage = insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), laboratory); sampleOrderDtoIPage.getRecords().forEach(i -> { if (i.getSampleCode().contains("ï¼")) { if (ObjectUtils.isNotEmpty(i.getSampleCode()) && i.getSampleCode().contains("ï¼")) { String[] split = i.getSampleCode().split("ï¼"); i.setSampleCode(split[0]); } inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
@@ -271,7 +271,7 @@ int retryCount = 0; while (!success && retryCount < 100) { try { standardProductListService2.saveBatch(list.stream().map(a -> { standardProductListService2.saveOrUpdateBatch(list.stream().map(a -> { a.setFactory(trees[0]); a.setLaboratory(trees[1]); a.setSampleType(trees[2]); @@ -280,7 +280,6 @@ a.setStandardMethodListId(id); return a; }).collect(Collectors.toList())); ; success = true; } catch (Exception e) { retryCount++; inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
@@ -1,19 +1,20 @@ package com.yuanchu.mom.service.impl; import cn.hutool.poi.excel.ExcelUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.dto.FactoryDto; import com.yuanchu.mom.dto.LaboratoryDto; import com.yuanchu.mom.dto.SampleTypeDto; import com.yuanchu.mom.dto.*; import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.mapper.StandardProductListMapper; import com.yuanchu.mom.mapper.StandardTreeMapper; import com.yuanchu.mom.pojo.StandardProductList; import com.yuanchu.mom.pojo.StandardTemplate; import com.yuanchu.mom.pojo.StandardTree; import com.yuanchu.mom.pojo.*; import com.yuanchu.mom.service.*; import lombok.AllArgsConstructor; import org.apache.commons.lang3.ObjectUtils; @@ -21,12 +22,16 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; /** * @author Administrator @@ -420,6 +425,33 @@ }); } //å¯¼åº @Override public void exportStandTree(HttpServletResponse response) throws IOException { //æ¥è¯¢æ ååºæ°æ®,æç §äº§å大类åç±» List<standardTreeDto> standardTreeDtos = standardTreeMapper.exportStandTree(); Map<String, List<standardTreeDto>> collect = standardTreeDtos.stream().collect(Collectors.groupingBy(standardTreeDto -> standardTreeDto.getSampleType())); List<Map.Entry<String, List<standardTreeDto>>> entryList = new ArrayList<>(collect.entrySet()); response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("UTF-8"); // è¿éURLEncoder.encodeå¯ä»¥é²æ¢ä¸æä¹±ç å½ç¶åeasyexcel没æå ³ç³» String fileName = URLEncoder.encode("æ ååºå¯¼åº", "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); try { // æ°å»ºExcelWriter ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); for (int i = 0; i < collect.size(); i++) { Map.Entry<String, List<standardTreeDto>> entry = entryList.get(i); WriteSheet mainSheet = EasyExcel.writerSheet(i, entry.getKey()+"æ ååºå¯¼åº").head(standardTreeDto.class).build(); excelWriter.write(entry.getValue(), mainSheet); } // å ³éæµ excelWriter.finish(); } catch (IOException e) { throw new RuntimeException("导åºå¤±è´¥"); } } @Override public void resetTreeOfPrice(String tree, Integer standardId) { standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate().like(StandardProductList::getTree, tree).eq(StandardProductList::getStandardMethodListId, standardId).set(StandardProductList::getPrice, null)); inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
@@ -327,4 +327,39 @@ from product where name = #{name} </select> <select id="exportStandTree" resultType="com.yuanchu.mom.dto.standardTreeDto"> select inspection_item, inspection_item_en, inspection_item_subclass, inspection_item_subclass_en, laboratory, sample_type, sample, model, son_laboratory, unit, price, man_hour, man_hour_group, case when inspection_item_type='1' then 'ééç±»å' else 'éééç±»å' end as inspection_item_type , case when inspection_value_type='1' then 'æ°å¼' when inspection_value_type='2' then 'ææ¬' when inspection_value_type='5' then '䏿' else '/' end as inspection_value_type, method_s, man_day, bsm, ask, tell, st.name templateName, sml.code standardMethodNo from standard_product_list spl left join standard_template st on spl.template_id = st.id left join standard_method sml on spl.standard_method_list_id = sml.id where spl.state = 1 order by spl.sample_type </select> </mapper> system-run/pom.xml
@@ -7,6 +7,14 @@ <groupId>com.yuanchu.mom</groupId> <version>1.0.0</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <java.version>1.8</java.version> </properties> <artifactId>system-run</artifactId> <version>0.0.1-SNAPSHOT</version> system-run/src/main/resources/application-dev.yml
@@ -30,6 +30,10 @@ mapper-locations: classpath*:/mapper/*.xml configuration: log-impl: #org.apache.ibatis.logging.stdout.StdOutImpl # å¼å¯mybatis-plusæ¥å¿ global-config: worker-id: ${random.int(1,31)} datacenter-id: ${random.int(1,31)} # æ°æ®æºé ç½® @@ -40,8 +44,9 @@ url: jdbc:mysql://localhost:3306/11?useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 # url: jdbc:mysql://10.1.200.86:3306/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 # url: jdbc:mysql://10.16.173.59:3306/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 # url: jdbc:mysql://10.1.13.77:3306/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 # url: jdbc:mysql://10.1.13.77:3306/center-lims?useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 # url: jdbc:mysql://114.132.189.42:9004/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 # username: remote_user username: root password: 123456 druid: system-run/src/main/resources/application-prod.yml
@@ -62,7 +62,7 @@ # redis端å£ï¼é»è®¤ä¸º6379ï¼ port: 6379 # redis访é®å¯ç ï¼é»è®¤ä¸ºç©ºï¼ password: root2022 password: 123456 # redisè¿æ¥è¶ æ¶æ¶é´ï¼å使¯«ç§ï¼ timeout: 20 # redisè¿æ¥æ± é ç½®