From 924d018e6e6f15effbd272cead5dff67cd3b93a5 Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期三, 23 八月 2023 16:22:06 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LineChartVO.java | 17 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/StatisticsDataVo.java | 18 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java | 2 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/HomeServiceImpl.java | 249 ++++++++++++ inspection-server/src/main/resources/mapper/PlanMapper.xml | 4 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/IprInfo.java | 19 + inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml | 151 +++++++ standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductModelController.java | 6 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java | 8 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java | 10 inspection-server/src/main/resources/mapper/InspectionMapper.xml | 137 +++++++ inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/QualificationRateStatisticsMapper.java | 9 inspection-server/src/main/resources/mapper/InspectionProductMapper.xml | 25 + inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/QualificationRateStatisticsController.java | 8 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java | 14 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/HomeService.java | 36 + inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductMapper.java | 7 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/QualificationRateStatisticsService.java | 2 standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductModelService.java | 6 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SeriesDto.java | 10 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SelectQualificationRateDto.java | 4 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java | 8 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/QualificationRateStatisticsServiceImpl.java | 153 +++++++- inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java | 44 ++ inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/ImInfo.java | 35 + inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterial.java | 8 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LineSeriesVO.java | 16 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java | 35 + laboratory-server/src/main/resources/mapper/InstrumentMapper.xml | 18 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/HomeController.java | 42 + inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SelectProjectByCodeAndNameDto.java | 25 + inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ProjectNumVo.java | 4 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductModelServiceImpl.java | 5 33 files changed, 1,019 insertions(+), 116 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 04a96f4..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 @@ -1,19 +1,21 @@ package com.yuanchu.limslaboratory.controller; -import com.yuanchu.limslaboratory.pojo.ProjectNum; +import com.yuanchu.limslaboratory.pojo.vo.ProjectNumVo; +import com.yuanchu.limslaboratory.pojo.vo.StatisticsDataVo; 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.stereotype.Service; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; +import java.util.Map; /** * 棣栭〉 @@ -28,10 +30,40 @@ @Resource HomeService homeService; - @ApiOperation("璁$畻妫�楠屼笌鏈楠岀殑鍗曞瓙涓庨」鐩殑鏁伴噺鎺ュ彛") + @ApiOperation("璁$畻妫�楠屼笌鏈楠岀殑鍗曞瓙涓庨」鐩殑鏁伴噺") @GetMapping("/checkProjectNum") public Result checkProjectNum() { - ProjectNum projectNum=homeService.checkProjectNum(); - return Result.success(projectNum); + ProjectNumVo projectNumVo =homeService.checkProjectNum(); + return Result.success(projectNumVo); + } + + @ApiOperation("宸叉楠宼op3") + @GetMapping("/checktop3") + public Result checktop3() { + List<Map<String, Object>> checktop3s =homeService.checktop3(); + return Result.success(checktop3s); + } + + @ApiOperation("鏈楠宼op4") + @GetMapping("/unchecktop4") + public Result unchecktop4() { + List<Map<String, Object>> unchecktop4s =homeService.unchecktop4(); + return Result.success(unchecktop4s); + } + + @ApiOperation("璁$畻鍘熸潗鏂欎笌鎴愬搧鐨勫悎鏍肩巼") + @GetMapping("/qualified") + public Result qualified() { + 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/controller/QualificationRateStatisticsController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/QualificationRateStatisticsController.java index 4f3c981..53e8c38 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/QualificationRateStatisticsController.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/QualificationRateStatisticsController.java @@ -32,19 +32,27 @@ @ApiOperation("鏌ヨ妫�楠屾牱鍝佸悎鏍肩巼缁熻") @GetMapping("/getTestSampleStatistics") public Result<?> getTestSampleStatistics(SelectQualificationRateDto dto){ + System.out.println("getTestSampleStatistics______________>"+dto); return Result.success(service.getTestSampleStatistics(dto)); } @ApiOperation("鏌ヨ渚涘簲鍟嗕笉鍚堟牸缁熻娆℃暟") @GetMapping("/getSupplierNoPassStatistics") public Result<?> getSupplierNoPassStatistics(SelectQualificationRateDto dto){ + System.out.println("getSupplierNoPassStatistics++++++++++++++++>"+dto); return Result.success(service.getSupplierNoPassStatistics(dto)); } @ApiOperation("鏌ヨ涓嶅悎鏍奸」鐩粺璁�") @GetMapping("/getNoPassProjectStatistics") public Result<?> getNoPassProjectStatistics(SelectQualificationRateDto dto){ + System.out.println("getNoPassProjectStatistics===============>"+dto); return Result.success(service.getNoPassProjectStatistics(dto)); } + @ApiOperation("鑾峰彇鏍峰搧鍚嶇О") + @GetMapping("/getSampleOptions") + public Result<?> getSampleOptions(){ + return Result.success(service.getSampleOptions()); + } } 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 5ae9960..adcb5dd 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 @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.pojo.Inspection; + +import java.util.List; import java.util.Map; /** @@ -28,5 +30,47 @@ //璁$畻鏈楠岀殑鏁伴噺 Integer seleCountUnIns(); + + //鑾峰彇妫�楠屽崟鎬绘暟 + Integer getcount(); + + //鑾峰彇妫�楠岀粨璁�,妫�楠屾暟閲� + List<Map<String, Object>> getResultNum(); + + //璁$畻鍘熸潗鏂欑殑鍚堟牸鐜� + Long qualified(Integer b); + + //璁$畻鍘熸潗鏂欐楠屽崟鎬绘暟 + Integer getallmater(); + + //璁$畻鎴愬搧妫�楠屽崟鎬绘暟 + Integer getallfin(); + + //璁$畻鍘熸潗鏂欏悎鏍肩巼 + Long qualifiedfin(Integer i); + + //鏌ヨ璇ユ棩鏈熺殑鍘熸潗鏂欐楠屾暟閲� + Integer getMaterByDay(String time); + + //鏌ヨ璇ユ棩鏈熺殑鎴愬搧妫�楠屾暟閲� + Integer getFinByDay(String time); + + //鏌ヨ璇ユ棩鏈熺殑鍘熸潗鏂欏悎鏍兼暟閲� + Long getOkMaterByDay(String time); + + //鏌ヨ璇ユ棩鏈熺殑鎴愬搧鍚堟牸鏁伴噺 + Long getOkFinByDay(String time); + + //鏌ヨ璇ユ湀鐨勫師鏉愭枡妫�楠屾暟閲� + Integer getMaterByMonth(String monthofYear); + + //鏌ヨ璇ユ湀鐨勬垚鍝佹楠屾暟閲� + Integer getFinByMonth(String monthofYear); + + //鏌ヨ璇ユ湀鐨勫師鏉愭枡鍚堟牸鐜� + Long getOkMaterByMonth(String monthofYear); + + //鏌ヨ璇ユ湀鐨勬垚鍝佸悎鏍肩巼 + Long getOkFinByMonth(String monthofYear); } 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 85a64d6..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 @@ -4,6 +4,7 @@ import com.yuanchu.limslaboratory.pojo.InspectionProduct; import java.util.List; +import java.util.Map; /** * 鐢宠鍗曚笅鐗╂枡涓殑椤圭洰(InspectionProduct)琛ㄦ暟鎹簱璁块棶灞� @@ -13,8 +14,7 @@ */ public interface InspectionProductMapper extends BaseMapper<InspectionProduct> { - //鏍规嵁椤圭洰id灏嗗凡鏈夌殑妫�楠岀粨璁烘敼涓簄ull - void upda(Integer id); + //鏍规嵁妫�楠屽崟id鏌ヨ妫�楠岄」鐩殑妫�楠岀粨鏋� List<Integer> getresult(Integer id); @@ -27,5 +27,8 @@ //璁$畻鏈楠岄」鐩暟閲� Integer seleCountUnInspro(); + + //妫�楠岄」鐩�,璁惧,妫�楠屽紑濮嬫椂闂�,鎵ц浜�,妫�楠岀粨鏉熸椂闂� + List<Map<String, Object>> getResultNum(); } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/QualificationRateStatisticsMapper.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/QualificationRateStatisticsMapper.java index 590dc28..8e2eecb 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/QualificationRateStatisticsMapper.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/QualificationRateStatisticsMapper.java @@ -1,6 +1,8 @@ package com.yuanchu.limslaboratory.mapper; +import com.yuanchu.limslaboratory.pojo.Dto.SelectProjectByCodeAndNameDto; import com.yuanchu.limslaboratory.pojo.Dto.SelectQualificationRateDto; +import com.yuanchu.limslaboratory.pojo.ImInfo; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -18,5 +20,12 @@ @MapKey("id") List<Map<String, Object>>selectSupplierByCondition(@Param("dto") SelectQualificationRateDto dto); + List<ImInfo>selectProjectionsByCondition(@Param("dto")SelectQualificationRateDto dto); + List<ImInfo>selectProjection(@Param("list") List<SelectProjectByCodeAndNameDto> list,@Param("dto")SelectQualificationRateDto dto); + + @MapKey("id") + List<Map<String, Object>> selectTestSamp(@Param("dto") SelectQualificationRateDto dto); + + List<Map<String, Object> >getSampleOptions(); } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SelectProjectByCodeAndNameDto.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SelectProjectByCodeAndNameDto.java new file mode 100644 index 0000000..94e1cb4 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SelectProjectByCodeAndNameDto.java @@ -0,0 +1,25 @@ +package com.yuanchu.limslaboratory.pojo.Dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author 寮犲 + * @Date 2023/8/22 + */ +@Data +public class SelectProjectByCodeAndNameDto implements Serializable { + + private String code; + + private String name; + + public SelectProjectByCodeAndNameDto() { + } + + public SelectProjectByCodeAndNameDto(String code, String name) { + this.code = code; + this.name = name; + } +} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SelectQualificationRateDto.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SelectQualificationRateDto.java index 29d0c71..5281dbe 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SelectQualificationRateDto.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SelectQualificationRateDto.java @@ -48,5 +48,9 @@ @ApiModelProperty(value = "渚涘簲鍟�") private String supplier; + @ApiModelProperty(value = "鏍峰搧") + private String sample; + @ApiModelProperty(value = "缂栫爜") + private String code; } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SeriesDto.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SeriesDto.java index 1474065..ef76384 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SeriesDto.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SeriesDto.java @@ -13,20 +13,20 @@ public class SeriesDto implements Serializable { private String name; - private List<Long> data; + private List<Double> data; private String type; - private String stack; + //private String stack; - public SeriesDto(String name, List<Long> data) { + public SeriesDto(String name, List<Double> data) { this.name = name; this.data = data; this.type = "bar"; - this.stack = "x"; + //this.stack = "x"; } public SeriesDto(String name) { this.name = name; this.type = "bar"; - this.stack = "x"; + //this.stack = "x"; } } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/ImInfo.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/ImInfo.java new file mode 100644 index 0000000..18819a8 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/ImInfo.java @@ -0,0 +1,35 @@ +package com.yuanchu.limslaboratory.pojo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Author 寮犲 + * @Date 2023/8/22 + */ +@Data +public class ImInfo implements Serializable { + + private Long imId; + + private String imName; + + private String iCode; + + private Integer inspectionStatus; + + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date startTime; + + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date endTime; + + private List<IprInfo>iprInfos; +} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterial.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterial.java index 55311dc..134e029 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterial.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterial.java @@ -73,17 +73,13 @@ **/ private Integer state; - /** - * ${column.comment} - **/ + @TableField(fill = FieldFill.INSERT) @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date createTime; - /** - * ${column.comment} - **/ + @TableField(fill = FieldFill.INSERT_UPDATE) @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/IprInfo.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/IprInfo.java new file mode 100644 index 0000000..d4d0a13 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/IprInfo.java @@ -0,0 +1,19 @@ +package com.yuanchu.limslaboratory.pojo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author 寮犲 + * @Date 2023/8/22 + */ +@Data +public class IprInfo implements Serializable { + + private int iprId; + + private String iprName; + + private Integer testState; +} 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/pojo/ProjectNum.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ProjectNumVo.java similarity index 79% rename from inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/ProjectNum.java rename to inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ProjectNumVo.java index 3f9c2e1..5c17ac3 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/ProjectNum.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ProjectNumVo.java @@ -1,9 +1,9 @@ -package com.yuanchu.limslaboratory.pojo; +package com.yuanchu.limslaboratory.pojo.vo; import lombok.Data; @Data -public class ProjectNum { +public class ProjectNumVo { private int insNum; //宸叉楠岀殑妫�楠屽崟鏁伴噺 private int insUnNum; //鏈楠岀殑妫�楠屽崟鏁伴噺 diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/StatisticsDataVo.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/StatisticsDataVo.java new file mode 100644 index 0000000..3a04a2d --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/StatisticsDataVo.java @@ -0,0 +1,18 @@ +package com.yuanchu.limslaboratory.pojo.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class StatisticsDataVo { + + private BigDecimal material; //鍘熸潗鏂欏悎鏍肩巼 + private BigDecimal unmaterial; //鍘熸潗鏂欎笉鍚堟牸鐜� + private BigDecimal notmaterial; //鍘熸潗鏂欐湭妫�楠岀巼 + + + private BigDecimal finished; //鎴愬搧鍚堟牸鐜� + private BigDecimal unfinished; //鎴愬搧涓嶅悎鏍肩巼 + private BigDecimal notfinished; //鎴愬搧鏈楠岀巼 +} 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 beb6b24..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,13 +1,45 @@ package com.yuanchu.limslaboratory.service; -import com.yuanchu.limslaboratory.pojo.ProjectNum; +import com.yuanchu.limslaboratory.pojo.vo.LineChartVO; +import com.yuanchu.limslaboratory.pojo.vo.ProjectNumVo; +import com.yuanchu.limslaboratory.pojo.vo.StatisticsDataVo; + +import java.util.List; +import java.util.Map; public interface HomeService { /** * 璁$畻妫�楠屼笌鏈楠岀殑鍗曞瓙涓庨」鐩殑鏁伴噺鎺ュ彛 + * * @return */ - ProjectNum checkProjectNum(); + ProjectNumVo checkProjectNum(); + /** + * 宸叉楠宼op3 + * + * @return + */ + List<Map<String, Object>> checktop3(); + + /** + * 鏈楠宼op4 + * + * @return + */ + List<Map<String, Object>> unchecktop4(); + + /** + * 璁$畻鍘熸潗鏂欎笌鎴愬搧鐨勫悎鏍肩巼 + * @return + */ + StatisticsDataVo qualified(); + + /** + * 缁熻 + * @param type + * @return + */ + LineChartVO turno(Integer type); } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java index 8c870a6..b519e38 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java @@ -42,7 +42,7 @@ * @param value * @return */ - String check(Integer id, String value); + Integer check(Integer id, String value); /** * 涓婃姤 diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/QualificationRateStatisticsService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/QualificationRateStatisticsService.java index 35640c3..9ef152c 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/QualificationRateStatisticsService.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/QualificationRateStatisticsService.java @@ -22,4 +22,6 @@ Map<String, Object> getSupplierNoPassStatistics(SelectQualificationRateDto dto); Map<String, Object> getNoPassProjectStatistics(SelectQualificationRateDto dto); + + List<Map<String, Object>> getSampleOptions(); } 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 e08a03e..ef21304 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 @@ -1,14 +1,25 @@ package com.yuanchu.limslaboratory.service.impl; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yuanchu.limslaboratory.mapper.InspectionMapper; import com.yuanchu.limslaboratory.mapper.InspectionProductMapper; -import com.yuanchu.limslaboratory.pojo.Inspection; -import com.yuanchu.limslaboratory.pojo.ProjectNum; +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; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; 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; @Service @@ -23,16 +34,234 @@ //璁$畻妫�楠屼笌鏈楠岀殑鍗曞瓙涓庨」鐩殑鏁伴噺鎺ュ彛 @Override - public ProjectNum checkProjectNum() { - ProjectNum projectNum = new ProjectNum(); + public ProjectNumVo checkProjectNum() { + ProjectNumVo projectNumVo = new ProjectNumVo(); //宸叉楠岀殑妫�楠屽崟鏁伴噺 - projectNum.setInsNum(inspectionMapper.seleCountIns()); + projectNumVo.setInsNum(inspectionMapper.seleCountIns()); //鏈楠岀殑妫�楠屽崟鏁伴噺 - projectNum.setInsUnNum(inspectionMapper.seleCountUnIns()); + projectNumVo.setInsUnNum(inspectionMapper.seleCountUnIns()); //宸叉楠岀殑妫�楠岄」鐩暟閲� - projectNum.setInsproNum(inspectionProductMapper.seleCountInspro()); + projectNumVo.setInsproNum(inspectionProductMapper.seleCountInspro()); //鏈楠岀殑妫�楠岄」鐩暟閲� - projectNum.setInsproUnNum(inspectionProductMapper.seleCountUnInspro()); - return projectNum; + projectNumVo.setInsproUnNum(inspectionProductMapper.seleCountUnInspro()); + return projectNumVo; } + + //宸叉楠宼op3 + @Override + public List<Map<String, Object>> checktop3() { + //鑾峰彇妫�楠屽崟鎬绘暟 + Integer allIns = inspectionMapper.getcount(); + //妫�楠岀粨璁�,妫�楠屾暟閲� + List<Map<String, Object>> mapList = inspectionMapper.getResultNum(); + for (Map<String, Object> map : mapList) { + //閬嶅巻鑾峰彇鏁伴噺 + Long num = (Long) map.get("num"); + //璁$畻鐧惧垎姣斿苟瀛樺叆map涓� + map.put("chact", getRadio(allIns, num)); + } + return mapList; + } + + //鏈楠宼po4 + @Override + public List<Map<String, Object>> unchecktop4() { + //妫�楠岄」鐩�,璁惧,妫�楠屽紑濮嬫椂闂�,鎵ц浜�,妫�楠岀粨鏉熸椂闂� + List<Map<String, Object>> mapList = inspectionProductMapper.getResultNum(); + return mapList; + } + + //璁$畻鍘熸潗鏂欎笌鎴愬搧鐨勫悎鏍肩巼 + @Override + @Transactional(rollbackFor = Exception.class) + public StatisticsDataVo qualified() { + StatisticsDataVo statisticsDataVo = new StatisticsDataVo(); + //鍘熸潗鏂欐楠屽崟鎬绘暟 + Integer allmater = inspectionMapper.getallmater(); + //鍘熸潗鏂欏悎鏍肩巼 + Long mater = inspectionMapper.qualified(1); + statisticsDataVo.setMaterial(getRadio(allmater, mater)); + //鍘熸潗鏂欎笉鍚堟牸鐜� + Long unmater = inspectionMapper.qualified(0); + statisticsDataVo.setUnmaterial(getRadio(allmater, unmater)); + //鍘熸潗鏂欐湭妫�楠岀巼 + Long notmater = inspectionMapper.qualified(null); + statisticsDataVo.setNotmaterial(getRadio(allmater, notmater)); + + //鎴愬搧妫�楠屽崟鎬绘暟 + Integer allfin = inspectionMapper.getallfin(); + //鎴愬搧鍚堟牸鐜� + Long finished = inspectionMapper.qualifiedfin(1); + statisticsDataVo.setFinished(getRadio(allfin, finished)); + //鎴愬搧涓嶅悎鏍肩巼 + Long unfinished = inspectionMapper.qualifiedfin(0); + statisticsDataVo.setUnfinished(getRadio(allfin, unfinished)); + //鎴愬搧鏈楠岀巼 + Long notfinished = inspectionMapper.qualifiedfin(null); + statisticsDataVo.setNotfinished(getRadio(allfin, notfinished)); + + 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); + //鏌ヨ璇ユ棩鏈熺殑鍘熸潗鏂欏悎鏍肩巼 + Long okMaterByDay = inspectionMapper.getOkMaterByDay(dayofWeek); + list3.add(getRadio(allMaterByDay, okMaterByDay)); + //鏌ヨ璇ユ棩鏈熺殑鎴愬搧鍚堟牸鐜� + Long okFinByDay = inspectionMapper.getOkFinByDay(dayofWeek); + list4.add(getRadio(allFinByDay, okFinByDay)); + } + break; + /*鏈湀*/ + case 2: + List<String> dayofMonths = getDayofMonth(); + lineChartVO.setXAxis(dayofMonths); + for (String dayofMonth : dayofMonths) { + //鏌ヨ璇ユ棩鏈熺殑鍘熸潗鏂欐楠屾暟閲� + Integer allMaterByDay = inspectionMapper.getMaterByDay(dayofMonth); + list1.add(allMaterByDay); + //鏌ヨ璇ユ棩鏈熺殑鎴愬搧妫�楠屾暟閲� + Integer allFinByDay = inspectionMapper.getFinByDay(dayofMonth); + list2.add(allFinByDay); + //鏌ヨ璇ユ棩鏈熺殑鍘熸潗鏂欏悎鏍肩巼 + Long okMaterByDay = inspectionMapper.getOkMaterByDay(dayofMonth); + list3.add(getRadio(allMaterByDay, okMaterByDay)); + //鏌ヨ璇ユ棩鏈熺殑鎴愬搧鍚堟牸鐜� + Long okFinByDay = inspectionMapper.getOkFinByDay(dayofMonth); + list4.add(getRadio(allFinByDay, okFinByDay)); + } + break; + /*鏈勾*/ + case 3: + List<String> monthofYears = getMonthofYear(); + lineChartVO.setXAxis(monthofYears); + for (String monthofYear : monthofYears) { + //鏌ヨ璇ユ棩鏈熻寖鍥村唴鐨勫師鏉愭枡妫�楠屾暟閲� + Integer allMaterByDay = inspectionMapper.getMaterByMonth(monthofYear); + list1.add(allMaterByDay); + //鏌ヨ璇ユ棩鏈熺殑鎴愬搧妫�楠屾暟閲� + Integer allFinByDay = inspectionMapper.getFinByMonth(monthofYear); + list2.add(allFinByDay); + //鏌ヨ璇ユ棩鏈熺殑鍘熸潗鏂欏悎鏍肩巼 + Long okMaterByDay = inspectionMapper.getOkMaterByMonth(monthofYear); + list3.add(getRadio(allMaterByDay, okMaterByDay)); + //鏌ヨ璇ユ棩鏈熺殑鎴愬搧鍚堟牸鐜� + Long okFinByDay = inspectionMapper.getOkFinByMonth(monthofYear); + list4.add(getRadio(allFinByDay, okFinByDay)); + } + break; + } + lineSeriesVO1.setData(list1); + lineSeriesVO2.setData(list2); + lineSeriesVO3.setData(list3); + lineSeriesVO4.setData(list4); + 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) { + return new BigDecimal(0); + } + BigDecimal numBigDecimal = new BigDecimal(num); + BigDecimal allBigDecimal = new BigDecimal(all); + 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..97a838d 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> @@ -75,21 +77,24 @@ //妫�楠� @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); + public Integer check(Integer id, String value) { + 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); } - return "鎻愪氦鎴愬姛!"; + inspectionProductMapper.updateById(inspectionProduct); + return inspectionProduct.getTestState(); } //涓婃姤 @@ -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/java/com/yuanchu/limslaboratory/service/impl/QualificationRateStatisticsServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/QualificationRateStatisticsServiceImpl.java index dea8314..4daef1c 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/QualificationRateStatisticsServiceImpl.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/QualificationRateStatisticsServiceImpl.java @@ -5,8 +5,10 @@ import com.yuanchu.limslaboratory.mapper.InspectionMaterialMapper; import com.yuanchu.limslaboratory.mapper.QualificationRateStatisticsMapper; import com.yuanchu.limslaboratory.pojo.Dto.MapHandlerDto; +import com.yuanchu.limslaboratory.pojo.Dto.SelectProjectByCodeAndNameDto; import com.yuanchu.limslaboratory.pojo.Dto.SelectQualificationRateDto; import com.yuanchu.limslaboratory.pojo.Dto.SeriesDto; +import com.yuanchu.limslaboratory.pojo.ImInfo; import com.yuanchu.limslaboratory.pojo.InspectionMaterial; import com.yuanchu.limslaboratory.service.QualificationRateStatisticsService; import com.yuanchu.limslaboratory.utils.ArrayListUtil; @@ -15,6 +17,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.text.NumberFormat; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; @@ -30,6 +33,8 @@ @Resource private InspectionMaterialMapper inspectionMaterialMapper; + private static final List<String> TYPE_LIST =Arrays.asList("鍘熸潗鏂�","鎴愬搧","濮旀墭鍝�"); + private static final List<Integer> TYPE_INT_LIST =Arrays.asList(0,1,2); @Resource private QualificationRateStatisticsMapper qualificationRateStatisticsMapper; @@ -43,16 +48,60 @@ @Override public Map<String, Object> getTestSampleStatistics(SelectQualificationRateDto dto) { - System.out.println(dto); - return null; + Map<String, Object> mapResult = new HashMap<>(16); + List<Map<String, Object>> mapList = qualificationRateStatisticsMapper.selectTestSamp(dto); + if(mapList.size()<=0){ + mapResult.put("noData",false); + return mapResult; + } + mapResult.put("xAxis",TYPE_LIST); + List<Map<String, Object>>list=new ArrayList<>(); + Map<String, Object>mapPass=new HashMap<>(3); + mapPass.put("name","鍚堟牸"); + mapPass.put("type","bar"); + Map<String, Object>mapNoPass=new HashMap<>(3); + mapNoPass.put("name","涓嶅悎鏍�"); + mapNoPass.put("type","bar"); + List<Integer>passInteger=new ArrayList<>(); + List<Integer>noPasInteger=new ArrayList<>(); + AtomicInteger integerPass = new AtomicInteger(0); + AtomicInteger integerNoPass = new AtomicInteger(0); + for (int i = 0; i < TYPE_INT_LIST.size(); i++) { + int finalI = i; + mapList.stream().filter(m->Objects.equals(String.valueOf(m.get("type")),String.valueOf(TYPE_INT_LIST.get(finalI)))) + .forEach(m->{ + System.out.println(m.get("type")); + if(Objects.equals(m.get("inspectionStatus"),0)){ + integerNoPass.incrementAndGet(); + } + if(Objects.equals(m.get("inspectionStatus"),1)){ + integerPass.incrementAndGet(); + } + }); + passInteger.add(integerPass.get()); + noPasInteger.add(integerNoPass.get()); + integerPass.set(0); + integerNoPass.set(0); + } + mapPass.put("data",passInteger); + mapNoPass.put("data",noPasInteger); + list.add(mapPass); + list.add(mapNoPass); + mapResult.put("series",list); + mapResult.put("noData",true); + System.out.println("鎵ц缁撴潫getTestSampleStatistics________________>"+mapResult); + //System.out.println(mapResult); + return mapResult; } @Override public Map<String, Object> getSupplierNoPassStatistics(SelectQualificationRateDto dto) { Map<String, Object> allMap = new HashMap<>(16); List<Map<String, Object>> mapList = qualificationRateStatisticsMapper.selectSupplierByCondition(dto); - mapList.forEach(System.out::println); - System.out.println("================================="); + if(mapList.size()<=0){ + allMap.put("noData",false); + return allMap; + } //鍘婚噸鍙栧嚭渚涘簲鍟� List<Map<String, Object>> supplierDistinct = ArrayListUtil.oneObjectsDistinctByProperty(MapHandlerDto::comparingBySupplier, mapList); List<String> supplierList = new ArrayList<String>(); @@ -60,21 +109,21 @@ supplierList.add(String.valueOf(l.get("supplier"))); }); allMap.put("xAxis", supplierList); - List<SeriesDto>seriesDtoList=new ArrayList<SeriesDto>(2); - SeriesDto seriesDto2=new SeriesDto("涓嶅悎鏍兼暟閲�"); - SeriesDto seriesDto=new SeriesDto("鍚堟牸鏁伴噺"); + List<SeriesDto> seriesDtoList = new ArrayList<SeriesDto>(2); + SeriesDto seriesDto = new SeriesDto("鍚堟牸鏁伴噺"); + SeriesDto seriesDto2 = new SeriesDto("涓嶅悎鏍兼暟閲�"); // 鍙栧嚭瀵瑰簲鍚堟牸鏁伴噺涓嶅悎鏍兼暟閲� - List<Long>pass=new ArrayList<>(); - List<Long>noPass=new ArrayList<>(); - AtomicLong integerPass=new AtomicLong(0L); - AtomicLong integerNoPass=new AtomicLong(0L); + List<Long> pass = new ArrayList<>(); + List<Long> noPass = new ArrayList<>(); + AtomicLong integerPass = new AtomicLong(0L); + AtomicLong integerNoPass = new AtomicLong(0L); supplierList.forEach(s -> { mapList.stream() .filter(l -> Objects.equals(l.get("supplier"), s)) .forEach(l -> { - if(Objects.equals(l.get("inspectionStatus"),1)){ + if (Objects.equals(l.get("inspectionStatus"), 1)) { integerPass.incrementAndGet(); - }else { + } else { integerNoPass.incrementAndGet(); } }); @@ -83,19 +132,83 @@ integerNoPass.set(0L); integerPass.set(0L); }); - seriesDto.setData(pass); - seriesDto2.setData(noPass); + List<Double> percentPass = new ArrayList<>(); + List<Double> percentNoPass = new ArrayList<>(); + for (int i = 0; i < pass.size(); i++) { + long total = (pass.get(i) + noPass.get(i)); + double passNO = 0.00; + if (pass.get(i) != 0L) { + passNO = Double.parseDouble(getPercent(pass.get(i), total).replace("%", "")); + } + double noPassNO = 0.00; + if (noPass.get(i) != 0L) { + noPassNO = Double.parseDouble(getPercent(noPass.get(i), total).replace("%", "")); + } + percentPass.add(passNO); + percentNoPass.add(noPassNO); + } + seriesDto.setData(percentPass); + seriesDto2.setData(percentNoPass); seriesDtoList.add(seriesDto); seriesDtoList.add(seriesDto2); - System.out.println("鏁伴噺=======>"); - System.out.println(seriesDtoList); - return null; + allMap.put("series", seriesDtoList); + allMap.put("noData",true); + System.out.println("getSupplierNoPassStatistics缁撴灉++++++++++++++++>"+allMap); + return allMap; } @Override public Map<String, Object> getNoPassProjectStatistics(SelectQualificationRateDto dto) { - return null; + Map<String, Object> allMap = new HashMap<>(16); + List<ImInfo> imInfos = qualificationRateStatisticsMapper.selectProjectionsByCondition(dto); + List<String>NameList = new ArrayList<>(); + List<SelectProjectByCodeAndNameDto>projectByCodeAndNameDtos=new ArrayList<>(); + if(imInfos.size()<=0){ + allMap.put("noData",false); + return allMap; + } + imInfos.forEach(l->{ + NameList.add(l.getICode()+"-"+l.getImName()); + projectByCodeAndNameDtos.add(new SelectProjectByCodeAndNameDto(l.getICode(),l.getImName())); + }); + List<ImInfo> imInfosAll = qualificationRateStatisticsMapper.selectProjection(projectByCodeAndNameDtos,dto); + int total = imInfosAll.size(); + List<Integer>noPas=new ArrayList<>(); + AtomicInteger i=new AtomicInteger(0); + NameList.forEach(n->{ + imInfos.stream() + .filter(im-> Objects.equals(n,im.getICode()+"-"+im.getImName())) + .forEach(im->{ + i.set(im.getIprInfos().size()); + }); + noPas.add(i.get()); + i.set(0); + }); + List<Map<String, Object>>doubleList=new ArrayList<>(); + for (int j = 0; j < noPas.size(); j++) { + Map<String, Object>map=new HashMap<>(); + map.put("name",NameList.get(j)); + map.put("value",Double.parseDouble(getPercent(noPas.get(j),total).replace("%",""))); + doubleList.add(map); + } + allMap.put("legend",NameList); + allMap.put("series",doubleList); + allMap.put("noData",true); + System.out.println("getNoPassProjectStatistics缁撴灉==========================>"+allMap); + return allMap; } + @Override + public List<Map<String, Object>> getSampleOptions() { + return qualificationRateStatisticsMapper.getSampleOptions(); + } -} + public static String getPercent(long x, long y) { + double d1 = x * 1.0; + double d2 = y * 1.0; + NumberFormat percentInstance = NumberFormat.getPercentInstance(); + // 璁剧疆淇濈暀鍑犱綅灏忔暟锛岃繖閲岃缃殑鏄繚鐣欎袱浣嶅皬鏁� + percentInstance.setMinimumFractionDigits(2); + return percentInstance.format(d1 / d2); + } +} \ No newline at end of file diff --git a/inspection-server/src/main/resources/mapper/InspectionMapper.xml b/inspection-server/src/main/resources/mapper/InspectionMapper.xml index 5314b40..711a5fe 100644 --- a/inspection-server/src/main/resources/mapper/InspectionMapper.xml +++ b/inspection-server/src/main/resources/mapper/InspectionMapper.xml @@ -42,4 +42,141 @@ where state = 1 and inspection_status is null </select> + + <!--鑾峰彇妫�楠屽崟鎬绘暟--> + <select id="getcount" resultType="java.lang.Integer"> + select count(id) + from lims_laboratory.inspection + where state = 1 + </select> + + <!--妫�楠岀粨璁�,妫�楠屾暟閲�--> + <select id="qualified" resultType="java.lang.Long"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and type = 0 + <if test="b!=null "> + and inspection_status = #{b} + </if> + <if test="b==null"> + and inspection_status is null + </if> + </select> + + <!--璁$畻鍘熸潗鏂欎笌鎴愬搧鐨勫悎鏍肩巼--> + <select id="getResultNum" resultType="java.util.Map"> + select inspection_status result, + count(id) num + from lims_laboratory.inspection + where state = 1 + group by result + order by num desc + </select> + + <!--璁$畻鍘熸潗鏂欐楠屽崟鎬绘暟--> + <select id="getallmater" resultType="java.lang.Integer"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and type = 0 + </select> + + <!--璁$畻鎴愬搧妫�楠屽崟鎬绘暟--> + <select id="getallfin" resultType="java.lang.Integer"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and type in (1, 2) + </select> + + <!--璁$畻鍘熸潗鏂欏悎鏍肩巼--> + <select id="qualifiedfin" resultType="java.lang.Long"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and type in (1, 2) + <if test="i!=null "> + and inspection_status = #{i} + </if> + <if test="i==null"> + 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 = #{time} + </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 = #{time} + </select> + + <!--鏌ヨ璇ユ棩鏈熺殑鍘熸潗鏂欏悎鏍兼暟閲�--> + <select id="getOkMaterByDay" resultType="java.lang.Long"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and type = 0 + and inspection_status = 1 + and end_time = #{time} + </select> + + <!--鏌ヨ璇ユ棩鏈熺殑鎴愬搧鍚堟牸鏁伴噺--> + <select id="getOkFinByDay" resultType="java.lang.Long"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and type in (1, 2) + and inspection_status = 1 + and end_time = #{time} + </select> + + <!--鏌ヨ璇ユ湀鐨勫師鏉愭枡妫�楠屾暟閲�--> + <select id="getMaterByMonth" resultType="java.lang.Integer"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and type = 0 + and DATE_FORMAT(create_time, '%Y-%m') = #{monthofYear} + </select> + + <!--鏌ヨ璇ユ湀鐨勬垚鍝佹楠屾暟閲�--> + <select id="getFinByMonth" resultType="java.lang.Integer"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and type in (1, 2) + and DATE_FORMAT(create_time, '%Y-%m') = #{monthofYear} + </select> + + <!--鏌ヨ璇ユ湀鐨勫師鏉愭枡鍚堟牸鐜�--> + <select id="getOkMaterByMonth" resultType="java.lang.Long"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and type = 0 + and inspection_status = 1 + and DATE_FORMAT(end_time, '%Y-%m') = #{monthofYear} + </select> + + <!--鏌ヨ璇ユ湀鐨勬垚鍝佸悎鏍肩巼--> + <select id="getOkFinByMonth" resultType="java.lang.Long"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and type in (1, 2) + and inspection_status = 1 + and DATE_FORMAT(end_time, '%Y-%m') = #{monthofYear} + </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 a04eeab..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"> @@ -37,4 +32,22 @@ where state = 1 and test_state is null </select> + + <!--鑾峰彇妫�楠岄」鐩�,璁惧,妫�楠屽紑濮嬫椂闂�,鎵ц浜�,妫�楠岀粨鏉熸椂闂�--> + <select id="getResultNum" resultType="java.util.Map"> + select ip.name, + equipment_name instrumentname, + DATE_FORMAT(start_time, '%Y-%m-%d') startTime, + user.name checkname, + DATE_FORMAT(end_time, '%Y-%m-%d') endTime + from lims_laboratory.inspection_product ip + left join lims_laboratory.inspection_material on ip.inspection_material_id = inspection_material.id + left join lims_laboratory.inspection i on inspection_material.inspection_id = i.id + left join lims_laboratory.instrument on ip.instrument_id = instrument.id + left join lims_laboratory.user on ip.user_id = user.id + where ip.state = 1 + and test_state is null + order by start_time + limit 4 + </select> </mapper> \ No newline at end of file diff --git a/inspection-server/src/main/resources/mapper/PlanMapper.xml b/inspection-server/src/main/resources/mapper/PlanMapper.xml index bf79c9d..d466f4e 100644 --- a/inspection-server/src/main/resources/mapper/PlanMapper.xml +++ b/inspection-server/src/main/resources/mapper/PlanMapper.xml @@ -8,7 +8,7 @@ <result property="inspectionStatus" column="inspectionStatus"/> <result property="startTime" column="startTime"/> <result property="endTime" column="endTime"/> - <collection property="chldren" resultMap="selectAllPlanMapTowsMap" javaType="List"/> + <collection property="children" resultMap="selectAllPlanMapTowsMap" javaType="List"/> </resultMap> <resultMap id="selectAllPlanMapTowsMap" type="map"> <id property="pid" column="pid"/> @@ -16,6 +16,7 @@ <result property="unit" column="unit"/> <result property="required" column="required"/> <result property="internal" column="internal"/> + <result property="testValue" column="testValue"/> <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 testValue, test_state testState, u.name checker, equipment_name instrumentname diff --git a/inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml b/inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml index 754f647..bb63097 100644 --- a/inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml +++ b/inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml @@ -11,7 +11,7 @@ i.end_time endTime FROM inspection i INNER JOIN inspection_material im ON i.id = im.inspection_id - where (i.state = 1 AND TRUE = IFNULL(i.inspection_status, FALSE)) + where (i.state = 1 AND i.inspection_status is NOT NULL and im.state=1) <if test="dto.beginDate!=null and dto.endDate!=null"> DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} AND #{dto.endDate} @@ -23,5 +23,154 @@ <if test="dto.supplier!=null and dto.supplier!=''"> and im.supplier=#{dto.supplier} </if> + <if test="dto.sample!=null and dto.sample!=''"> + and im.name=#{dto.sample} + </if> + <if test="dto.code!=null and dto.code!=''"> + and i.code=#{dto.code} + </if> </select> + <select id="selectProjectionsByCondition" resultMap="ImInfoMap"> + SELECT + im.id imId, + im.`name` imName, + i.inspection_status inspectionStatus, + i.start_time startTime, + i.end_time endTime, + ipr.id iprId, + ipr.`name` iprName, + ipr.test_state testState, + i.code iCode, + i.type type + FROM + inspection i, + inspection_material im, + inspection_product ipr + WHERE + i.id = im.inspection_id + AND im.id = ipr.inspection_material_id + AND i.state = 1 + AND im.state = 1 + AND ipr.state = 1 + AND i.inspection_status is NOT NULL + AND ipr.test_state is not null + AND ipr.test_state = 0 + <if test="dto.beginDate!=null and dto.endDate!=null"> + DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} + AND #{dto.endDate} + AND DATE_FORMAT( i.start_time, '%Y-%m-%d' )>= #{dto.beginDate} + </if> + <if test="dto.type!=null"> + and i.type=#{dto.type} + </if> + <if test="dto.supplier!=null and dto.supplier!=''"> + and im.supplier=#{dto.supplier} + </if> + <if test="dto.sample!=null and dto.sample!=''"> + and im.name=#{dto.sample} + </if> + <if test="dto.code!=null and dto.code!=''"> + and i.code=#{dto.code} + </if> + </select> + <select id="selectProjection" resultMap="ImInfoMap"> + SELECT + im.id imId + FROM + inspection i, + inspection_material im, + inspection_product ipr + WHERE + i.id = im.inspection_id + AND im.id = ipr.inspection_material_id + AND i.state = 1 + AND im.state = 1 + AND ipr.state = 1 + AND i.inspection_status is NOT NULL + AND ipr.test_state is not null + <if test="dto.beginDate!=null and dto.endDate!=null"> + DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} + AND #{dto.endDate} + AND DATE_FORMAT( i.start_time, '%Y-%m-%d' )>= #{dto.beginDate} + </if> + <if test="dto.type!=null"> + and i.type=#{dto.type} + </if> + <if test="dto.supplier!=null and dto.supplier!=''"> + and im.supplier=#{dto.supplier} + </if> + <if test="dto.sample!=null and dto.sample!=''"> + and im.name=#{dto.sample} + </if> + <if test="dto.code!=null and dto.code!=''"> + and i.code=#{dto.code} + </if> + and i.code in + <foreach collection="list" item="l" open="(" close=")" separator="," > + #{l.code} + </foreach> + and im.name in + <foreach collection="list" item="l" open="(" close=")" separator=","> + #{l.name} + </foreach> + </select> + <select id="selectTestSamp" resultType="java.util.Map"> + SELECT i.id, + i.type, + im.`name`, + im.supplier, + i.inspection_status inspectionStatus, + i.start_time startTime, + i.end_time endTime + FROM inspection i + INNER JOIN inspection_material im ON i.id = im.inspection_id + where (i.state = 1 AND i.inspection_status is NOT NULL and im.state=1) + <if test="dto.beginDate!=null and dto.endDate!=null"> + DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} + AND #{dto.endDate} + AND DATE_FORMAT( i.start_time, '%Y-%m-%d' )>= #{dto.beginDate} + </if> + <if test="dto.type!=null"> + and i.type=#{dto.type} + </if> + <if test="dto.supplier!=null and dto.supplier!=''"> + and im.supplier=#{dto.supplier} + </if> + <if test="dto.sample!=null and dto.sample!=''"> + and im.name=#{dto.sample} + </if> + <if test="dto.code!=null and dto.code!=''"> + and i.code=#{dto.code} + </if> + </select> + <select id="getSampleOptions" resultType="java.util.Map"> + SELECT + i.id, + i.type, + im.`name` name, + im.supplier, + i.inspection_status inspectionStatus, + i.start_time startTime, + i.end_time endTime, + i.`code` + FROM + inspection i + INNER JOIN inspection_material im ON i.id = im.inspection_id + WHERE + ( i.state = 1 AND i.inspection_status IS NOT NULL AND im.state = 1 ) + </select> + + <resultMap id="ImInfoMap" type="com.yuanchu.limslaboratory.pojo.ImInfo"> + <result property="imId" column="imId"/> + <result property="iCode" column="iCode"/> + <result property="imName" column="imName"/> + <result property="startTime" column="startTime"/> + <result property="endTime" column="endTime"/> + <result property="inspectionStatus" column="inspectionStatus"/> + <collection property="iprInfos" ofType="iprInfo"> + <result property="iprId" column="iprId"/> + <result property="iprName" column="iprName"/> + <result property="testState" column="testState"/> + </collection> + </resultMap> </mapper> \ No newline at end of file diff --git a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml index 98a6181..ab1509d 100644 --- a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml +++ b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml @@ -23,23 +23,27 @@ <!--閫夋嫨璁惧--> <resultMap id="chooseinstumMap" type="map"> - <id property="father_name" column="father_name"/> - <collection property="father" resultMap="chooseinstumTowMap" javaType="List"/> + <id property="id" column="cid"/> + <result property="name" column="father_name"/> + <collection property="children" resultMap="chooseinstumTowMap" javaType="List"/> </resultMap> <resultMap id="chooseinstumTowMap" type="map"> - <id property="son_name" column="son_name"/> - <collection property="chldren" resultMap="chooseinstumTowsMap" javaType="List"/> + <id property="id" column="cid"/> + <result property="name" column="son_name"/> + <collection property="children" resultMap="chooseinstumTowsMap" javaType="List"/> </resultMap> <resultMap id="chooseinstumTowsMap" type="map"> <id property="id" column="id"/> <result property="name" column="name"/> </resultMap> <select id="chooseinstum" resultMap="chooseinstumMap"> - select instrument.id, - father_name, - son_name, + select c.id cid, + instrument.id, + father_name , + son_name , 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> diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductModelController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductModelController.java index 54c77ae..6eee650 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductModelController.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductModelController.java @@ -34,11 +34,7 @@ @Autowired private ProductModelService productModelService; - @ApiOperation(value = "閫夋嫨鏍峰搧鍚嶇О") - @GetMapping("/selectmater") - public Result selectmater() { - return Result.success(productModelService.selectmater()); - } + @ApiOperation(value = "娣诲姞鏍囧噯-->閫夋嫨椤圭洰鍒嗙粍") @GetMapping("/selectfather") diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductModelService.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductModelService.java index 144d1bf..f34e701 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductModelService.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductModelService.java @@ -17,11 +17,7 @@ */ public interface ProductModelService extends IService<ProductModel> { - /** - * 閫夋嫨鏍峰搧鍚嶇О - * @return - */ - List<String> selectmater(); + /** * 娣诲姞鏍囧噯-->閫夋嫨椤圭洰鍒嗙粍 diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java index 7b4d711..6650cf6 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java @@ -1,10 +1,9 @@ package com.yuanchu.limslaboratory.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; + import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yuanchu.limslaboratory.mapper.ProductModelMapper; import com.yuanchu.limslaboratory.pojo.Material; import com.yuanchu.limslaboratory.mapper.MaterialMapper; @@ -17,14 +16,11 @@ import com.yuanchu.limslaboratory.service.ProductService; import com.yuanchu.limslaboratory.service.SpecificationsService; import com.yuanchu.limslaboratory.service.StandardService; -import com.yuanchu.limslaboratory.utils.MyUtil; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -106,8 +102,12 @@ List<Product> productList = productModel.stream().map(stringObjectMap -> { Product product = new Product(); product.setName(stringObjectMap.get("name").toString()); - product.setFather(stringObjectMap.get("father").toString()); - product.setUnit(stringObjectMap.get("unit").toString()); + if (ObjectUtils.isNotEmpty(stringObjectMap.get("father"))) { + product.setFather(stringObjectMap.get("father").toString()); + } + if (ObjectUtils.isNotEmpty(stringObjectMap.get("unit"))) { + product.setUnit(stringObjectMap.get("unit").toString()); + } product.setSpecifications_id(specifications.getId()); return product; }).collect(Collectors.toList()); diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductModelServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductModelServiceImpl.java index a42754d..3aca4c6 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductModelServiceImpl.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductModelServiceImpl.java @@ -28,11 +28,6 @@ @Resource ProductModelMapper productModelMapper; - //閫夋嫨鏍峰搧 - @Override - public List<String> selectmater() { - return productModelMapper.selectmater(); - } //娣诲姞鏍囧噯-->閫夋嫨椤圭洰鍒嗙粍 @Override diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java index b2f887e..d6a5bd6 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.yuanchu.limslaboratory.mapper.ProductModelMapper; import com.yuanchu.limslaboratory.pojo.Product; import com.yuanchu.limslaboratory.pojo.Specifications; @@ -14,7 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; -import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.util.ArrayList; @@ -87,12 +87,12 @@ List<Product> productList = productModel.stream().map(stringObjectMap -> { Product product = new Product(); product.setName(stringObjectMap.get("name").toString()); - try{ + if (ObjectUtils.isNotEmpty(stringObjectMap.get("father"))) { product.setFather(stringObjectMap.get("father").toString()); - }catch (Exception e){ - product.setFather(null); } - product.setUnit(stringObjectMap.get("unit").toString()); + if (ObjectUtils.isNotEmpty(stringObjectMap.get("unit"))) { + product.setUnit(stringObjectMap.get("unit").toString()); + } product.setSpecifications_id(specifications.getId()); return product; }).collect(Collectors.toList()); diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java index 9c7ab92..479ea03 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java @@ -107,8 +107,12 @@ List<Product> productList = productModel.stream().map(stringObjectMap -> { Product product = new Product(); product.setName(stringObjectMap.get("name").toString()); - product.setFather(stringObjectMap.get("father").toString()); - product.setUnit(stringObjectMap.get("unit").toString()); + if (ObjectUtils.isNotEmpty(stringObjectMap.get("father"))) { + product.setFather(stringObjectMap.get("father").toString()); + } + if (ObjectUtils.isNotEmpty(stringObjectMap.get("unit"))) { + product.setUnit(stringObjectMap.get("unit").toString()); + } product.setSpecifications_id(specifications.getId()); return product; }).collect(Collectors.toList()); -- Gitblit v1.9.3