From 8c37d903a2fe25d5857c4555c791d552bec60cb8 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 22 八月 2023 17:48:44 +0800
Subject: [PATCH] 改动6.0
---
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LineChartVO.java | 17 +++
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/HomeServiceImpl.java | 120 ++++++++++++++++++++++++
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java | 8
inspection-server/src/main/resources/mapper/PlanMapper.xml | 2
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java | 6 +
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LineSeriesVO.java | 16 +++
inspection-server/src/main/resources/mapper/InspectionMapper.xml | 18 +++
inspection-server/src/main/resources/mapper/InspectionProductMapper.xml | 7 -
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java | 31 +++--
laboratory-server/src/main/resources/mapper/InstrumentMapper.xml | 1
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/HomeController.java | 11 ++
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/HomeService.java | 8 +
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductMapper.java | 3
13 files changed, 223 insertions(+), 25 deletions(-)
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/HomeController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/HomeController.java
index 4fd39a0..72c98df 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/HomeController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/HomeController.java
@@ -6,6 +6,8 @@
import com.yuanchu.limslaboratory.service.HomeService;
import com.yuanchu.limslaboratory.vo.Result;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -55,4 +57,13 @@
StatisticsDataVo statisticsData =homeService.qualified();
return Result.success(statisticsData);
}
+
+ @ApiOperation("缁熻")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "type", value = "1:鏈懆;2:鏈湀;3:鏈勾", dataTypeClass = Integer.class, required = true)
+ })
+ @GetMapping("/turno")
+ public Result turno(Integer type) {
+ return Result.success(homeService.turno(type));
+ }
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java
index 321f720..29ed397 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java
@@ -110,10 +110,10 @@
}
@ApiOperation(value = "淇濆瓨妫�楠岄」鐩矗浠讳汉")
- @ApiImplicitParams(value = {
- @ApiImplicitParam(name = "id", value = "妫�楠屽崟椤圭洰id", dataTypeClass = Integer.class, required = true),
- @ApiImplicitParam(name = "userProId", value = "璐d换浜篿d", dataTypeClass = Integer.class, required = true)
- })
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "id", value = "妫�楠屽崟椤圭洰id", dataTypeClass = Integer.class, required = true),
+ @ApiImplicitParam(name = "userProId", value = "璐d换浜篿d", dataTypeClass = Integer.class, required = true)
+ })
@GetMapping("/chooseUseProId")
public Result chooseUseProId(Integer id,Integer userProId) {
return Result.success(inspectionService.chooseUseProId(id,userProId));
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java
index fdf32b4..fc4b374 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java
@@ -48,5 +48,11 @@
//璁$畻鍘熸潗鏂欏悎鏍肩巼
Long qualifiedfin(Integer i);
+
+ //鏌ヨ璇ユ棩鏈熺殑鍘熸潗鏂欐楠屾暟閲�
+ Integer getMaterByDay(String dayofWeek);
+
+ //鏌ヨ璇ユ棩鏈熺殑鎴愬搧妫�楠屾暟閲�
+ Integer getFinByDay(String dayofWeek);
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductMapper.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductMapper.java
index 0349c07..70b37f2 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductMapper.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductMapper.java
@@ -14,8 +14,7 @@
*/
public interface InspectionProductMapper extends BaseMapper<InspectionProduct> {
- //鏍规嵁椤圭洰id灏嗗凡鏈夌殑妫�楠岀粨璁烘敼涓簄ull
- void upda(Integer id);
+
//鏍规嵁妫�楠屽崟id鏌ヨ妫�楠岄」鐩殑妫�楠岀粨鏋�
List<Integer> getresult(Integer id);
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LineChartVO.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LineChartVO.java
new file mode 100644
index 0000000..46472e4
--- /dev/null
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LineChartVO.java
@@ -0,0 +1,17 @@
+package com.yuanchu.limslaboratory.pojo.vo;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+@Data
+public class LineChartVO {
+
+ private List<String> xAxis = new ArrayList<>();
+ private List<LineSeriesVO> series = new ArrayList<>();
+
+
+}
+
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LineSeriesVO.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LineSeriesVO.java
new file mode 100644
index 0000000..57e0771
--- /dev/null
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LineSeriesVO.java
@@ -0,0 +1,16 @@
+package com.yuanchu.limslaboratory.pojo.vo;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class LineSeriesVO {
+
+ private String name;
+
+ private List<Object> data =new ArrayList<>();
+
+
+}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/HomeService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/HomeService.java
index 0a93716..4d24674 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/HomeService.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/HomeService.java
@@ -1,5 +1,6 @@
package com.yuanchu.limslaboratory.service;
+import com.yuanchu.limslaboratory.pojo.vo.LineChartVO;
import com.yuanchu.limslaboratory.pojo.vo.ProjectNumVo;
import com.yuanchu.limslaboratory.pojo.vo.StatisticsDataVo;
@@ -34,4 +35,11 @@
* @return
*/
StatisticsDataVo qualified();
+
+ /**
+ * 缁熻
+ * @param type
+ * @return
+ */
+ LineChartVO turno(Integer type);
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/HomeServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/HomeServiceImpl.java
index 79fb8cc..7370328 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/HomeServiceImpl.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/HomeServiceImpl.java
@@ -2,6 +2,8 @@
import com.yuanchu.limslaboratory.mapper.InspectionMapper;
import com.yuanchu.limslaboratory.mapper.InspectionProductMapper;
+import com.yuanchu.limslaboratory.pojo.vo.LineChartVO;
+import com.yuanchu.limslaboratory.pojo.vo.LineSeriesVO;
import com.yuanchu.limslaboratory.pojo.vo.ProjectNumVo;
import com.yuanchu.limslaboratory.pojo.vo.StatisticsDataVo;
import com.yuanchu.limslaboratory.service.HomeService;
@@ -10,6 +12,12 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.YearMonth;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -95,6 +103,61 @@
return statisticsDataVo;
}
+ //缁熻
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public LineChartVO turno(Integer type) {
+ LineChartVO lineChartVO = new LineChartVO();
+ List<LineSeriesVO> series = new ArrayList<>();
+ //鏋勫缓绗竴涓猯ineSeriesVO1(鍘熸潗鏂欐楠屾暟閲�)
+ LineSeriesVO lineSeriesVO1 = new LineSeriesVO();
+ lineSeriesVO1.setName("鍘熸潗鏂欐楠屾暟閲�");
+ //鏋勫缓绗簩涓猯ineSeriesVO2(鎴愬搧妫�楠屾暟閲�)
+ LineSeriesVO lineSeriesVO2 = new LineSeriesVO();
+ lineSeriesVO2.setName("鎴愬搧妫�楠屾暟閲�");
+ //鏋勫缓绗笁涓猯ineSeriesVO3(鍘熸潗鏂欏悎鏍肩巼)
+ LineSeriesVO lineSeriesVO3 = new LineSeriesVO();
+ lineSeriesVO3.setName("鍘熸潗鏂欏悎鏍肩巼");
+ //鏋勫缓绗洓涓猯ineSeriesVO4(鎴愬搧鍚堟牸鐜�)
+ LineSeriesVO lineSeriesVO4 = new LineSeriesVO();
+ lineSeriesVO4.setName("鎴愬搧鍚堟牸鐜�");
+ List<Object> list1 = new ArrayList<>();
+ List<Object> list2 = new ArrayList<>();
+ List<Object> list3 = new ArrayList<>();
+ List<Object> list4 = new ArrayList<>();
+ switch (type) {
+ case 1: /*鏈懆*/
+ List<String> dayofWeeks = getDayofWeeks();
+ lineChartVO.setXAxis(dayofWeeks);
+ for (String dayofWeek : dayofWeeks) {
+ //鏌ヨ璇ユ棩鏈熺殑鍘熸潗鏂欐楠屾暟閲�
+ Integer allMaterByDay = inspectionMapper.getMaterByDay(dayofWeek);
+ list1.add(allMaterByDay);
+ //鏌ヨ璇ユ棩鏈熺殑鎴愬搧妫�楠屾暟閲�
+ Integer allFinByDay = inspectionMapper.getFinByDay(dayofWeek);
+ list2.add(allFinByDay);
+ //
+ }
+ lineSeriesVO1.setData(list1);
+
+ break;
+ case 2: /*鏈湀*/
+ List<String> dayofMonths = getDayofMonth();
+ lineChartVO.setXAxis(dayofMonths);
+ break;
+ case 3: /*鏈勾*/
+ List<String> monthofYears = getMonthofYear();
+ lineChartVO.setXAxis(monthofYears);
+ break;
+ }
+ series.add(lineSeriesVO1);
+ series.add(lineSeriesVO2);
+ series.add(lineSeriesVO3);
+ series.add(lineSeriesVO4);
+ lineChartVO.setSeries(series);
+ return lineChartVO;
+ }
+
/*璁$畻鐧惧垎姣�*/
private BigDecimal getRadio(Integer all, Long num) {
if (all.intValue() == 0) {
@@ -105,4 +168,61 @@
BigDecimal divide = numBigDecimal.divide(allBigDecimal, 4, BigDecimal.ROUND_HALF_UP);
return divide.multiply(new BigDecimal(100));
}
+
+ /*鑾峰彇鏈勾鏈堜唤list闆嗗悎*/
+ private List<String> getMonthofYear() {
+ // 鑾峰彇褰撳墠骞翠唤
+ int year = YearMonth.now().getYear();
+ // 鍒涘缓鏈堜唤鍒楄〃
+ List<String> months = new ArrayList<>();
+ // 娣诲姞鏈堜唤鍒板垪琛�
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
+ for (int i = 1; i <= 12; i++) {
+ YearMonth month = YearMonth.of(year, i);
+ String monthString = month.format(formatter);
+ months.add(monthString);
+ }
+ return months;
+ }
+
+ /*鑾峰彇鏈湀鏃ヤ唤list闆嗗悎*/
+ private List<String> getDayofMonth() {
+ // 鑾峰彇褰撳墠鏃ユ湡
+ LocalDate now = LocalDate.now();
+ // 鑾峰彇褰撳墠鏈堜唤
+ YearMonth currentMonth = YearMonth.from(now);
+ // 鑾峰彇璇ユ湀鐨勫ぉ鏁�
+ int daysInMonth = currentMonth.lengthOfMonth();
+ // 鍒涘缓鏃ユ湡鍒楄〃
+ List<String> dates = new ArrayList<>();
+ // 娣诲姞鏃ユ湡鍒板垪琛�
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ for (int i = 1; i <= daysInMonth; i++) {
+ LocalDate date = currentMonth.atDay(i);
+ String dateString = date.format(formatter);
+ dates.add(dateString);
+ }
+ return dates;
+ }
+
+ /*鑾峰彇鏈懆鏃ヤ唤list闆嗗悎*/
+ private List<String> getDayofWeeks() {
+ // 鑾峰彇褰撳墠鏃ユ湡
+ LocalDate now = LocalDate.now();
+ // 鑾峰彇鏈懆鐨勭涓�澶╁拰鏈�鍚庝竴澶�
+ LocalDate startOfWeek = now.with(DayOfWeek.MONDAY);
+ LocalDate endOfWeek = now.with(DayOfWeek.SUNDAY);
+ // 鍒涘缓鏃ユ湡鍒楄〃
+ List<String> dates = new ArrayList<>();
+ // 娣诲姞鏃ユ湡鍒板垪琛�
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ while (!startOfWeek.isAfter(endOfWeek)) {
+ String dateString = startOfWeek.format(formatter);
+ dates.add(dateString);
+ startOfWeek = startOfWeek.plusDays(1);
+ }
+ return dates;
+ }
+
+
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
index 94334c3..ccacfa4 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
@@ -10,8 +10,10 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* <p>
@@ -76,19 +78,22 @@
@Override
@Transactional(rollbackFor = Exception.class)
public String check(Integer id, String value) {
- //濡傛灉妫�楠屽�间笉涓虹┖
- if (StringUtils.isNotBlank(value)) {
- InspectionProduct inspectionProduct = inspectionProductMapper.selectById(id);
- //鍒ゆ柇妫�娴嬪�兼槸鍚︽弧瓒虫爣鍑嗗�煎拰鍐呮帶鍊肩殑瑕佹眰,濡傛灉涓嶆弧瓒冲垯妫�楠岀粨璁轰负涓嶅悎鏍�0
- String required = inspectionProduct.getRequired();//鏍囧噯鍊�
- String internal = inspectionProduct.getInternal();//鍐呮帶鍊�
- inspectionProduct.setTestValue(value);
- inspectionProduct.setTestState(checkValues(required, internal, value));
- inspectionProductMapper.updateById(inspectionProduct);
- } else {
- //濡傛灉妫�楠屽�间负绌�,灏嗗師鏈夌殑妫�楠岀粨璁鸿鐩栦负null
- inspectionProductMapper.upda(id);
+ InspectionProduct inspectionProduct = inspectionProductMapper.selectById(id);
+ //鍒ゆ柇妫�娴嬪�兼槸鍚︽弧瓒虫爣鍑嗗�煎拰鍐呮帶鍊肩殑瑕佹眰,濡傛灉涓嶆弧瓒冲垯妫�楠岀粨璁轰负涓嶅悎鏍�0
+ String required = inspectionProduct.getRequired();//鏍囧噯鍊�
+ String internal = inspectionProduct.getInternal();//鍐呮帶鍊�
+ inspectionProduct.setTestValue(value);
+ List<Integer> list = Arrays.stream(value.split(",")).map(s -> {
+ int values = checkValues(required, internal, s);
+ return values;
+ }).collect(Collectors.toList());
+ if (list.contains(0)) {
+ //濡傛灉鍏朵腑涓�涓楠屽�间笉鍚堟牸鍒欒椤圭洰妫�楠屼笉鍚堟牸
+ inspectionProduct.setTestState(0);
+ }else {
+ inspectionProduct.setTestState(1);
}
+ inspectionProductMapper.updateById(inspectionProduct);
return "鎻愪氦鎴愬姛!";
}
@@ -101,7 +106,7 @@
List<Integer> results = inspectionProductMapper.getresult(id);
int count = 0;
for (Integer result : results) {
- if (result != null && result==1) {
+ if (result != null && result == 1) {
count++;
}
}
diff --git a/inspection-server/src/main/resources/mapper/InspectionMapper.xml b/inspection-server/src/main/resources/mapper/InspectionMapper.xml
index 737fb6b..e97fc5a 100644
--- a/inspection-server/src/main/resources/mapper/InspectionMapper.xml
+++ b/inspection-server/src/main/resources/mapper/InspectionMapper.xml
@@ -103,4 +103,22 @@
and inspection_status is null
</if>
</select>
+
+ <!--鏌ヨ璇ユ棩鏈熺殑鍘熸潗鏂欐楠屾暟閲�-->
+ <select id="getMaterByDay" resultType="java.lang.Integer">
+ select count(id)
+ from lims_laboratory.inspection
+ where state = 1
+ and type = 0
+ and create_time = #{dayofWeek}
+ </select>
+
+ <!--鏌ヨ璇ユ棩鏈熺殑鎴愬搧妫�楠屾暟閲�-->
+ <select id="getFinByDay" resultType="java.lang.Integer">
+ select count(id)
+ from lims_laboratory.inspection
+ where state = 1
+ and type in (1, 2)
+ and create_time = #{dayofWeek}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml b/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml
index c8e4d6a..f1b39da 100644
--- a/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml
+++ b/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml
@@ -1,12 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yuanchu.limslaboratory.mapper.InspectionProductMapper">
- <update id="upda">
- update lims_laboratory.inspection_product
- set test_state=null
- where id = #{id}
- and state = 1
- </update>
+
<!--鏍规嵁妫�楠屽崟id鏌ヨ妫�楠岄」鐩殑妫�楠岀粨鏋�-->
<select id="getresult" resultType="java.lang.Integer">
diff --git a/inspection-server/src/main/resources/mapper/PlanMapper.xml b/inspection-server/src/main/resources/mapper/PlanMapper.xml
index 87f4036..c0cf41a 100644
--- a/inspection-server/src/main/resources/mapper/PlanMapper.xml
+++ b/inspection-server/src/main/resources/mapper/PlanMapper.xml
@@ -16,6 +16,7 @@
<result property="unit" column="unit"/>
<result property="required" column="required"/>
<result property="internal" column="internal"/>
+ <result property="test_value" column="test_value"/>
<result property="testState" column="testState"/>
<result property="checker" column="checker"/>
<result property="instrumentname" column="instrumentname"/>
@@ -33,6 +34,7 @@
ip.unit,
required,
internal,
+ test_value,
test_state testState,
u.name checker,
equipment_name instrumentname
diff --git a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml
index 092e24c..ab1509d 100644
--- a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml
+++ b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml
@@ -44,5 +44,6 @@
equipment_name name
from lims_laboratory.instrument
left join lims_laboratory.classify c on c.id = instrument.classify_id
+ where conditions in(1,5)
</select>
</mapper>
--
Gitblit v1.9.3