From b081758449c9d491adf1c70a030461b24dc163fe Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期一, 14 八月 2023 17:59:31 +0800
Subject: [PATCH] 满意度调查word解析 人员管理
---
framework/src/main/java/com/yuanchu/limslaboratory/utils/MultipartFileToFileUtil.java | 70 ++++++++++
cnas-server/src/main/resources/mapper/CnasSatisfactionSurveyMapper.xml | 14 +
cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyPageDto.java | 8
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java | 2
user-server/src/main/java/com/yuanchu/limslaboratory/vo/PagePersonnelVo.java | 2
sys/src/main/resources/application-dev.yml | 6
user-server/src/main/resources/mapper/UserMapper.xml | 2
cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java | 37 ++++
cnas-server/src/main/java/com/yuanchu/limslaboratory/service/impl/CnasSatisfactionSurveyServiceImpl.java | 183 +++++++++++++++++++++++++
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java | 5
cnas-server/src/main/java/com/yuanchu/limslaboratory/service/CnasSatisfactionSurveyService.java | 28 +++
cnas-server/src/main/java/com/yuanchu/limslaboratory/mapper/CnasSatisfactionSurveyMapper.java | 4
cnas-server/pom.xml | 25 +++
cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/CnasSatisfactionSurvey.java | 19 +-
14 files changed, 362 insertions(+), 43 deletions(-)
diff --git a/cnas-server/pom.xml b/cnas-server/pom.xml
index 46a16c0..7931358 100644
--- a/cnas-server/pom.xml
+++ b/cnas-server/pom.xml
@@ -50,6 +50,31 @@
<artifactId>poi-scratchpad</artifactId>
<version>4.1.2</version>
</dependency>
+ <dependency>
+ <groupId>com.yunchu.limslaboratory</groupId>
+ <artifactId>user-server</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi</artifactId>
+ <version>4.1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi-ooxml</artifactId>
+ <version>4.1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi-ooxml-schemas</artifactId>
+ <version>4.1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.poi</groupId>
+ <artifactId>poi-scratchpad</artifactId>
+ <version>4.1.2</version>
+ </dependency>
</dependencies>
diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java
index 95646d1..47b9854 100644
--- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java
+++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java
@@ -1,16 +1,18 @@
package com.yuanchu.limslaboratory.controller;
-import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyDto;
+import com.yuanchu.limslaboratory.pojo.CnasSatisfactionSurvey;
+import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyPageDto;
import com.yuanchu.limslaboratory.pojo.vo.CnasSatisfactionSurveyVo;
import com.yuanchu.limslaboratory.service.CnasSatisfactionSurveyService;
import com.yuanchu.limslaboratory.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
+import java.util.Map;
/**
* @Author 寮犲
@@ -30,9 +32,32 @@
*/
@ApiOperation(value = "鑾峰彇婊℃剰搴﹁皟鏌�")
@GetMapping("/getCnasSatisfactionSurvey")
- public Result<CnasSatisfactionSurveyVo>getCnasSatisfactionSurvey(CnasSatisfactionSurveyDto cnasSatisfactionSurveyDto){
- return Result.success(service.getCnasSatisfactionSurvey(cnasSatisfactionSurveyDto));
+ public Result<CnasSatisfactionSurveyVo>getCnasSatisfactionSurvey(CnasSatisfactionSurveyPageDto cnasSatisfactionSurveyPageDto){
+ return Result.success(service.getCnasSatisfactionSurvey(cnasSatisfactionSurveyPageDto));
}
+ @GetMapping("/getFillNameAndId")
+ @ApiOperation(value = "鑾峰彇褰撳墠褰曞彇浜�")
+ public Result<Map>getFillNameAndId(@RequestHeader("X-Token")String token){
+ return Result.success(service.getFillNameAndTd(token));
+ }
+
+ /**
+ * 闄勪欢涓婁紶
+ * @param file
+ * @return
+ */
+ @ApiOperation(value = "闄勪欢涓婁紶")
+ @PostMapping(value = "/uploadFile",consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = {MediaType.APPLICATION_JSON_VALUE})
+ public Result<Map>wordParse(MultipartFile file){
+ return Result.success(service.wordParse(file));
+ }
+
+ @ApiOperation(value = "婊℃剰搴﹁皟鏌ユ柊澧�")
+ @PostMapping("/addSurvey")
+ public Result<Boolean>addSurvey(@RequestBody CnasSatisfactionSurvey cnasSatisfactionSurvey){
+ System.out.println(cnasSatisfactionSurvey+"=============");
+ return Result.success(service.addSurvey(cnasSatisfactionSurvey));
+ }
}
diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/mapper/CnasSatisfactionSurveyMapper.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/mapper/CnasSatisfactionSurveyMapper.java
index 2b73e83..585272b 100644
--- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/mapper/CnasSatisfactionSurveyMapper.java
+++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/mapper/CnasSatisfactionSurveyMapper.java
@@ -4,8 +4,6 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.CnasSatisfactionSurvey;
-import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyDto;
-import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
/**
@@ -15,5 +13,5 @@
@Repository
public interface CnasSatisfactionSurveyMapper extends BaseMapper<CnasSatisfactionSurvey> {
- IPage<CnasSatisfactionSurvey>selectCnasSatisfactionSurvey(Page<CnasSatisfactionSurvey>page, @Param("dto") CnasSatisfactionSurveyDto dto);
+ IPage<CnasSatisfactionSurvey>selectCnasSatisfactionSurvey(Page<CnasSatisfactionSurvey>page, String surveyDate,String entryDate);
}
diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/CnasSatisfactionSurvey.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/CnasSatisfactionSurvey.java
index ddf02ce..e9e930a 100644
--- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/CnasSatisfactionSurvey.java
+++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/CnasSatisfactionSurvey.java
@@ -9,7 +9,7 @@
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
-import java.sql.Date;
+import java.util.Date;
import java.time.LocalDateTime;
/**
@@ -45,12 +45,12 @@
*/
private String userUnit;
- /**
- * 鏃ユ湡
- */
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
- private Date dateInfo;
+ ///**
+ // * 鏃ユ湡
+ // */
+ //@DateTimeFormat(pattern = "yyyy-MM-dd")
+ //@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ //private Date dateInfo;
/**
* 濉啓浜哄鍚�
@@ -134,5 +134,10 @@
pattern = "yyyy-MM-dd HH:mm:ss"
)
private LocalDateTime updatedTime;
+
+ /**
+ * 鏀惰垂鍚堢悊鎬�
+ */
+ private String reasonableCharge;
}
diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyDto.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyPageDto.java
similarity index 76%
rename from cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyDto.java
rename to cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyPageDto.java
index 13b98ee..119dea9 100644
--- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyDto.java
+++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyPageDto.java
@@ -8,7 +8,7 @@
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
-import java.util.Date;
+import java.sql.Date;
/**
* @Author 寮犲
@@ -17,7 +17,7 @@
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="CnasSatisfactionSurveyDto", description="")
-public class CnasSatisfactionSurveyDto implements Serializable {
+public class CnasSatisfactionSurveyPageDto implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "褰撳墠椤�", example = "1", required = true)
@@ -27,13 +27,9 @@
private Long pageNum;
@ApiModelProperty(value = "璋冩煡鏃ユ湡", example = "2020-01-02", required = true)
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date surveyDate;
@ApiModelProperty(value = "褰曞叆鏃ユ湡", example = "2025-06-08", required = true)
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date entryDate;
}
diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/CnasSatisfactionSurveyService.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/CnasSatisfactionSurveyService.java
index e80a3f7..673c12d 100644
--- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/CnasSatisfactionSurveyService.java
+++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/CnasSatisfactionSurveyService.java
@@ -1,7 +1,11 @@
package com.yuanchu.limslaboratory.service;
-import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyDto;
+import com.yuanchu.limslaboratory.pojo.CnasSatisfactionSurvey;
+import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyPageDto;
import com.yuanchu.limslaboratory.pojo.vo.CnasSatisfactionSurveyVo;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.Map;
/**
* @Author 寮犲
@@ -11,10 +15,28 @@
/**
* 鑾峰彇婊℃剰搴﹁皟鏌ヤ俊鎭�
- * @param cnasSatisfactionSurveyDto
+ * @param cnasSatisfactionSurveyPageDto
* @return
*/
- CnasSatisfactionSurveyVo getCnasSatisfactionSurvey(CnasSatisfactionSurveyDto cnasSatisfactionSurveyDto);
+ CnasSatisfactionSurveyVo getCnasSatisfactionSurvey(CnasSatisfactionSurveyPageDto cnasSatisfactionSurveyPageDto);
+ /**
+ * 鑾峰彇褰撳墠褰曞叆浜�
+ * @return
+ */
+ Map<String, Object> getFillNameAndTd(String token);
+ /**
+ * 瑙f瀽word
+ * @param file
+ * @return
+ */
+ Map<String, String> wordParse(MultipartFile file);
+
+ /**
+ * 鏂板婊℃剰搴﹁皟鏌�
+ * @param cnasSatisfactionSurvey
+ * @return
+ */
+ Boolean addSurvey(CnasSatisfactionSurvey cnasSatisfactionSurvey);
}
diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/impl/CnasSatisfactionSurveyServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/impl/CnasSatisfactionSurveyServiceImpl.java
index 846cd7c..57fb932 100644
--- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/impl/CnasSatisfactionSurveyServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/service/impl/CnasSatisfactionSurveyServiceImpl.java
@@ -1,15 +1,28 @@
package com.yuanchu.limslaboratory.service.impl;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.mapper.CnasSatisfactionSurveyMapper;
import com.yuanchu.limslaboratory.pojo.CnasSatisfactionSurvey;
-import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyDto;
+import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyPageDto;
import com.yuanchu.limslaboratory.pojo.vo.CnasSatisfactionSurveyVo;
import com.yuanchu.limslaboratory.service.CnasSatisfactionSurveyService;
+import com.yuanchu.limslaboratory.service.UserService;
+import com.yuanchu.limslaboratory.utils.MultipartFileToFileUtil;
+import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.extractor.WordExtractor;
+import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* @Author 寮犲
@@ -18,14 +31,176 @@
@Service
public class CnasSatisfactionSurveyServiceImpl implements CnasSatisfactionSurveyService {
+ private static final List<String> SELECT_LIST = Arrays.asList( "鈽戞弧鎰�=0", "鈽戜竴鑸�=1", "鈽戜笉婊℃剰=2");
+
@Resource
private CnasSatisfactionSurveyMapper mapper;
+ @Resource
+ private UserService userService;
+
@Override
- public CnasSatisfactionSurveyVo getCnasSatisfactionSurvey(CnasSatisfactionSurveyDto cnasSatisfactionSurveyDto) {
- Page<CnasSatisfactionSurvey>page=new Page<>(cnasSatisfactionSurveyDto.getCurrentPage(), cnasSatisfactionSurveyDto.getPageNum(),true);
- IPage<CnasSatisfactionSurvey> cnasSatisfactionSurveyIPage = mapper.selectCnasSatisfactionSurvey(page, cnasSatisfactionSurveyDto);
+ public CnasSatisfactionSurveyVo getCnasSatisfactionSurvey(CnasSatisfactionSurveyPageDto cnasSatisfactionSurveyPageDto) {
+ Page<CnasSatisfactionSurvey>page=new Page<>(cnasSatisfactionSurveyPageDto.getCurrentPage(), cnasSatisfactionSurveyPageDto.getPageNum(),true);
+ String surveyDate=DateUtil.format(cnasSatisfactionSurveyPageDto.getSurveyDate(), "yyyyMMdd");
+ String entryDate=DateUtil.format(cnasSatisfactionSurveyPageDto.getEntryDate(), "yyyyMMdd");;
+ IPage<CnasSatisfactionSurvey> cnasSatisfactionSurveyIPage = mapper.selectCnasSatisfactionSurvey(page,surveyDate,entryDate);
return new CnasSatisfactionSurveyVo(cnasSatisfactionSurveyIPage.getRecords(),cnasSatisfactionSurveyIPage.getTotal());
}
+
+ /**
+ *
+ * @param token
+ * @return
+ */
+ @Override
+ public Map<String, Object> getFillNameAndTd(String token) {
+ Map<String, Object> userInfo = userService.getUserInfo(token);
+ return userInfo;
+ }
+
+ @Override
+ public Map<String, String> wordParse(MultipartFile file) {
+ Map<String, String>result=null;
+ File multipartFileToFile = null;
+ try {
+ multipartFileToFile=MultipartFileToFileUtil.multipartFileToFile(file);
+ result=parseWord(multipartFileToFile);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }finally {
+ MultipartFileToFileUtil.delteTempFile(multipartFileToFile);
+ }
+ return result;
+ }
+
+ @Override
+ public Boolean addSurvey(CnasSatisfactionSurvey cnasSatisfactionSurvey) {
+ cnasSatisfactionSurvey.setCreatedTime(DateUtil.toLocalDateTime(DateUtil.date()));
+ return mapper.insert(cnasSatisfactionSurvey)>1;
+ }
+
+ /**
+ * 瑙f瀽word
+ * @param file
+ * @return
+ */
+ public static Map<String,String> parseWord(File file){
+ String info = "";
+ try {
+ FileInputStream fis = new FileInputStream(file);
+ String[] split = file.getName().split("\\.");
+ if ("doc".equals(split[split.length-1])) {
+ // 璇诲彇doc鏂囦欢
+ HWPFDocument doc = new HWPFDocument(fis);
+ WordExtractor docExtractor = new WordExtractor(doc);
+ String text = docExtractor.getText();
+ info = text.trim();
+ docExtractor.close();
+ } else if ("docx".equals(split[split.length-1])) {
+ // 璇诲彇docx鏂囦欢
+ XWPFDocument docx = new XWPFDocument(fis);
+ XWPFWordExtractor docxExtractor = new XWPFWordExtractor(docx);
+ String text = docxExtractor.getText();
+ System.out.println("docx:");
+ info = text.trim();
+ docxExtractor.close();
+ } else {
+ System.out.println("涓嶆槸word鏂囦欢");
+ }
+ fis.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ List<String> infoList = new ArrayList<String>();
+ String[] split = info.split("\n");
+ for (int i = 0; i < split.length; i++) {
+ if (i > 2) {
+ infoList.add(split[i]
+ .replaceAll("\r","")
+ .replaceAll(" ","")
+ .replaceAll("\t","")
+ .replaceAll("\\s","").replaceAll(" +",""));
+ }
+ }
+ Map<String, String> result = new HashMap<>();
+ //绗竴琛�
+ String unitName="鍗曚綅鍚嶇ОUnitname";
+ String projectName="椤圭洰鍚嶇ОProjectname";
+ String[] one = infoList.get(0).replace(unitName, "").split(projectName);
+ result.put("unitName",one[0]);
+ result.put("projectName",one[1]);
+ String fillName="濉〃浜哄鍚嶏紡鏃ユ湡Name/dateofthepersonfillingintheform";
+ String post="鑱屼綅Posts";
+ String telephone="鑱旂郴鐢佃瘽Contactnumber";
+ String email="閭紪Zip";
+ String[] split1 = infoList.get(1).replace(fillName, "").split(post);
+ result.put("fillName",split1[0]);
+ String[] split2 = split1[1].split(telephone);
+ result.put("post",split2[0]);
+ String[] split3 = split2[1].split(email);
+ result.put("telephone",split3[0]);
+ result.put("email",split3[1]);
+ //绗簩琛�
+ String serviceAttitude="鏈嶅姟鎬佸害Serviceattitude";
+ //鏈嶅姟鎬佸害鍜屽缓璁�
+ String two = getSelectAndAdvise(infoList.get(2), serviceAttitude);
+ result.put("serviceAttitude",two);
+ //绗笁琛�
+ String technicalPower="鎶�鏈兘鍔汿echnicalcompetence";
+ String three = getSelectAndAdvise(infoList.get(3), technicalPower);
+ result.put("technicalPower",three);
+ //绗洓琛�
+ String testJob="妫�娴嬪伐浣淚nspectionwork";
+ String four = getSelectAndAdvise(infoList.get(4), testJob);
+ result.put("testJob",four);
+ //绗簲琛�
+ String reasonableCharge="鏀惰垂鍚堢悊鎬easonablefees";
+ String five = getSelectAndAdvise(infoList.get(5), reasonableCharge);
+ result.put("reasonableCharge",five);
+ //绗叚琛�
+ String improvementRequirements="鏀硅繘鐨勮姹傦細";
+ String requirementsForImprovement="Requirementsforimprovement:";
+ String six = infoList.get(6).replace(improvementRequirements, "").replace(requirementsForImprovement, "");
+ result.put("improvementRequirements",six);
+ //绗竷琛�
+ String otherSupplements="鎮ㄥ鎴戜滑鐨勫笇鏈涳細";
+ String otherEnglish="Whatyouwantfromus:";
+ String seven = infoList.get(7).replace(otherSupplements, "").replace(otherEnglish, "");
+ result.put("otherSupplements",seven);
+ return result;
+ }
+
+
+ /**
+ * 鑾峰彇閫夋嫨浠ュ強寤鸿
+ * @param str
+ * @param type
+ * @return
+ */
+ public static String getSelectAndAdvise(String str,String type){
+ String adviseInfo="寤鸿锛�";
+ String suggestion="Suggestion:";
+ String satisfied="Satisfied";
+ String general="General";
+ String dissatisfied="Dissatisfied";
+ String[] split4 = str.replace(type, "").replace(suggestion, "").split(adviseInfo);
+ List<String>select=new ArrayList<>();
+ String advise=split4[1];
+ String[] split5 = split4[0].split(satisfied);
+ select.add(split5[0]);
+ String[] split6 = split5[1].split(general);
+ select.add(split6[0]);
+ select.add(split6[1].replace(dissatisfied,""));
+ String selected = getSelected(select);
+ return selected+"/$"+advise;
+ }
+
+ public static String getSelected(List<String> select){
+ String collect = SELECT_LIST.stream().filter(item -> select.stream()
+ .map(e -> e).collect(Collectors.toList())
+ .contains(item.split("=")[0])).collect(Collectors.joining());
+ return collect.split("=")[1];
+ }
}
diff --git a/cnas-server/src/main/resources/mapper/CnasSatisfactionSurveyMapper.xml b/cnas-server/src/main/resources/mapper/CnasSatisfactionSurveyMapper.xml
index 2beef0a..3302613 100644
--- a/cnas-server/src/main/resources/mapper/CnasSatisfactionSurveyMapper.xml
+++ b/cnas-server/src/main/resources/mapper/CnasSatisfactionSurveyMapper.xml
@@ -9,7 +9,6 @@
css.project_name projectName,
css.survey_date surveyDate,
css.user_unit userUnit,
- css.date_info dateInfo,
css.`fill_name` fillName,
css.post post,
css.telephone telephone,
@@ -18,7 +17,9 @@
css.service_attitude serviceAttitude,
css.technical_power technicalPower,
css.test_job testJob,
- css.improvement_requirements improvementRequirements
+ css.reasonable_charge reasonableCharge,
+ css.improvement_requirements improvementRequirements,
+ css.other_supplements otherSupplements
FROM
cnas_satisfaction_survey css,
`user` u
@@ -26,11 +27,12 @@
1 = 1
AND css.user_id = u.id
and css.state=1
- <if test="dto.surveyDate!=null">
- and css.survey_date = ${dto.surveyDate}
+ <if test="surveyDate!=null">
+ and date_format(css.survey_date,'%Y%m%d') = ${surveyDate}
</if>
- <if test="dto.entryDate!=null">
- and css.entry_date = ${dto.entryDate}
+ <if test="entryDate!=null">
+ and date_format(css.entry_date,'%Y%m%d') = ${entryDate}
</if>
+ order by css.id Desc
</select>
</mapper>
\ No newline at end of file
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/utils/MultipartFileToFileUtil.java b/framework/src/main/java/com/yuanchu/limslaboratory/utils/MultipartFileToFileUtil.java
new file mode 100644
index 0000000..a867564
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/utils/MultipartFileToFileUtil.java
@@ -0,0 +1,70 @@
+package com.yuanchu.limslaboratory.utils;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+/**
+ * @Author 寮犲
+ * @Date 2022/8/5
+ */
+@Slf4j
+public class MultipartFileToFileUtil {
+ /**
+ * MultipartFile 杞� File
+ *
+ * @param file
+ * @throws Exception
+ */
+ public static File multipartFileToFile(MultipartFile file) throws Exception {
+
+ File toFile = null;
+ if (file.equals("") || file.getSize() <= 0) {
+ file = null;
+ } else {
+ InputStream ins = null;
+ ins = file.getInputStream();
+ toFile = new File(file.getOriginalFilename());
+ inputStreamToFile(ins, toFile);
+ ins.close();
+ }
+ return toFile;
+ }
+
+ //鑾峰彇娴佹枃浠�
+ private static void inputStreamToFile(InputStream ins, File file) {
+ try {
+ OutputStream os = new FileOutputStream(file);
+ int bytesRead = 0;
+ byte[] buffer = new byte[8192];
+ while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
+ os.write(buffer, 0, bytesRead);
+ }
+ os.close();
+ ins.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 鍒犻櫎鏈湴涓存椂鏂囦欢
+ * @param file
+ */
+ public static void delteTempFile(File file) {
+ if (file != null) {
+ String name = file.getName();
+ File del = new File(file.toURI());
+ if (del.delete()){
+ log.info("鍒犻櫎涓存椂鏂囦欢"+name+"鎴愬姛!");
+ }else {
+ log.error("鍒犻櫎涓存椂鏂囦欢"+name+"澶辫触!");
+ }
+ }
+ }
+
+}
diff --git a/sys/src/main/resources/application-dev.yml b/sys/src/main/resources/application-dev.yml
index 77eddc6..6cef4e4 100644
--- a/sys/src/main/resources/application-dev.yml
+++ b/sys/src/main/resources/application-dev.yml
@@ -71,15 +71,15 @@
# redis璁块棶瀵嗙爜锛堥粯璁や负绌猴級
password: null
# redis杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶆绉掞級
- timeout: 5
+ timeout: 50
# redis杩炴帴姹犻厤缃�
pool:
# 鏈�澶у彲鐢ㄨ繛鎺ユ暟锛堥粯璁や负8锛岃礋鏁拌〃绀烘棤闄愶級
- max-active: 8
+ max-active: 20
# 鏈�澶х┖闂茶繛鎺ユ暟锛堥粯璁や负8锛岃礋鏁拌〃绀烘棤闄愶級
max-idle: 8
# 鏈�灏忕┖闂茶繛鎺ユ暟锛堥粯璁や负0锛岃鍊煎彧鏈変负姝f暟鎵嶆湁鐢級
- min-idle: 0
+ min-idle: 5
# 浠庤繛鎺ユ睜涓幏鍙栬繛鎺ユ渶澶х瓑寰呮椂闂达紙榛樿涓�-1锛屽崟浣嶄负姣锛岃礋鏁拌〃绀烘棤闄愶級
max-wait: -1
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java
index 14cea5b..7c1b746 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java
@@ -54,7 +54,7 @@
private String email;
@ApiModelProperty(value = "骞撮緞")
- private Integer age;
+ private String age;
@ApiModelProperty(value = "涓�х鍚�")
private String info;
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
index 744ad7e..72be050 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
@@ -49,6 +49,7 @@
}
Map<String, Object> data = new HashMap<>();
data.put("name",loginUser.get("name"));
+ data.put("id",loginUser.get("id"));
data.put("remind", remind);
return data;
}
@@ -103,7 +104,7 @@
User user = new User()
.setName(newPersonnelVo.getName())
.setAccount(newPersonnelVo.getAccount())
- .setAge(newPersonnelVo.getAge())
+ .setAge(String.valueOf(newPersonnelVo.getAge()))
.setPhone(newPersonnelVo.getPhone())
.setEmail(newPersonnelVo.getEmail())
.setRoleId(newPersonnelVo.getRole_id())
@@ -117,7 +118,7 @@
User user = new User()
.setName(updatePersonnelVo.getName())
.setAccount(updatePersonnelVo.getAccount())
- .setAge(updatePersonnelVo.getAge())
+ .setAge(String.valueOf(updatePersonnelVo.getAge()))
.setPhone(updatePersonnelVo.getPhone())
.setEmail(updatePersonnelVo.getEmail())
.setRoleId(updatePersonnelVo.getRole_id())
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/vo/PagePersonnelVo.java b/user-server/src/main/java/com/yuanchu/limslaboratory/vo/PagePersonnelVo.java
index b5564c0..ec6866e 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/vo/PagePersonnelVo.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/vo/PagePersonnelVo.java
@@ -26,7 +26,7 @@
private Date createTime;
@ApiModelProperty(value = "骞撮緞", example = "23")
- private Integer age;
+ private String age;
@ApiModelProperty(value = "鎵嬫満鍙�", example = "12345678981")
private String phone;
diff --git a/user-server/src/main/resources/mapper/UserMapper.xml b/user-server/src/main/resources/mapper/UserMapper.xml
index 54ecc0e..4a8eb08 100644
--- a/user-server/src/main/resources/mapper/UserMapper.xml
+++ b/user-server/src/main/resources/mapper/UserMapper.xml
@@ -32,7 +32,7 @@
IFNULL(u.`phone`, '---') phone, IFNULL(u.`email`, '---') email, u.`job_state`
FROM `user` u, role r
WHERE u.`role_id` = r.`id`
- <if test="name != null">
+ <if test="name != null and name!=''">
AND u.name = #{name}
</if>
</select>
--
Gitblit v1.9.3