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