From f77a2eba10ce3f430d31a34790a8a1184c8069e6 Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期二, 22 八月 2023 11:50:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java | 15 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/NonConformanceReviewServiceImpl.java | 1 laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java | 3 inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/ReportMapper.java | 7 inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml | 27 + inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/MapHandlerDto.java | 22 inspection-server/src/main/resources/mapper/InspectionMapper.xml | 18 inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/QualificationRateStatisticsMapper.java | 22 standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductModelMapper.java | 6 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/QualificationRateStatisticsController.java | 50 + inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java | 3 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/HomeService.java | 13 inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductMapper.java | 16 standard-server/src/main/resources/mapper/ProductModelMapper.xml | 9 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/NonConformingFeedbackDto.java | 6 framework/src/main/java/com/yuanchu/limslaboratory/utils/MapUtil.java | 36 + inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java | 9 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java | 13 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java | 56 - user-server/src/main/resources/mapper/UserMapper.xml | 1 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionProductServiceImpl.java | 71 -- inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java | 40 + laboratory-server/src/main/resources/mapper/InstrumentMapper.xml | 30 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java | 24 laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java | 6 inspection-server/src/main/resources/mapper/NonConformingFeedbackMapper.xml | 41 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Inspection.java | 9 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RawMaterialServiceImpl.java | 12 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductModelServiceImpl.java | 9 laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInfoAndIns.java | 2 inspection-server/src/main/resources/mapper/ReportMapper.xml | 49 - inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/HomeServiceImpl.java | 38 + inspection-server/src/main/resources/mapper/PlanMapper.xml | 15 standard-server/src/main/resources/mapper/MaterialMapper.xml | 7 framework/src/main/java/com/yuanchu/limslaboratory/utils/ArrayListUtil.java | 128 ++++ inspection-server/src/main/resources/mapper/InspectionProductMapper.xml | 40 + inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/ProjectNum.java | 13 laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdatedMetricalInformationDto.java | 43 + standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java | 10 framework/src/main/java/com/yuanchu/limslaboratory/utils/JsonUtil.java | 54 ++ inspection-server/src/main/java/com/yuanchu/limslaboratory/service/QualificationRateStatisticsService.java | 25 laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml | 24 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ReportVo.java | 34 + laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java | 18 user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java | 1 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SeriesDto.java | 32 + inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SelectQualificationRateDto.java | 52 + inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java | 38 + inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/QualificationRateStatisticsServiceImpl.java | 101 +++ inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionProduct.java | 7 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java | 22 standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java | 3 /dev/null | 37 - laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MetricalInformationService.java | 3 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java | 137 ++++ inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Report.java | 11 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java | 38 + inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/HomeController.java | 37 + inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/NonConformingFeedback.java | 6 59 files changed, 1,288 insertions(+), 312 deletions(-) diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/utils/ArrayListUtil.java b/framework/src/main/java/com/yuanchu/limslaboratory/utils/ArrayListUtil.java new file mode 100644 index 0000000..760e5c7 --- /dev/null +++ b/framework/src/main/java/com/yuanchu/limslaboratory/utils/ArrayListUtil.java @@ -0,0 +1,128 @@ +package com.yuanchu.limslaboratory.utils; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @Author 寮犲 + */ +public class ArrayListUtil { + + /** + * 鍗曞�奸泦鍚堝幓閲� + * @param objList + * @param <T> + * @return + */ + public static <T> List<T> singleValueDistinct(List<T>objList){ + return objList.stream().distinct().collect(Collectors.toList()); + } + + /** + * 鍗曞�奸泦鍚堟瘮杈� 涓婚泦鍚堜腑涓庢闆嗗悎涓嶇浉绛夋暟鎹� + * @param mainList 涓婚泦鍚� + * @param secondaryList 娆¤闆嗗悎 + * @param <T> + * @return 涓婚泦鍚堜腑璺熸瑕侀泦鍚堜笉鐩哥瓑鐨勬暟鎹� + */ + public static <T> List<T> compareNotEqualListBySingleValue(List<T>mainList,List<T>secondaryList){ + return mainList.stream().filter(item -> !secondaryList.stream() + .map(e -> e).distinct().collect(Collectors.toList()) + .contains(item)) + .collect(Collectors.toList()); + } + + /** + * 鍗曞�奸泦鍚堟瘮杈� 涓婚泦鍚堜腑涓庢闆嗗悎鐩哥瓑鏁版嵁 + * @param mainList 涓婚泦鍚� + * @param secondaryList 娆¤闆嗗悎 + * @param <T> + * @return 涓婚泦鍚堜腑璺熸瑕侀泦鍚堜笉鐩哥瓑鐨勬暟鎹� + */ + public static <T> List<T> compareEqualListBySingleValue(List<T>mainList,List<T>secondaryList){ + return mainList.stream().filter(item -> secondaryList.stream() + .map(e -> e).collect(Collectors.toList()) + .contains(item)) + .collect(Collectors.toList()); + } + + /** + * 鍗曞�奸泦鍚堝悎骞� + * @param isDistinct + * @param values + * @param <T> + * @return + */ + @SafeVarargs + public static <T> List<T> mergeListBySingleValue(boolean isDistinct, List<T>... values){ + //鍘婚噸鍚堝苟 + if (isDistinct){ + return Stream.of(values).flatMap(Collection::stream).distinct().collect(Collectors.toList()); + } + return Stream.of(values).flatMap(Collection::stream).collect(Collectors.toList()); + } + + /** + * 鍗曚釜瀵硅薄闆嗗悎鏍规嵁瀵硅薄灞炴�у幓閲嶉泦鍚� + * @param keyExtractor + * @param objects + * @param <T> + * @return + */ + public static <T> List<T> oneObjectsDistinctByProperty(Function<? super T, ?> keyExtractor,List<T> objects){ + List<T> newList = new ArrayList<>(); + objects.stream().filter(distinctByKey(keyExtractor)) //filter淇濈暀true鐨勫�� + .forEach(newList::add); + return newList; + } + + /** + * 澶氬璞¢泦鍚堝悎骞舵牴鎹睘鎬у幓閲� + * @param objects + * @param <T> + * @return + */ + @SafeVarargs + public static <T> List<T> mergeListByObjectsDistinct(Function<? super T, ?> keyExtractor,List<T>... objects){ + List<T> tList = mergeListByObjects(objects); + return oneObjectsDistinctByProperty(keyExtractor,tList); + } + + /** + * 澶氬璞¢泦鍚堝悎骞舵棤闇�鍘婚噸 閲嶈浇 + * @param objects + * @param <T> + * @return + */ + @SafeVarargs + public static <T> List<T> mergeListByObjectsDistinct(List<T>... objects){ + return mergeListByObjects(objects); + } + + private static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) { + Map<Object,Boolean> seen = new ConcurrentHashMap<>(); + //putIfAbsent鏂规硶娣诲姞閿�煎锛屽鏋渕ap闆嗗悎涓病鏈夎key瀵瑰簲鐨勫�硷紝鍒欑洿鎺ユ坊鍔狅紝骞惰繑鍥瀗ull锛屽鏋滃凡缁忓瓨鍦ㄥ搴旂殑鍊硷紝鍒欎緷鏃т负鍘熸潵鐨勫�笺�� + //濡傛灉杩斿洖null琛ㄧず娣诲姞鏁版嵁鎴愬姛(涓嶉噸澶�)锛屼笉閲嶅(null==null :TRUE) + return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null; + } + + /** + * 瀵硅薄闆嗗悎鍚堝苟 + * @param objects + * @param <T> + * @return + */ + @SafeVarargs + private static <T> List<T> mergeListByObjects(List<T>... objects){ + return Stream.of(objects).flatMap(Collection::stream).collect(Collectors.toList()); + } + + +} diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/utils/JsonUtil.java b/framework/src/main/java/com/yuanchu/limslaboratory/utils/JsonUtil.java new file mode 100644 index 0000000..27b1f82 --- /dev/null +++ b/framework/src/main/java/com/yuanchu/limslaboratory/utils/JsonUtil.java @@ -0,0 +1,54 @@ +package com.yuanchu.limslaboratory.utils; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; + +import java.text.SimpleDateFormat; + +/** + * @Author 寮犲 + */ +public class JsonUtil { + + private static ObjectMapper JSON_MAPPER = new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + static { + JSON_MAPPER.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); + JSON_MAPPER.registerModule(new JavaTimeModule()); + } + + /** + * json杞崲瀵瑰簲瀹炰綋 + * @param json + * @param clazz + * @param <T> + * @return + */ + public static <T> T jsonToPojo(String json, Class<T> clazz){ + T t=null; + try { + t=JSON_MAPPER.readValue(json,clazz); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return t; + } + + /** + * 瀹炰綋杞崲鎴恓son瀛楃 + * @param t + * @param <T> + * @return + */ + public static <T> String jsonToString(T t){ + String result=null; + try { + result=JSON_MAPPER.writeValueAsString(t); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return result; + } + +} diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/utils/MapUtil.java b/framework/src/main/java/com/yuanchu/limslaboratory/utils/MapUtil.java new file mode 100644 index 0000000..072aadf --- /dev/null +++ b/framework/src/main/java/com/yuanchu/limslaboratory/utils/MapUtil.java @@ -0,0 +1,36 @@ +package com.yuanchu.limslaboratory.utils; + +import org.apache.commons.lang3.ArrayUtils; + +import java.util.Iterator; +import java.util.Map; + +/** + * @Author 寮犲 + */ +public class MapUtil{ + + + + /** + * Map涓牴鎹甼ey鎵归噺鍒犻櫎閿�煎 + * @param map + * @param excludeKeys + * @param <K> + * @param <V> + * @return + */ + public static <K, V> Map removeEntries(Map<K, V> map, K[] excludeKeys) { + Iterator<K> iterator = map.keySet().iterator(); + while (iterator.hasNext()) { + K key = iterator.next(); + // 濡傛灉key 鍒氬ソ鍦ㄨ鎺掗櫎鐨刱ey鐨勮寖鍥翠腑 + if (ArrayUtils.contains(excludeKeys, key)) { + iterator.remove(); + map.remove(key); + } + } + return map; + } +} + 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 new file mode 100644 index 0000000..04a96f4 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/HomeController.java @@ -0,0 +1,37 @@ +package com.yuanchu.limslaboratory.controller; + + +import com.yuanchu.limslaboratory.pojo.ProjectNum; +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; + +/** + * 棣栭〉 + * @author zss + * @since 2023-08-03 13:03:36 + */ +@Api(tags = "棣栭〉") +@RestController +@RequestMapping("/home") +public class HomeController { + + @Resource + HomeService homeService; + + @ApiOperation("璁$畻妫�楠屼笌鏈楠岀殑鍗曞瓙涓庨」鐩殑鏁伴噺鎺ュ彛") + @GetMapping("/checkProjectNum") + public Result checkProjectNum() { + ProjectNum projectNum=homeService.checkProjectNum(); + return Result.success(projectNum); + } +} 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 fd379d3..321f720 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 @@ -6,6 +6,7 @@ import java.util.*; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.yuanchu.limslaboratory.mapper.UserMapper; import com.yuanchu.limslaboratory.pojo.Inspection; import com.yuanchu.limslaboratory.pojo.Report; import com.yuanchu.limslaboratory.pojo.vo.InspectionVo; @@ -45,6 +46,9 @@ @Resource LinkBasicInformationService linkBasicInformationService; + @Resource + UserMapper userMapper; + @ApiOperation(value = "鏌ヨ妫�楠岀敵璇峰崟鍒楄〃") @ApiImplicitParams(value = { @ApiImplicitParam(name = "pageSize", value = "椤垫暟", dataTypeClass = Integer.class, required = true), @@ -71,10 +75,10 @@ case 0: //鍘熸潗鏂� return Result.success(rawMaterialService.selectRawmaAll()); - case 1: + case 2: //濮旀墭鍗� return Result.success(linkBasicInformationService.selectLinkAll()); - case 2: + case 1: //鎴愬搧妫�楠� return Result.success("璇疯緭鍏ユ楠屼俊鎭�!"); } @@ -99,19 +103,31 @@ return Result.success(inspectionService.selectInspectsListById(id)); } - @ApiOperation(value = "涓婃姤(鏇存柊妫�楠岀姸鎬�)") + @ApiOperation(value = "閫夋嫨妫�楠岄」鐩殑璐d换浜�") + @GetMapping("/selectUser") + public Result selectUser() { + return Result.success(userMapper.selectUser()); + } + + @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) + }) + @GetMapping("/chooseUseProId") + public Result chooseUseProId(Integer id,Integer userProId) { + return Result.success(inspectionService.chooseUseProId(id,userProId)); + } + + @ApiOperation(value = "浣滃簾妫�楠屽崟") @ApiImplicitParams(value = { @ApiImplicitParam(name = "id", value = "妫�楠屽崟id", dataTypeClass = Integer.class, required = true) }) - @PostMapping("/updateInspectsById") - public Result updateInspectsById(Integer id) { - //濡傛灉宸茬粡涓婃姤浜嗕笉鑳藉啀涓�娆′笂鎶� - Inspection inspection = inspectionService.getById(id); - if (ObjectUtils.isNotEmpty(inspection.getInspectionStatus())) { - return Result.fail("宸茬粡涓婃姤杩囦簡,涓嶈兘鍐嶆涓婃姤!"); - } - return Result.success(inspectionService.updateInspectsById(id)); + @PostMapping("/delInspect") + public Result delInspect(Integer id) { + return Result.success(inspectionService.delInspect(id)); } + } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java index 84e6ac8..4f53cb3 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java @@ -1,5 +1,7 @@ package com.yuanchu.limslaboratory.controller; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.yuanchu.limslaboratory.pojo.Inspection; import com.yuanchu.limslaboratory.service.PlanService; import com.yuanchu.limslaboratory.vo.Result; import io.swagger.annotations.Api; @@ -10,7 +12,6 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; - import javax.annotation.Resource; /** @@ -57,11 +58,30 @@ @ApiOperation("鍒嗛厤") @ApiImplicitParams(value = { @ApiImplicitParam(name = "id", value = "妫�楠岄」鐩甶d", dataTypeClass = Integer.class, required = true), - @ApiImplicitParam(name = "userId", value = "妫�楠屼汉id", dataTypeClass = Integer.class, required = true), + @ApiImplicitParam(name = "userId", value = "鎵ц浜篿d", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "instrumentId", value = "璁惧id", dataTypeClass = Integer.class, required = true) }) @PostMapping("/distribution") public Result distribution(Integer id, Integer userId, Integer instrumentId) { return Result.success(planService.distribution(id, userId, instrumentId)); } + + @ApiOperation("妫�楠�") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "id", value = "妫�楠岄」鐩甶d", dataTypeClass = Integer.class, required = true), + @ApiImplicitParam(name = "value", value = "妫�楠屽��", dataTypeClass = String.class) + }) + @PostMapping("/check") + public Result check(Integer id, String value) { + return Result.success(planService.check(id, value)); + } + + @ApiOperation("涓婃姤") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "id", value = "妫�楠屽崟id", dataTypeClass = Integer.class, required = true) + }) + @PostMapping("/reported") + public Result reported(Integer id) { + return Result.success(planService.reported(id)); + } } 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 new file mode 100644 index 0000000..4f3c981 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/QualificationRateStatisticsController.java @@ -0,0 +1,50 @@ +package com.yuanchu.limslaboratory.controller; + +import com.yuanchu.limslaboratory.pojo.Dto.SelectQualificationRateDto; +import com.yuanchu.limslaboratory.service.QualificationRateStatisticsService; +import com.yuanchu.limslaboratory.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @Author 寮犲 + * @Date 2023/8/21 + */ +@Api(tags = "璇曢獙绠$悊-->鍚堟牸鐜囩粺璁�") +@RequestMapping("/qualificationRate") +@RestController +public class QualificationRateStatisticsController { + + @Resource + private QualificationRateStatisticsService service; + + @ApiOperation("鏌ヨ鐢宠鐗╂枡鍗曚緵搴斿晢鍒楄〃") + @GetMapping("/getSupplierList") + public Result<?> getSupplierList() { + return Result.success(service.getSupplierList()); + } + + @ApiOperation("鏌ヨ妫�楠屾牱鍝佸悎鏍肩巼缁熻") + @GetMapping("/getTestSampleStatistics") + public Result<?> getTestSampleStatistics(SelectQualificationRateDto dto){ + return Result.success(service.getTestSampleStatistics(dto)); + } + + @ApiOperation("鏌ヨ渚涘簲鍟嗕笉鍚堟牸缁熻娆℃暟") + @GetMapping("/getSupplierNoPassStatistics") + public Result<?> getSupplierNoPassStatistics(SelectQualificationRateDto dto){ + return Result.success(service.getSupplierNoPassStatistics(dto)); + } + + @ApiOperation("鏌ヨ涓嶅悎鏍奸」鐩粺璁�") + @GetMapping("/getNoPassProjectStatistics") + public Result<?> getNoPassProjectStatistics(SelectQualificationRateDto dto){ + return Result.success(service.getNoPassProjectStatistics(dto)); + } + +} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java index a5d2ce3..559238f 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.pojo.RawMaterial; import com.yuanchu.limslaboratory.service.RawMaterialService; -import com.yuanchu.limslaboratory.utils.MyUtil; import com.yuanchu.limslaboratory.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -14,9 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; - import org.springframework.web.bind.annotation.RestController; - import java.util.HashMap; import java.util.Map; import java.util.Objects; diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportAuditingController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportAuditingController.java deleted file mode 100644 index f8b6e42..0000000 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportAuditingController.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.yuanchu.limslaboratory.controller; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yuanchu.limslaboratory.pojo.vo.ReportAuditingVo; -import com.yuanchu.limslaboratory.service.ReportAuditingService; -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; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import java.util.HashMap; -import java.util.Map; - - -/** - * <p> - * 鍓嶇鎺у埗鍣� - * </p> - * - * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 - * @since 2023-08-07 - */ -@Api(tags = "妫�楠屾ā鍧�-->鎶ュ憡瀹℃牳") -@RestController -@RequestMapping("/reportAuditing") -public class ReportAuditingController { - /** - * 鏈嶅姟瀵硅薄 - */ - @Resource - private ReportAuditingService reportAuditingService; - - @ApiOperation("鏌ヨ鎶ュ憡瀹℃牳鍐呭") - @ApiImplicitParams(value = { - @ApiImplicitParam(name = "page", value = "鍒濆椤�", dataTypeClass = Integer.class, required = true), - @ApiImplicitParam(name = "pageSize", value = "姣忎竴椤垫暟閲�", dataTypeClass = Integer.class, required = true), - @ApiImplicitParam(name = "status", value = "鐘舵��(涓虹┖=鍏ㄩ儴)", dataTypeClass = Integer.class), - @ApiImplicitParam(name = "name", value = "鎼滅储淇℃伅", dataTypeClass = String.class) - }) - @GetMapping("/selectAllReportAuditing") - public Result selectAllReportCheck(Integer page, Integer pageSize, Integer status, String name) { - IPage<ReportAuditingVo> reportPage = reportAuditingService.selectAllReportAuditing(new Page<Object>(page, pageSize), status, name); - Map<String, Object> map = new HashMap<>(); - map.put("total", reportPage.getTotal()); - map.put("row", reportPage.getRecords()); - return Result.success(map); - } - -} - diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java index 5a3ece9..46c9563 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java @@ -5,15 +5,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.pojo.vo.ReportVo; import com.yuanchu.limslaboratory.service.ReportService; +import com.yuanchu.limslaboratory.utils.JackSonUtil; +import com.yuanchu.limslaboratory.utils.RedisUtil; 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.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.HashMap; @@ -32,9 +32,7 @@ @RestController @RequestMapping("/report") public class ReportController { - /** - * 鏈嶅姟瀵硅薄 - */ + @Resource private ReportService reportService; @@ -54,5 +52,35 @@ return Result.success(map); } + @ApiOperation("鎻愪氦") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "id", value = "妫�楠屾姤鍛奿d", dataTypeClass = Integer.class, required = true) + }) + @PostMapping("/submit") + public Result submit(Integer id) { + return Result.success(reportService.submit(id)); + } + + @ApiOperation("瀹℃牳") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "id", value = "妫�楠屾姤鍛奿d", dataTypeClass = Integer.class, required = true), + @ApiImplicitParam(name = "result", value = "瀹℃牳缁撹", dataTypeClass = String.class, required = true) + }) + @PostMapping("/check") + public Result check(@RequestHeader("token") String token, Integer id, String result) throws Exception { + Object object = RedisUtil.get(token); + Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class); + return Result.success(reportService.check((String) unmarshal.get("name"), id, result)); + } + + @ApiOperation("鍒犻櫎") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "id", value = "妫�楠屾姤鍛奿d", dataTypeClass = Integer.class, required = true) + }) + @PostMapping("/delreport") + public Result delreport(Integer id) { + return Result.success(reportService.delreport(id)); + } + } 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 dd00306..5ae9960 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,9 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.pojo.Inspection; -import com.yuanchu.limslaboratory.pojo.vo.InspectionVo; - -import java.util.List; import java.util.Map; /** @@ -25,5 +22,11 @@ * @return */ IPage<Map<String, Object>> selectInspectsList(Page<Object> page, String message); + + //璁$畻宸叉楠屾楠屽崟鏁伴噺 + Integer seleCountIns(); + + //璁$畻鏈楠岀殑鏁伴噺 + Integer seleCountUnIns(); } 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 f73d82b..85a64d6 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 @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.yuanchu.limslaboratory.pojo.InspectionProduct; +import java.util.List; + /** * 鐢宠鍗曚笅鐗╂枡涓殑椤圭洰(InspectionProduct)琛ㄦ暟鎹簱璁块棶灞� * @@ -11,5 +13,19 @@ */ public interface InspectionProductMapper extends BaseMapper<InspectionProduct> { + //鏍规嵁椤圭洰id灏嗗凡鏈夌殑妫�楠岀粨璁烘敼涓簄ull + void upda(Integer id); + + //鏍规嵁妫�楠屽崟id鏌ヨ妫�楠岄」鐩殑妫�楠岀粨鏋� + List<Integer> getresult(Integer id); + + //鏍规嵁妫�楠屾牱鍝乮d浣滃簾妫�楠岄」鐩� + void updat(Integer id); + + //璁$畻宸叉楠岄」鐩暟閲� + Integer seleCountInspro(); + + //璁$畻鏈楠岄」鐩暟閲� + Integer seleCountUnInspro(); } 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 new file mode 100644 index 0000000..590dc28 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/QualificationRateStatisticsMapper.java @@ -0,0 +1,22 @@ +package com.yuanchu.limslaboratory.mapper; + +import com.yuanchu.limslaboratory.pojo.Dto.SelectQualificationRateDto; +import org.apache.ibatis.annotations.MapKey; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + +/** + * @Author 寮犲 + * @Date 2023/8/21 + */ +@Repository +public interface QualificationRateStatisticsMapper { + + @MapKey("id") + List<Map<String, Object>>selectSupplierByCondition(@Param("dto") SelectQualificationRateDto dto); + + +} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/ReportMapper.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/ReportMapper.java index c5f3504..d22692c 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/ReportMapper.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/ReportMapper.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.pojo.Report; -import com.yuanchu.limslaboratory.pojo.vo.ReportAuditingVo; import com.yuanchu.limslaboratory.pojo.vo.ReportVo; /** @@ -24,10 +23,6 @@ */ IPage<ReportVo> selectAllReport(Page<Object> page, Integer status, String name); - /** - * 鏌ヨ鎶ュ憡瀹℃牳 - * @return - */ - IPage<ReportAuditingVo> selectAllReportAuditing(Page<Object> page, Integer status, String name); + } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/MapHandlerDto.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/MapHandlerDto.java new file mode 100644 index 0000000..03c894f --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/MapHandlerDto.java @@ -0,0 +1,22 @@ +package com.yuanchu.limslaboratory.pojo.Dto; + +import com.yuanchu.limslaboratory.utils.JackSonUtil; +import com.yuanchu.limslaboratory.utils.JsonUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * @Author 寮犲 + * @Date 2023/8/21 + */ +@Component +@Slf4j +public class MapHandlerDto { + + public static String comparingBySupplier(Object o){ + Map map= JsonUtil.jsonToPojo(JsonUtil.jsonToString(o),Map.class); + return String.valueOf(map.get("supplier")); + } +} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/NonConformingFeedbackDto.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/NonConformingFeedbackDto.java index 5ed3e80..1ed54cf 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/NonConformingFeedbackDto.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/NonConformingFeedbackDto.java @@ -24,12 +24,12 @@ @ApiModelProperty(value = "鍒嗛〉澶氬皯鏉�", example = "10", required = true) private Long pageNum; - @ApiModelProperty(value = "鏍峰搧缂栧彿", example = "1680929494813868034", required = true) + @ApiModelProperty(value = "鏍峰搧缂栧彿", example = "1680929494813868034") private String materialCode; - @ApiModelProperty(value = "鏍峰搧鍚嶇О", example = "鐢电嚎鐢电紗", required = true) + @ApiModelProperty(value = "鏍峰搧鍚嶇О", example = "鐢电嚎鐢电紗") private String materialName; - @ApiModelProperty(value = "鐢宠鍗曞彿", example = "XG-UGYUGH", required = true) + @ApiModelProperty(value = "鐢宠鍗曞彿", example = "XG-UGYUGH") private String inspectionCode; } 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 new file mode 100644 index 0000000..29d0c71 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SelectQualificationRateDto.java @@ -0,0 +1,52 @@ +package com.yuanchu.limslaboratory.pojo.Dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Author 寮犲 + * @Date 2023/8/21 + */ +@Data +@ApiModel(value="鏌ヨ鍚堟牸鐜囧璞�", description="") +public class SelectQualificationRateDto implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 寮�濮嬫椂闂� + */ + @ApiModelProperty(value = "寮�濮嬫椂闂�") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date beginDate; + + /** + * 缁撴潫鏃堕棿 + */ + @ApiModelProperty(value = "缁撴潫鏃堕棿") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date endDate; + + /*** + * 绫诲瀷 + */ + @ApiModelProperty(value = "妫�楠岀被鍨�") + private Integer type; + + /** + * 渚涘簲鍟� + */ + @ApiModelProperty(value = "渚涘簲鍟�") + private String supplier; + + +} 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 new file mode 100644 index 0000000..1474065 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/SeriesDto.java @@ -0,0 +1,32 @@ +package com.yuanchu.limslaboratory.pojo.Dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author 寮犲 + * @Date 2023/8/21 + */ +@Data +public class SeriesDto implements Serializable { + + private String name; + private List<Long> data; + private String type; + private String stack; + + public SeriesDto(String name, List<Long> data) { + this.name = name; + this.data = data; + this.type = "bar"; + this.stack = "x"; + } + + public SeriesDto(String name) { + this.name = name; + this.type = "bar"; + this.stack = "x"; + } +} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Inspection.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Inspection.java index 3af517c..bbaf1c4 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Inspection.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Inspection.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; import lombok.*; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; @@ -46,9 +47,7 @@ **/ private Integer inspectionStatus; - /** - * ${column.comment} - **/ + @ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true) private Integer state; /** @@ -59,9 +58,7 @@ @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/InspectionProduct.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionProduct.java index 61d8e22..64d49bb 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionProduct.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionProduct.java @@ -84,7 +84,7 @@ private Integer inspectionMaterialId; /** - * 鍏宠仈 鐢ㄦ埛id 璇曢獙鍛� + * 鍏宠仈 鐢ㄦ埛id 鎵ц浜� **/ private Integer userId; @@ -92,5 +92,10 @@ * 鍏宠仈 璁惧id **/ private Integer instrumentId; + + /** + * 鍏宠仈 鐢ㄦ埛id 璐d换浜� + **/ + private Integer userProId; } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/NonConformingFeedback.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/NonConformingFeedback.java index 845460b..29dffc2 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/NonConformingFeedback.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/NonConformingFeedback.java @@ -18,6 +18,8 @@ private static final long serialVersionUID = 1L; + private Integer id; + /** * 鏍峰搧缂栧彿 */ @@ -50,4 +52,8 @@ */ private String specifications; + /** + * 缁撹0:涓嶅悎鏍� ; 1:鍚堟牸 + */ + private Integer result; } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/ProjectNum.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/ProjectNum.java new file mode 100644 index 0000000..3f9c2e1 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/ProjectNum.java @@ -0,0 +1,13 @@ +package com.yuanchu.limslaboratory.pojo; + +import lombok.Data; + +@Data +public class ProjectNum { + + private int insNum; //宸叉楠岀殑妫�楠屽崟鏁伴噺 + private int insUnNum; //鏈楠岀殑妫�楠屽崟鏁伴噺 + private int insproNum; //宸叉楠岀殑妫�楠岄」鐩暟閲� + private int insproUnNum; //鏈楠岀殑妫�楠岄」鐩暟閲� + +} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Report.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Report.java index 0ecf6b6..07e3da7 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Report.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Report.java @@ -44,14 +44,21 @@ @ApiModelProperty(value = "鍏宠仈 鐢宠琛╥d") private Integer inspectionId; + @ApiModelProperty(value = "瀹℃牳鏃堕棿", hidden = true) + @JsonFormat(pattern = "yyyy-MM-dd ", timezone = "GMT+8") + private Date checkTime; + @TableField(fill = FieldFill.INSERT) @ApiModelProperty(value = "鍒涘缓鏃堕棿", hidden = true) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd ", timezone = "GMT+8") private Date createTime; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd ", timezone = "GMT+8") @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime; + @ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true) + private Integer state; + } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ReportAuditingVo.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ReportAuditingVo.java deleted file mode 100644 index 7e7ffd1..0000000 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ReportAuditingVo.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yuanchu.limslaboratory.pojo.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; - -/** - * 鎶ュ憡瀹℃牳 - */ -@Data -public class ReportAuditingVo { - @ApiModelProperty(value = "鏍峰搧缂栧彿") - @JsonSerialize - private String materialCode; - @ApiModelProperty(value = "鎶ュ憡鍗曞彿") - @JsonSerialize - private String reportCode; - @ApiModelProperty(value = "鏍峰搧鍚嶇О") - @JsonSerialize - private String materialName; - @ApiModelProperty(value = "瀹℃壒鐘舵�� 0锛氬緟鎻愪氦 1锛氬緟閫氳繃") - @JsonSerialize - private Integer status; - @ApiModelProperty(value = "瀹℃壒浜�") - @JsonSerialize - private Integer approver; - @ApiModelProperty(value = "鎻愪氦鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date submitTime; - @ApiModelProperty(value = "瀹℃牳鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date checkTime; -} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ReportVo.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ReportVo.java index 9c7849e..478437d 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ReportVo.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/ReportVo.java @@ -1,32 +1,54 @@ package com.yuanchu.limslaboratory.pojo.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + +import java.util.Date; /** * 妫�楠屾姤鍛� */ @Data public class ReportVo { + + @ApiModelProperty(value = "妫�楠屾姤鍛奿d") + @JsonSerialize + private Integer id; + @ApiModelProperty(value = "鏍峰搧缂栧彿") @JsonSerialize private String materialCode; + @ApiModelProperty(value = "鎶ュ憡鍗曞彿") @JsonSerialize private String reportCode; - @ApiModelProperty(value = "鐢宠鍗曞彿") + + @ApiModelProperty(value = "妫�楠岀敵璇峰崟鍙�") @JsonSerialize private String inspectionCode; - @ApiModelProperty(value = "瀹℃壒浜�") + + @ApiModelProperty(value = "鏍峰搧鍚嶇О") @JsonSerialize - private Integer approver; - @ApiModelProperty(value = "瀹℃壒鐘舵�� 0锛氬緟鎻愪氦 1锛氬緟瀹℃牳锛�2锛氬凡瀹℃牳") - @JsonSerialize - private Integer status; + private String materialName; + @ApiModelProperty(value = "妫�楠岀粨璁�") @JsonSerialize private String conclusion; + + @ApiModelProperty(value = "瀹℃壒鐘舵�� 0锛氬緟鎻愪氦 1锛氬緟瀹℃牳锛�2锛氬凡閫氳繃 3:涓嶉�氳繃") + @JsonSerialize + private Integer status; + + @ApiModelProperty(value = "瀹℃壒浜�") + @JsonSerialize + private Integer approver; + + @ApiModelProperty(value = "瀹℃牳鏃堕棿", hidden = true) + @JsonFormat(pattern = "yyyy-MM-dd ", timezone = "GMT+8") + private Date checkTime; + @ApiModelProperty(value = "缂栧埗浜�") @JsonSerialize private String name; 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 new file mode 100644 index 0000000..beb6b24 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/HomeService.java @@ -0,0 +1,13 @@ +package com.yuanchu.limslaboratory.service; + +import com.yuanchu.limslaboratory.pojo.ProjectNum; + +public interface HomeService { + + /** + * 璁$畻妫�楠屼笌鏈楠岀殑鍗曞瓙涓庨」鐩殑鏁伴噺鎺ュ彛 + * @return + */ + ProjectNum checkProjectNum(); + +} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java index e95c474..4c2fec0 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java @@ -43,11 +43,20 @@ */ InspectDetailVo selectInspectsListById(Integer id); + /** - * 涓婃姤(鏇存柊妫�楠屽崟妫�楠岀粨鏋�) + * 浣滃簾妫�楠屽崟 * @param id * @return */ - boolean updateInspectsById(Integer id); + String delInspect(Integer id); + + /** + * 淇濆瓨妫�楠岄」鐩矗浠讳汉 + * @param id + * @param userProId + * @return + */ + String chooseUseProId(Integer id, Integer userProId); } 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 65c7ba6..8c870a6 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 @@ -35,4 +35,19 @@ * @return */ String distribution(Integer id, Integer userId, Integer instrumentId); + + /** + * 妫�楠� + * @param id + * @param value + * @return + */ + String check(Integer id, String value); + + /** + * 涓婃姤 + * @param id + * @return + */ + String reported(Integer id); } 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 new file mode 100644 index 0000000..35640c3 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/QualificationRateStatisticsService.java @@ -0,0 +1,25 @@ +package com.yuanchu.limslaboratory.service; + +import com.yuanchu.limslaboratory.pojo.Dto.SelectQualificationRateDto; +import com.yuanchu.limslaboratory.pojo.InspectionMaterial; + +import java.util.List; +import java.util.Map; + +/** + * @Author 寮犲 + * @Date 2023/8/21 + */ +public interface QualificationRateStatisticsService { + /** + * 鑾峰彇鐢宠鐗╂枡鍗曚笅鎵�鏈変緵搴斿晢鍒楄〃 + * @return + */ + List<InspectionMaterial> getSupplierList(); + + Map<String, Object> getTestSampleStatistics(SelectQualificationRateDto dto); + + Map<String, Object> getSupplierNoPassStatistics(SelectQualificationRateDto dto); + + Map<String, Object> getNoPassProjectStatistics(SelectQualificationRateDto dto); +} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportAuditingService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportAuditingService.java deleted file mode 100644 index 362ee97..0000000 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportAuditingService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yuanchu.limslaboratory.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yuanchu.limslaboratory.pojo.Report; -import com.yuanchu.limslaboratory.pojo.vo.ReportAuditingVo; - -/** - * <p> - * 鏈嶅姟绫� - * </p> - * - * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 - * @since 2023-08-07 - */ -public interface ReportAuditingService extends IService<Report> { - - /** - * 椤圭洰瀹℃牳琛ㄦ煡璇� - * @return - */ - IPage<ReportAuditingVo> selectAllReportAuditing(Page<Object> page, Integer status, String name); -} - diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java index f8a1f21..4e6476f 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java @@ -23,5 +23,27 @@ * @return */ IPage<ReportVo> selectAllReport(Page<Object> page, Integer status, String name); + + /** + * 鎻愪氦 + * @param id + * @return + */ + String submit(Integer id); + + /** + * 瀹℃牳 + * @param name + * @param id + * @return + */ + String check(String name, Integer id, String result); + + /** + * 鍒犻櫎 + * @param id + * @return + */ + String delreport(Integer id); } 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 new file mode 100644 index 0000000..e08a03e --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/HomeServiceImpl.java @@ -0,0 +1,38 @@ +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.service.HomeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + + +@Service +public class HomeServiceImpl implements HomeService { + + @Resource + InspectionMapper inspectionMapper; + + @Resource + InspectionProductMapper inspectionProductMapper; + + + //璁$畻妫�楠屼笌鏈楠岀殑鍗曞瓙涓庨」鐩殑鏁伴噺鎺ュ彛 + @Override + public ProjectNum checkProjectNum() { + ProjectNum projectNum = new ProjectNum(); + //宸叉楠岀殑妫�楠屽崟鏁伴噺 + projectNum.setInsNum(inspectionMapper.seleCountIns()); + //鏈楠岀殑妫�楠屽崟鏁伴噺 + projectNum.setInsUnNum(inspectionMapper.seleCountUnIns()); + //宸叉楠岀殑妫�楠岄」鐩暟閲� + projectNum.setInsproNum(inspectionProductMapper.seleCountInspro()); + //鏈楠岀殑妫�楠岄」鐩暟閲� + projectNum.setInsproUnNum(inspectionProductMapper.seleCountUnInspro()); + return projectNum; + } +} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionProductServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionProductServiceImpl.java index 7e63ffb..0c4f613 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionProductServiceImpl.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionProductServiceImpl.java @@ -1,14 +1,13 @@ package com.yuanchu.limslaboratory.service.impl; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.limslaboratory.mapper.InspectionProductMapper; import com.yuanchu.limslaboratory.pojo.InspectionProduct; -import com.yuanchu.limslaboratory.pojo.vo.InsProductVo; import com.yuanchu.limslaboratory.service.InspectionProductService; import org.springframework.stereotype.Service; -import javax.annotation.Resource; + /** * 鐢宠鍗曚笅鐗╂枡涓殑椤圭洰(InspectionProduct)琛ㄦ湇鍔″疄鐜扮被 @@ -19,72 +18,6 @@ @Service public class InspectionProductServiceImpl extends ServiceImpl<InspectionProductMapper, InspectionProduct> implements InspectionProductService { - @Resource - InspectionProductMapper inspectionProductMapper; - /* //鏇存柊妫�楠岄」鐩� - @Override - public boolean updateInsProduct(Integer userId, InspectionProduct inspectionProduct) { - //璧嬪�兼楠屽憳id - inspectionProduct.setUserId(userId); - //鍒ゆ柇妫�娴嬪�兼槸鍚︽弧瓒虫爣鍑嗗�煎拰鍐呮帶鍊肩殑瑕佹眰,濡傛灉涓嶆弧瓒冲垯妫�楠岀粨璁轰负涓嶅悎鏍�0 - String testValue = inspectionProduct.getTestValue();//妫�楠屽�� - String required = inspectionProduct.getRequired();//鏍囧噯鍊� - String internal = inspectionProduct.getInternal();//鍐呮帶鍊� - inspectionProduct.setTestState(checkValues(required, internal, testValue)); - //鏍规嵁妫�楠岄」鐩悕鍜屽叧鑱旂殑妫�楠岀墿鏂檌d鏉ユ煡璇㈡楠岄」鐩殑鏁版嵁 - LambdaUpdateWrapper<InspectionProduct> updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.eq(InspectionProduct::getInspectionMaterialId, inspectionProduct.getInspectionMaterialId()) - .eq(InspectionProduct::getName, inspectionProduct.getName()); - inspectionProductMapper.update(inspectionProduct, updateWrapper); - return true; - }*/ - - /*鍒ゆ柇妫�娴嬪�兼槸鍚︽弧瓒虫爣鍑嗗�煎拰鍐呮帶鍊肩殑瑕佹眰,濡傛灉涓嶆弧瓒冲垯妫�楠岀粨璁轰负涓嶅悎鏍�*/ - private int checkValues(String standardValueStr, String controlValueStr, String detectionValueStr) { - boolean isStandardValueSatisfied = isValueSatisfied(standardValueStr, detectionValueStr); - boolean isControlValueSatisfied = isValueSatisfied(controlValueStr, detectionValueStr); - - if (isStandardValueSatisfied && isControlValueSatisfied) { - return 1; - } else { - return 0; - } - } - - private boolean isValueSatisfied(String valueStr, String detectionValueStr) { - String substring = valueStr.substring(1, 2); - if (substring.equals("=")) { - String operator = valueStr.substring(0, 2); - Double standardValue = Double.parseDouble(valueStr.substring(2)); - Double detectionValue = Double.parseDouble(detectionValueStr); - switch (operator) { - case ">=": - return detectionValue >= standardValue; - case "<=": - return detectionValue <= standardValue; - default: - return false; - } - } else { - String operator = valueStr.substring(0, 1); - Double standardValue = Double.parseDouble(valueStr.substring(1)); - Double detectionValue = Double.parseDouble(detectionValueStr); - switch (operator) { - case ">": - return detectionValue > standardValue; - case "鈮�": - return detectionValue >= standardValue; - case "鈮�": - return detectionValue <= standardValue; - case "<": - return detectionValue < standardValue; - case "=": - return detectionValue.equals(standardValue); - default: - return false; - } - } - } } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java index 66bfb6e..9187912 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.lang.Snowflake; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -13,7 +12,6 @@ import com.yuanchu.limslaboratory.pojo.vo.InspectDetailVo; import com.yuanchu.limslaboratory.pojo.vo.InspectionVo; import com.yuanchu.limslaboratory.service.*; -import com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -61,8 +59,6 @@ @Resource UserMapper userMapper; - @Resource - ReportMapper reportMapper; /** * 鏌ヨ妫�楠岀敵璇峰崟鍒楄〃 @@ -188,36 +184,34 @@ return inspectDetailVo; } - //鏇存柊妫�楠屽崟妫�楠岀粨鏋� + //浣滃簾妫�楠屽崟 @Override @Transactional(rollbackFor = Exception.class) - public boolean updateInspectsById(Integer id) { - //鏇存柊妫�楠屽崟閲岄潰鐨勬楠岀姸鎬佸拰妫�楠岀粨璁� - InspectDetailVo inspectDetailVo = selectInspectsListById(id); - Inspection inspection = Inspection.builder() - .id(id) - .inspectionStatus(inspectDetailVo.getInspectionStatus()) - .build(); + public String delInspect(Integer id) { + /*浣滃簾妫�楠屽崟*/ + Inspection inspection = new Inspection(); + inspection.setId(id); + inspection.setState(0); inspectionMapper.updateById(inspection); - //鐢熸垚鎶ュ憡鍗� - Report report = new Report(); - //鐢熸垚鎶ュ憡鍗曞彿 - String code = MyUtil.getTimeSixNumberCode("BG","BG"); - //鑾峰彇妫�楠岀粨璁� - String conclusion = ""; - Inspection inspection1 = inspectionMapper.selectById(id); - if (inspection1.getInspectionStatus().equals(1)) { - conclusion = "鍚堟牸"; - }else { - conclusion = "涓嶅悎鏍�"; - } - report.setCode(code); - report.setStatus(0); - report.setConclusion(conclusion); - report.setInspectionId(id); - reportMapper.insert(report); - - return true; + /*浣滃簾妫�楠屾牱鍝�*/ + InspectionMaterial inspectionMaterial = inspectionMaterialMapper.selectOne(Wrappers.<InspectionMaterial>query().eq("inspection_id", id)); + inspectionMaterial.setState(0); + inspectionMaterialMapper.updateById(inspectionMaterial); + /*浣滃簾妫�楠岄」鐩�*/ + inspectionProductMapper.updat(inspectionMaterial.getId()); + return "浣滃簾鎴愬姛!"; } + + //淇濆瓨妫�楠岄」鐩矗浠讳汉 + @Override + public String chooseUseProId(Integer id, Integer userProId) { + InspectionProduct inspectionProduct = new InspectionProduct(); + inspectionProduct.setId(id); + inspectionProduct.setUserProId(userProId); + inspectionProductMapper.updateById(inspectionProduct); + return "淇濆瓨鎴愬姛!"; + } + + } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/NonConformanceReviewServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/NonConformanceReviewServiceImpl.java index 8fc347c..97d000f 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/NonConformanceReviewServiceImpl.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/NonConformanceReviewServiceImpl.java @@ -10,7 +10,6 @@ import com.yuanchu.limslaboratory.service.NonConformanceReviewService; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; - import javax.annotation.Resource; /** 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 8eb52e3..94334c3 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 @@ -1,14 +1,13 @@ package com.yuanchu.limslaboratory.service.impl; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; + +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.yuanchu.limslaboratory.mapper.*; -import com.yuanchu.limslaboratory.pojo.InspectionProduct; -import com.yuanchu.limslaboratory.pojo.Instrument; -import com.yuanchu.limslaboratory.pojo.User; -import com.yuanchu.limslaboratory.service.InstrumentService; +import com.yuanchu.limslaboratory.pojo.*; import com.yuanchu.limslaboratory.service.PlanService; +import com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; @@ -37,10 +36,16 @@ @Resource InstrumentMapper instrumentMapper; + @Resource + ReportMapper reportMapper; + + @Resource + InspectionMapper inspectionMapper; + //鏌ヨ妫�楠岃鍒� @Override - public List<Map<String,Object>> selectAllPlan(String code , String beginTime, String endTime,Integer status) { - return planMapper.selectAllPlan(code,beginTime,endTime,status); + public List<Map<String, Object>> selectAllPlan(String code, String beginTime, String endTime, Integer status) { + return planMapper.selectAllPlan(code, beginTime, endTime, status); } //鍒嗛厤-->閫夋嫨妫�楠屼汉 @@ -52,7 +57,7 @@ //鍒嗛厤-->閫夋嫨璁惧 @Override public List<Map<String, Object>> chooseinstum() { - return null; + return instrumentMapper.chooseinstum(); } //鍒嗛厤浜哄憳涓庤澶� @@ -60,9 +65,123 @@ public String distribution(Integer id, Integer userId, Integer instrumentId) { InspectionProduct inspectionProduct = new InspectionProduct(); inspectionProduct.setId(id); + //鎵ц浜� inspectionProduct.setUserId(userId); inspectionProduct.setInstrumentId(instrumentId); inspectionProductMapper.updateById(inspectionProduct); return "鍒嗛厤瀹屾垚!"; } + + //妫�楠� + @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); + } + return "鎻愪氦鎴愬姛!"; + } + + //涓婃姤 + @Override + @Transactional(rollbackFor = Exception.class) + public String reported(Integer id) { + /*鏇存柊妫�楠屽崟閲岄潰鐨勬楠岀粨璁�*/ + //鍏堝垽鏂楠岀粨鏋� + List<Integer> results = inspectionProductMapper.getresult(id); + int count = 0; + for (Integer result : results) { + if (result != null && result==1) { + count++; + } + } + //濡傛灉妫�楠岄」鐩腑鐨勭粨璁哄寘鍚笉鍚堟牸鍒欐楠屽崟涓嶅悎鏍� + if (results.contains(0)) { + Inspection inspection = new Inspection(); + inspection.setId(id); + inspection.setInspectionStatus(0); + inspectionMapper.updateById(inspection); + } else if (count == results.size()) { + Inspection inspection = new Inspection(); + inspection.setId(id); + inspection.setInspectionStatus(1); + inspectionMapper.updateById(inspection); + } else return "椤圭洰鏈楠屽畬!"; + //鐢熸垚鎶ュ憡鍗� + Report report = new Report(); + //鐢熸垚鎶ュ憡鍗曞彿 + String recode = MyUtil.getTimeSixNumberCode("BG", "BG"); + //鑾峰彇妫�楠岀粨璁� + String conclusion = ""; + Inspection inspection = inspectionMapper.selectById(id); + if (inspection.getInspectionStatus().equals(1)) { + conclusion = "鍚堟牸"; + } else { + conclusion = "涓嶅悎鏍�"; + } + report.setCode(recode); + report.setStatus(0); + report.setConclusion(conclusion); + report.setInspectionId(id); + reportMapper.insert(report); + return "涓婃姤鎴愬姛!"; + } + + + /*鍒ゆ柇妫�娴嬪�兼槸鍚︽弧瓒虫爣鍑嗗�煎拰鍐呮帶鍊肩殑瑕佹眰,濡傛灉涓嶆弧瓒冲垯妫�楠岀粨璁轰负涓嶅悎鏍�*/ + private int checkValues(String standardValueStr, String controlValueStr, String detectionValueStr) { + boolean isStandardValueSatisfied = isValueSatisfied(standardValueStr, detectionValueStr); + boolean isControlValueSatisfied = isValueSatisfied(controlValueStr, detectionValueStr); + + if (isStandardValueSatisfied && isControlValueSatisfied) { + return 1; + } else { + return 0; + } + } + + private boolean isValueSatisfied(String valueStr, String detectionValueStr) { + String substring = valueStr.substring(1, 2); + if (substring.equals("=")) { + String operator = valueStr.substring(0, 2); + Double standardValue = Double.parseDouble(valueStr.substring(2)); + Double detectionValue = Double.parseDouble(detectionValueStr); + switch (operator) { + case ">=": + return detectionValue >= standardValue; + case "<=": + return detectionValue <= standardValue; + default: + return false; + } + } else { + String operator = valueStr.substring(0, 1); + Double standardValue = Double.parseDouble(valueStr.substring(1)); + Double detectionValue = Double.parseDouble(detectionValueStr); + switch (operator) { + case ">": + return detectionValue > standardValue; + case "鈮�": + return detectionValue >= standardValue; + case "鈮�": + return detectionValue <= standardValue; + case "<": + return detectionValue < standardValue; + case "=": + return detectionValue.equals(standardValue); + default: + return false; + } + } + } } 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 new file mode 100644 index 0000000..dea8314 --- /dev/null +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/QualificationRateStatisticsServiceImpl.java @@ -0,0 +1,101 @@ +package com.yuanchu.limslaboratory.service.impl; + +import cn.hutool.json.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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.SelectQualificationRateDto; +import com.yuanchu.limslaboratory.pojo.Dto.SeriesDto; +import com.yuanchu.limslaboratory.pojo.InspectionMaterial; +import com.yuanchu.limslaboratory.service.QualificationRateStatisticsService; +import com.yuanchu.limslaboratory.utils.ArrayListUtil; +import com.yuanchu.limslaboratory.utils.JackSonUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; + +/** + * @Author 寮犲 + * @Date 2023/8/21 + */ +@Service +@Slf4j +public class QualificationRateStatisticsServiceImpl implements QualificationRateStatisticsService { + + @Resource + private InspectionMaterialMapper inspectionMaterialMapper; + + @Resource + private QualificationRateStatisticsMapper qualificationRateStatisticsMapper; + + @Override + public List<InspectionMaterial> getSupplierList() { + QueryWrapper<InspectionMaterial> queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().select(InspectionMaterial::getSupplier) + .eq(InspectionMaterial::getState, 1).groupBy(InspectionMaterial::getSupplier); + return inspectionMaterialMapper.selectList(queryWrapper); + } + + @Override + public Map<String, Object> getTestSampleStatistics(SelectQualificationRateDto dto) { + System.out.println(dto); + return null; + } + + @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("================================="); + //鍘婚噸鍙栧嚭渚涘簲鍟� + List<Map<String, Object>> supplierDistinct = ArrayListUtil.oneObjectsDistinctByProperty(MapHandlerDto::comparingBySupplier, mapList); + List<String> supplierList = new ArrayList<String>(); + supplierDistinct.forEach(l -> { + 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<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)){ + integerPass.incrementAndGet(); + }else { + integerNoPass.incrementAndGet(); + } + }); + pass.add(integerPass.get()); + noPass.add(integerNoPass.get()); + integerNoPass.set(0L); + integerPass.set(0L); + }); + seriesDto.setData(pass); + seriesDto2.setData(noPass); + seriesDtoList.add(seriesDto); + seriesDtoList.add(seriesDto2); + System.out.println("鏁伴噺=======>"); + System.out.println(seriesDtoList); + return null; + } + + @Override + public Map<String, Object> getNoPassProjectStatistics(SelectQualificationRateDto dto) { + return null; + } + + +} diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RawMaterialServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RawMaterialServiceImpl.java index 7b93cf3..de3cc31 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RawMaterialServiceImpl.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RawMaterialServiceImpl.java @@ -1,24 +1,15 @@ package com.yuanchu.limslaboratory.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; + import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yuanchu.limslaboratory.pojo.Instrument; import com.yuanchu.limslaboratory.pojo.RawMaterial; import com.yuanchu.limslaboratory.mapper.RawMaterialMapper; -import com.yuanchu.limslaboratory.pojo.vo.InspectionVo; import com.yuanchu.limslaboratory.service.RawMaterialService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; - import javax.annotation.Resource; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.util.Date; import java.util.List; -import java.util.Map; import java.util.Objects; /** @@ -37,7 +28,6 @@ /** * 鍒嗛〉鏌ヨ - * * @param materialCoding * @param materialName * @param condition diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportAuditingServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportAuditingServiceImpl.java deleted file mode 100644 index df8e8e4..0000000 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportAuditingServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yuanchu.limslaboratory.service.impl; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yuanchu.limslaboratory.mapper.ReportMapper; -import com.yuanchu.limslaboratory.pojo.Report; -import com.yuanchu.limslaboratory.pojo.vo.ReportAuditingVo; -import com.yuanchu.limslaboratory.service.ReportAuditingService; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -/** - * <p> - * 鏈嶅姟瀹炵幇绫� - * </p> - * - * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 - * @since 2023-08-07 - */ -@Service -public class ReportAuditingServiceImpl extends ServiceImpl<ReportMapper, Report> implements ReportAuditingService { - - @Resource - private ReportMapper reportMapper; - - /** - * 椤圭洰瀹℃牳琛ㄦ煡璇� - * @return - */ - @Override - public IPage<ReportAuditingVo> selectAllReportAuditing(Page<Object> page, Integer status, String name) { - return reportMapper.selectAllReportAuditing(page, status, name); - } -} - diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java index 702f2ae..dec4ee1 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java @@ -7,10 +7,9 @@ import com.yuanchu.limslaboratory.pojo.Report; import com.yuanchu.limslaboratory.pojo.vo.ReportVo; import com.yuanchu.limslaboratory.service.ReportService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import javax.annotation.Resource; +import java.util.Date; /** * <p> @@ -35,5 +34,40 @@ return reportMapper.selectAllReport(page, status, name); } + //鎻愪氦 + @Override + public String submit(Integer id) { + Report report = new Report(); + report.setId(id); + report.setStatus(1); + reportMapper.updateById(report); + return "鎻愪氦鎴愬姛!"; + } + + //瀹℃牳 + @Override + public String check(String name, Integer id, String result) { + Report report = new Report(); + report.setId(id); + report.setApprover(name); + report.setCheckTime(new Date()); + if (result.equals("閫氳繃")){ + report.setStatus(2); + }else if (result.equals("涓嶉�氳繃")){ + report.setStatus(3); + } + reportMapper.updateById(report); + return "瀹℃牳鎴愬姛!"; + } + + @Override + public String delreport(Integer id) { + Report report = new Report(); + report.setId(id); + report.setState(0); + reportMapper.updateById(report); + return "鍒犻櫎鎴愬姛!"; + } + } diff --git a/inspection-server/src/main/resources/mapper/InspectionMapper.xml b/inspection-server/src/main/resources/mapper/InspectionMapper.xml index 6d7526d..5314b40 100644 --- a/inspection-server/src/main/resources/mapper/InspectionMapper.xml +++ b/inspection-server/src/main/resources/mapper/InspectionMapper.xml @@ -20,10 +20,26 @@ from lims_laboratory.inspection i join lims_laboratory.user u on i.user_id = u.id join lims_laboratory.inspection_material im on i.id = im.inspection_id - where i.state=1 + where i.state=1 <if test="message!=null"> and i.code like concat('%', #{message}, '%') or im.name like concat('%', #{message}, '%') </if> </select> + + <!--璁$畻妫�楠岀殑妫�楠屽崟鏁伴噺--> + <select id="seleCountIns" resultType="java.lang.Integer"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and inspection_status in (0, 1) + </select> + + <!--璁$畻鏈楠岀殑妫�楠屽崟鏁伴噺--> + <select id="seleCountUnIns" resultType="java.lang.Integer"> + select count(id) + from lims_laboratory.inspection + where state = 1 + and inspection_status is null + </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 new file mode 100644 index 0000000..a04eeab --- /dev/null +++ b/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml @@ -0,0 +1,40 @@ +<?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"> + select test_state + from lims_laboratory.inspection_product + where state = 1 + and inspection_material_id = (select id from lims_laboratory.inspection_material where inspection_id = #{id}) + </select> + <!--鏍规嵁妫�楠屾牱鍝乮d浣滃簾妫�楠岄」鐩�--> + <update id="updat"> + update lims_laboratory.inspection_product + set state=0 + where inspection_material_id = #{id} + </update> + + <!--璁$畻宸叉楠岄」鐩暟閲�--> + <select id="seleCountInspro" resultType="java.lang.Integer"> + select count(id) + from lims_laboratory.inspection_product + where state = 1 + and test_state in (0, 1) + </select> + + <!--璁$畻鏈楠岄」鐩暟閲�--> + <select id="seleCountUnInspro" resultType="java.lang.Integer"> + select count(id) + from lims_laboratory.inspection_product + where state = 1 + and test_state is null + </select> +</mapper> \ No newline at end of file diff --git a/inspection-server/src/main/resources/mapper/NonConformingFeedbackMapper.xml b/inspection-server/src/main/resources/mapper/NonConformingFeedbackMapper.xml index 2fb25ac..dbc4fe2 100644 --- a/inspection-server/src/main/resources/mapper/NonConformingFeedbackMapper.xml +++ b/inspection-server/src/main/resources/mapper/NonConformingFeedbackMapper.xml @@ -1,35 +1,34 @@ <?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.NonConformingFeedbackMapper"> - - <select id="selectNonConformingFeedback" resultType="nonConformingFeedback" parameterType="com.yuanchu.limslaboratory.pojo.Dto.NonConformingFeedbackDto"> - SELECT - im.`code` materialCode, - im.`name` materialName, - i.`code` inspectionCode, - i.create_time createTime, - u.`name` testManager, - im.specifications specifications + <select id="selectNonConformingFeedback" resultType="nonConformingFeedback" + parameterType="com.yuanchu.limslaboratory.pojo.Dto.NonConformingFeedbackDto"> + SELECT im.id, + im.`code` materialCode, + im.`name` materialName, + i.`code` inspectionCode, + i.create_time createTime, + u.`name` testManager, + im.specifications specifications, + inspection_status result FROM - inspection i, - inspection_material im, - `user` u + lims_laboratory.inspection i, + lims_laboratory.inspection_material im, + lims_laboratory.`user` u WHERE - 1 = 1 - AND i.id = im.inspection_id - AND i.user_id = u.id + i.id = im.inspection_id + AND i.user_id = u.id <if test="nonConformingFeedbackDto.materialCode!=null and nonConformingFeedbackDto.materialCode!=''"> - and im.`code` like concat("%",#{nonConformingFeedbackDto.materialCode},"%") + and im.`code` like concat('%',#{nonConformingFeedbackDto.materialCode},'%') </if> <if test="nonConformingFeedbackDto.materialName!=null and nonConformingFeedbackDto.materialName!=''"> - and im.`name` like concat("%",#{nonConformingFeedbackDto.materialName},"%") + and im.`name` like concat('%',#{nonConformingFeedbackDto.materialName},'%') </if> <if test="nonConformingFeedbackDto.inspectionCode!=null and nonConformingFeedbackDto.inspectionCode!=''"> - and im.specifications like concat("%",#{nonConformingFeedbackDto.inspectionCode},"%") + and im.specifications like concat('%',#{nonConformingFeedbackDto.inspectionCode},'%') </if> - and i.state=1 - and im.state=1 + and i.state=1 + and im.state=1 and i.inspection_status =0 </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 16f3557..bf79c9d 100644 --- a/inspection-server/src/main/resources/mapper/PlanMapper.xml +++ b/inspection-server/src/main/resources/mapper/PlanMapper.xml @@ -1,19 +1,17 @@ <?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.PlanMapper"> - <resultMap id="selectAllPlanMap" type="map" > + <resultMap id="selectAllPlanMap" type="map"> <id property="code" column="code"/> + <result property="id" column="id"/> + <result property="samplename" column="samplename"/> <result property="inspectionStatus" column="inspectionStatus"/> <result property="startTime" column="startTime"/> <result property="endTime" column="endTime"/> - <collection property="father" resultMap="selectAllPlanMapTowMap" javaType="List"/> - </resultMap> - <resultMap id="selectAllPlanMapTowMap" type="map"> - <id property="samplename" column="samplename"/> <collection property="chldren" resultMap="selectAllPlanMapTowsMap" javaType="List"/> </resultMap> <resultMap id="selectAllPlanMapTowsMap" type="map"> - <id property="id" column="id"/> + <id property="pid" column="pid"/> <result property="name" column="name"/> <result property="unit" column="unit"/> <result property="required" column="required"/> @@ -24,12 +22,13 @@ </resultMap> <!--鏌ヨ妫�楠岃鍒�--> <select id="selectAllPlan" resultMap="selectAllPlanMap"> - select ip.id, + select i.id , i.code, inspection_status inspectionStatus, DATE_FORMAT(start_time,'%Y-%m-%d') startTime, DATE_FORMAT(end_time,'%Y-%m-%d') endTime, im.name samplename, + ip.id pid, ip.name, ip.unit, required, @@ -41,7 +40,7 @@ left join lims_laboratory.inspection_material im on ip.inspection_material_id = im.id left join lims_laboratory.inspection i on im.inspection_id = i.id left join lims_laboratory.user u on ip.user_id = u.id - left join lims_laboratory.instrument isu on ip.instrument_id = isu.id + left join lims_laboratory.instrument isu on ip.instrument_id = isu.id <where> <if test="code != null and code != null"> and i.code like concat('%',#{code},'%') diff --git a/inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml b/inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml new file mode 100644 index 0000000..754f647 --- /dev/null +++ b/inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml @@ -0,0 +1,27 @@ +<?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.QualificationRateStatisticsMapper"> + <select id="selectSupplierByCondition" 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 TRUE = IFNULL(i.inspection_status, FALSE)) + <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> + </select> +</mapper> \ No newline at end of file diff --git a/inspection-server/src/main/resources/mapper/ReportMapper.xml b/inspection-server/src/main/resources/mapper/ReportMapper.xml index 708ac38..7634937 100644 --- a/inspection-server/src/main/resources/mapper/ReportMapper.xml +++ b/inspection-server/src/main/resources/mapper/ReportMapper.xml @@ -4,17 +4,20 @@ <!--鏌ヨ妫�楠屾姤鍛�--> <select id="selectAllReport" resultType="com.yuanchu.limslaboratory.pojo.vo.ReportVo"> - select im.code materialCode, + select r.id, + im.code materialCode, r.code reportCode, i.code inspectionCode, - r.approver approver, - r.status status, - r.conclusion conclusion, - u.name name - from report r - join inspection i on r.inspection_id = i.id - join user u on i.user_id = u.id - join inspection_material im on i.id = im.inspection_id + im.name materialName, + r.conclusion , + r.status , + r.approver , + check_time, + u.name + from lims_laboratory.report r + join lims_laboratory.inspection i on r.inspection_id = i.id + join lims_laboratory.user u on i.user_id = u.id + join lims_laboratory.inspection_material im on i.id = im.inspection_id <where> r.state = 1 <if test="status != null"> @@ -26,33 +29,7 @@ or r.code like concat('%', #{name}, '%') </if> </where> + order by r.id </select> - <!--鏌ヨ鎶ュ憡瀹℃牳--> - <select id="selectAllReportAuditing" resultType="com.yuanchu.limslaboratory.pojo.vo.ReportAuditingVo"> - select im.code materialCode, - r.code reportCode, - im.name materialName, - r.status status, - r.approver approver, - DATE_FORMAT(r.`create_time`, '%Y-%m-%d') submitTime, - DATE_FORMAT(r.`check_time`, '%Y-%m-%d') checkTime - from report r - join inspection i on r.inspection_id = i.id - join inspection_material im on i.id = im.inspection_id - <where> - r.state = 1 - <if test="status == null"> - and r.status in (0, 1) - </if> - <if test="status != null"> - and r.status = #{status} - </if> - <if test="name != null and name != ''"> - and im.code like concat('%', #{name}, '%') - or i.code like concat('%', #{name}, '%') - or im.name like concat('%', #{name}, '%') - </if> - </where> - </select> </mapper> diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java index fa11132..cabf979 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java @@ -2,6 +2,7 @@ import com.yuanchu.limslaboratory.pojo.MetricalInformation; import com.yuanchu.limslaboratory.pojo.dto.UpdateMetricalInformationDto; +import com.yuanchu.limslaboratory.pojo.dto.UpdatedMetricalInformationDto; import com.yuanchu.limslaboratory.service.MetricalInformationService; import com.yuanchu.limslaboratory.service.UserService; import com.yuanchu.limslaboratory.utils.JackSonUtil; @@ -89,8 +90,9 @@ } @ApiOperation("鏇存柊璁¢噺缁撴灉") - public Result<?> updateMetricalInformationResult(String code,Integer result){ - return null; + @PostMapping("/updateMetricalInformationInfo") + public Result<?> updateMetricalInformationInfo(@RequestBody UpdatedMetricalInformationDto dto){ + return Result.success(metricalInformationService.updateMetricalInformationInfo(dto)); } } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java index 2af36d3..dba7af0 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java @@ -23,5 +23,6 @@ IPage<Map<String, Object>> getListInstrumentInformation(Integer conditions,Boolean whetherWhether, String numberOrNameOrSpecifications, Integer classifyId, Page<Objects> page); - + //鍒嗛厤-->閫夋嫨璁惧 + List<Map<String, Object>> chooseinstum(); } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInfoAndIns.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInfoAndIns.java index a63535e..ff44554 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInfoAndIns.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInfoAndIns.java @@ -21,6 +21,8 @@ @ApiModel(value="MeteringPlanAndInfoAndIns瀵硅薄", description="") public class MetricalInfoAndIns extends Instrument implements Serializable { + private Long imId; + @ApiModelProperty(value = "璁¢噺缂栧彿", example = "1", required = true) private String code; diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdatedMetricalInformationDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdatedMetricalInformationDto.java new file mode 100644 index 0000000..1202cf4 --- /dev/null +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdatedMetricalInformationDto.java @@ -0,0 +1,43 @@ +package com.yuanchu.limslaboratory.pojo.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.multipart.MultipartFile; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Author 寮犲 + * @Date 2023/8/21 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "UpdatedMetricalInformationDto瀵硅薄", description = "") +public class UpdatedMetricalInformationDto implements Serializable { + + @ApiModelProperty(value = "涓婚敭", example = "1", required = true) + private Integer id; + @ApiModelProperty(value = "缂栫爜", example = "1", required = true) + private String code; + @ApiModelProperty(value = "缁撴灉", example = "1", required = true) + private Integer result; + @ApiModelProperty(value = "璁¢噺鏃ユ湡", example = "1", required = true) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd", iso = DateTimeFormat.ISO.DATE_TIME) + private Date date; + @ApiModelProperty(value = "涓嶇‘瀹氬害", example = "1", required = true) + private String uncertainty; + @ApiModelProperty(value = "鎬ц兘鎸囨爣", example = "1", required = true) + private String performanceIndex; + @ApiModelProperty(value = "澶囨敞", example = "1", required = true) + private String remarks; + //@ApiModelProperty(value = "鏂囦欢", example = "1", required = true) + //private MultipartFile[] file; + //@ApiModelProperty(value = "鏈夋晥鍛ㄦ湡", example = "1", required = true) + //private String termValidity; +} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MetricalInformationService.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MetricalInformationService.java index eb8ad69..04ad32b 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MetricalInformationService.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MetricalInformationService.java @@ -2,6 +2,7 @@ import com.yuanchu.limslaboratory.pojo.MetricalInformation; import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.limslaboratory.pojo.dto.UpdatedMetricalInformationDto; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -24,4 +25,6 @@ Integer deleteMetricalInformation(Integer metricalInformationId); Integer updateMetricalInformation(MetricalInformation metricalInformation, MultipartFile file); + + boolean updateMetricalInformationInfo(UpdatedMetricalInformationDto dto); } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java index c52e053..ae2dc00 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java @@ -1,9 +1,11 @@ package com.yuanchu.limslaboratory.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.yuanchu.limslaboratory.pojo.MetricalInformation; import com.yuanchu.limslaboratory.mapper.MetricalInformationMapper; +import com.yuanchu.limslaboratory.pojo.dto.UpdatedMetricalInformationDto; import com.yuanchu.limslaboratory.service.MetricalInformationService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.limslaboratory.utils.FileSaveUtil; @@ -68,4 +70,20 @@ } return metricalInformationMapper.updateById(metricalInformation); } + + @Override + public boolean updateMetricalInformationInfo(UpdatedMetricalInformationDto dto) { + System.out.println(dto); + MetricalInformation info = new MetricalInformation(); + info.setId(dto.getId()); + info.setRemarks(dto.getRemarks()); + info.setPerformanceIndex(dto.getPerformanceIndex()); + info.setResult(dto.getResult()); + info.setUncertainty(dto.getUncertainty()); + info.setEndDate(dto.getDate()); + info.setUpdateTime(DateUtil.date()); + System.out.println(info); + //鏂囦欢婊よ繃 + return metricalInformationMapper.updateById(info)>0; + } } diff --git a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml index 3dcab6f..98a6181 100644 --- a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml +++ b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml @@ -1,18 +1,19 @@ <?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.InstrumentMapper"> - <select id="getListInstrumentInformation" resultType="map"> SELECT i.`id`, i.`equipment_code`, i.`equipment_name`, i.`specifications_models`, u.`name`, - DATE_FORMAT(DATE_ADD(i.`create_time`, INTERVAL i.`term_validity` MONTH), '%Y-%m-%d') termValidity, i.`conditions`, i.`storage_place` + DATE_FORMAT(DATE_ADD(i.`create_time`, INTERVAL i.`term_validity` MONTH), '%Y-%m-%d') termValidity, + i.`conditions`, i.`storage_place` FROM instrument i, `user` u WHERE i.`state` = 1 - AND i.`classify_id` = #{classifyId} + AND i.`classify_id` = #{classifyId} <if test="conditions != null"> AND i.`conditions` = #{conditions} </if> <if test="numberOrNameOrSpecifications != null and numberOrNameOrSpecifications != ''"> - AND CONCAT(i.`equipment_code`, i.`equipment_name`, i.`specifications_models`) LIKE CONCAT('%',#{numberOrNameOrSpecifications},'%') + AND CONCAT(i.`equipment_code`, i.`equipment_name`, i.`specifications_models`) LIKE + CONCAT('%',#{numberOrNameOrSpecifications},'%') </if> <if test="whetherWhether == true"> AND DATE_FORMAT(DATE_ADD(i.`create_time`, INTERVAL i.`term_validity` MONTH), '%Y-%m-%d') <![CDATA[<]]> NOW() @@ -20,4 +21,25 @@ AND i.`user_id` = u.`id` </select> + <!--閫夋嫨璁惧--> + <resultMap id="chooseinstumMap" type="map"> + <id property="father_name" column="father_name"/> + <collection property="father" resultMap="chooseinstumTowMap" javaType="List"/> + </resultMap> + <resultMap id="chooseinstumTowMap" type="map"> + <id property="son_name" column="son_name"/> + <collection property="chldren" 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, + equipment_name name + from lims_laboratory.instrument + left join lims_laboratory.classify c on c.id = instrument.classify_id + </select> </mapper> diff --git a/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml b/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml index f1af9c6..1a7b226 100644 --- a/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml +++ b/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml @@ -77,14 +77,22 @@ im.imName imName, im.create_time imCreateTime, im.measurement_unit imUnit, - im.`code` imCode + im.`code` imCode, + im.id imId, + im.uncertainty uncertainty , + im.performance_index performanceIndex , + im.remarks remarks FROM metering_plan m LEFT JOIN `user` u ON m.create_Person = u.id LEFT JOIN ( SELECT i.equipment_code, i.equipment_name, i.measuring_range, + im.id, i.term_validity, + im.uncertainty, + im.performance_index, + im.remarks, im.result, im.end_date, (SELECT NAME FROM USER WHERE id = im.user_id) imName, @@ -114,7 +122,11 @@ (SELECT NAME FROM USER WHERE id = im.user_id) imName, im.create_time imCreateTime, im.measurement_unit imUnit, - im.`code` imCode + im.`code` imCode, + im.id imId, + im.uncertainty uncertainty , + im.performance_index performanceIndex , + im.remarks remarks FROM metrical_information im, metering_plan m, instrument i @@ -144,6 +156,10 @@ <result property="measuringRange" column="measuringRange"/> <result property="equipmentName" column="equipmentName"/> <result property="equipmentCode" column="equipmentCode"/> + <result property="imId" column="imId"/> + <result property="performanceIndex" column="performanceIndex"/> + <result property="uncertainty" column="uncertainty"/> + <result property="remarks" column="remarks"/> </resultMap> <resultMap id="measureInsAndPlanMap" type="meteringPlanAndInfoAndIns"> @@ -166,6 +182,10 @@ <result property="measuringRange" column="measuringRange"/> <result property="equipmentName" column="equipmentName"/> <result property="equipmentCode" column="equipmentCode"/> + <result property="imId" column="imId"/> + <result property="performanceIndex" column="performanceIndex"/> + <result property="uncertainty" column="uncertainty"/> + <result property="remarks" column="remarks"/> </collection> </resultMap> diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java index 08b370e..8769e0c 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java @@ -26,8 +26,7 @@ // 鍥涚骇鏍� List<Map<String, Object>> FourTree(String specificationsName); - //閫夋嫨鏍峰搧鍚嶇О - List<String> selectmater(); + diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductModelMapper.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductModelMapper.java index 659a0c3..753ae1f 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductModelMapper.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductModelMapper.java @@ -23,10 +23,10 @@ //娣诲姞鏍囧噯-->閫夋嫨椤圭洰鍒嗙粍 List<String> selectfather(); - - - //鏌ヨ椤圭洰妯$増鏍规嵁鏍峰搧鍚� List<Map<String, Object>> seleMode(String name); + + //閫夋嫨鏍峰搧鍚嶇О + 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 4e3721e..3169392 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 @@ -85,9 +85,11 @@ @Override @Transactional(rollbackFor = Exception.class) public Integer addMaterialInformation(AddMaterialDto addMaterialDto) { - Material material = materialMapper.selectOne(Wrappers.<Material>query().eq("name", addMaterialDto.getMaterialName())); - material.setType(addMaterialDto.getType()); - int isInsertSuccess = materialMapper.updateById(material); + Material material = new Material() + .setCode("BZ" + IdWorker.getIdStr()) + .setName(addMaterialDto.getMaterialName()) + .setType(addMaterialDto.getType()); + int isInsertSuccess = materialMapper.insert(material); if (isInsertSuccess > 0) { Standard standard = new Standard() .setMaterialId(material.getId()) @@ -125,7 +127,7 @@ //娣诲姞鎸囨爣-->閫夋嫨鏍峰搧鍚嶇О @Override public List<String> selectmater() { - return materialMapper.selectmater(); + return productModelMapper.selectmater(); } 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 d2bdf8c..a42754d 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,13 +28,10 @@ @Resource ProductModelMapper productModelMapper; - @Resource - MaterialMapper materialMapper; - //閫夋嫨鏍峰搧 @Override public List<String> selectmater() { - return materialMapper.selectmater(); + return productModelMapper.selectmater(); } //娣诲姞鏍囧噯-->閫夋嫨椤圭洰鍒嗙粍 @@ -58,10 +55,6 @@ BeanUtils.copyProperties(productModelDto, productModel); productModelMapper.insert(productModel); } - //娣诲姞鐗╂枡浜у搧搴� - Material material = new Material(); - material.setName(productModelDto.getMaterial()).setCode(MyUtil.getTimeSixNumberCode("CP", "CP")); - materialMapper.insert(material); } //鏌ヨ鏍囧噯妯$増鍒楄〃 diff --git a/standard-server/src/main/resources/mapper/MaterialMapper.xml b/standard-server/src/main/resources/mapper/MaterialMapper.xml index e2f4825..59e36a3 100644 --- a/standard-server/src/main/resources/mapper/MaterialMapper.xml +++ b/standard-server/src/main/resources/mapper/MaterialMapper.xml @@ -66,11 +66,4 @@ WHERE m.`state` = 1 </select> - - <!--娣诲姞鏍囧噯閫夋嫨鏍峰搧鍚嶇О--> - <select id="selectmater" resultType="java.lang.String"> - select name - from lims_laboratory.material - where state = 1 - </select> </mapper> diff --git a/standard-server/src/main/resources/mapper/ProductModelMapper.xml b/standard-server/src/main/resources/mapper/ProductModelMapper.xml index 5b31620..8488506 100644 --- a/standard-server/src/main/resources/mapper/ProductModelMapper.xml +++ b/standard-server/src/main/resources/mapper/ProductModelMapper.xml @@ -47,6 +47,13 @@ unit from lims_laboratory.product_model where state = 1 - and material =#{name} + and material = #{name} + </select> + + <!--娣诲姞鏍囧噯閫夋嫨鏍峰搧鍚嶇О--> + <select id="selectmater" resultType="java.lang.String"> + select material + from lims_laboratory.product_model + where state = 1 </select> </mapper> diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java index 7c1b746..4a972a5 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/User.java @@ -8,7 +8,6 @@ import java.util.Map; import com.fasterxml.jackson.annotation.JsonFormat; -import com.sun.jmx.snmp.Timestamp; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/user-server/src/main/resources/mapper/UserMapper.xml b/user-server/src/main/resources/mapper/UserMapper.xml index 4a8eb08..8220b5a 100644 --- a/user-server/src/main/resources/mapper/UserMapper.xml +++ b/user-server/src/main/resources/mapper/UserMapper.xml @@ -40,5 +40,6 @@ <select id="selectUser" resultType="Map"> select id, name from lims_laboratory.user + where job_state!=0 </select> </mapper> -- Gitblit v1.9.3