From 7bae2c55ff2d9c94d30df77ad2dfbc66bb703209 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 06 九月 2024 17:40:33 +0800
Subject: [PATCH] 电路试验
---
system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java | 13
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult2.java | 78 ++++
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java | 5
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 318 +++++-----------
inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductResultDto.java | 28 +
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 425 ++++++++++++++++------
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 71 +-
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResult2Mapper.java | 18
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductResult2ServiceImpl.java | 20 +
inspect-server/src/main/resources/mapper/InsProductMapper.xml | 10
inspect-server/src/main/java/com/yuanchu/mom/vo/InsProductResultVo.java | 16
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResultMapper.java | 2
inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java | 1
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java | 6
performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java | 4
inspect-server/src/main/resources/mapper/InsProductResult2Mapper.xml | 23 +
system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java | 10
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java | 34 +
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java | 5
inspect-server/src/main/resources/mapper/InsProductResultMapper.xml | 14
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java | 2
inspect-server/src/main/java/com/yuanchu/mom/service/InsProductResult2Service.java | 16
inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java | 10
23 files changed, 738 insertions(+), 391 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
index 52b3e9c..163e9c3 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -1,11 +1,13 @@
package com.yuanchu.mom.controller;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.dto.InsOrderPlanDTO;
import com.yuanchu.mom.dto.InsProductDto;
+import com.yuanchu.mom.dto.InsProductResultDto;
import com.yuanchu.mom.pojo.InsOrderFile;
import com.yuanchu.mom.pojo.InsOrderState;
import com.yuanchu.mom.service.InsOrderFileService;
@@ -13,6 +15,7 @@
import com.yuanchu.mom.service.InsOrderStateService;
import com.yuanchu.mom.service.InsProductService;
import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.vo.InsProductResultVo;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -197,4 +200,35 @@
public Result<?> jumpTeam(@RequestBody InsOrderState insOrderState) {
return Result.success(insOrderStateService.jumpTeam(insOrderState));
}
+
+ @ApiOperation(value = "鐢佃矾璇曢獙鐨勪繚瀛樻楠屽唴瀹�")
+ @PostMapping("/saveInsContext2")
+ @ValueAuth
+ public Result<?> saveInsContext2(@RequestBody InsProductResultDto insProductResultDtos) {
+ return Result.success(insOrderPlanService.saveInsContext2(insProductResultDtos));
+ }
+
+ @ApiOperation(value = "鐢佃矾璇曢獙鐨勫垹闄ら娈�")
+ @PostMapping("/deleteInsContext")
+ @ValueAuth
+ public Result<?> deleteInsContext(@RequestBody InsProductResultVo insProductResultVo) {
+ return Result.success(insOrderPlanService.deleteInsContext(insProductResultVo));
+ }
+
+ @ApiOperation(value = "鐢佃矾璇曢獙鐨勫垹闄や簰璋�")
+ @PostMapping("/deleteInsContext2")
+ @ValueAuth
+ public Result<?> deleteInsContext2(String frequency,Integer productId,String often) {
+ return Result.success(insOrderPlanService.deleteInsContext2(frequency,productId,often));
+ }
+
+ @ApiOperation(value = "鐢佃矾璇曢獙鐐瑰嚮妫�楠岄�夋嫨鐗堟湰")
+ @PostMapping("/chooseVersion")
+ @ValueAuth
+ public Result<?> chooseVersion(Integer orderStateId,Integer version) {
+ InsOrderState orderState = new InsOrderState();
+ orderState.setId(orderStateId);
+ orderState.setVersion(version);
+ return Result.success(insOrderStateService.updateById(orderState));
+ }
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductResultDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductResultDto.java
new file mode 100644
index 0000000..a531e4a
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductResultDto.java
@@ -0,0 +1,28 @@
+package com.yuanchu.mom.dto;
+
+import com.yuanchu.mom.pojo.InsProductResult2;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+//鐢佃矾璇曢獙鐨勪繚瀛樻楠屽唴瀹�
+@Data
+public class InsProductResultDto {
+
+ //璁㈠崟id
+ private Integer orderId;
+
+ //鏍峰搧id
+ private Integer sampleId;
+
+ //璇曢獙瀹�
+ private String sonLaboratory;
+
+ //棰戠巼闆嗗悎
+ private String frequency;
+
+ //妫�楠岀粨鏋�
+ private List<InsProductResult2> insProductResult2s;
+
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java
index 6524a52..f014909 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java
@@ -30,6 +30,8 @@
List<InsProduct> selectFiberInsProduct(List<Integer> ids, String laboratory);
IPage<InsProduct> selectNoProducts(Page page, Integer orderId);
+
+ int selectInsProductCountByOrderId(int orderId);
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResult2Mapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResult2Mapper.java
new file mode 100644
index 0000000..5dda5c7
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResult2Mapper.java
@@ -0,0 +1,18 @@
+package com.yuanchu.mom.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yuanchu.mom.pojo.InsProductResult;
+import com.yuanchu.mom.pojo.InsProductResult2;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恑ns_product_result2(妫�楠岄」鐩殑缁撴灉)銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2024-03-28 10:29:37
+* @Entity com.yuanchu.mom.pojo.InsProductResult2
+*/
+public interface InsProductResult2Mapper extends BaseMapper<InsProductResult2> {
+}
+
+
+
+
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResultMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResultMapper.java
index fac0f94..a8e8d98 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResultMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductResultMapper.java
@@ -13,8 +13,6 @@
* @Entity com.yuanchu.mom.pojo.InsProductResult
*/
public interface InsProductResultMapper extends BaseMapper<InsProductResult> {
-
- List<InsProductResult> selDetail(@Param("ips") List<Integer> ips);
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
index ee1cdc3..55f7297 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
@@ -41,12 +41,6 @@
List<InsProduct> getInsProduct1(Integer id, String laboratory);
- List<InsProduct> getInsProduct2(Integer id);
-
- List<InsProduct> getInsProduct3(Integer id);
-
- List<InsProduct> getInsProduct4(Integer id);
-
List<Map<String, Object>> getReportModel(@Param("orderId") Integer orderId, @Param("id") Integer id, @Param("laboratory") String laboratory);
SampleVo getDetailById(Integer sampleId);
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
index af2713f..0b435c1 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
@@ -82,4 +82,9 @@
//椤垫暟
@TableField(exist = false,select = false)
private Integer size;
+
+ /**
+ * 閽堝鐢佃矾璇曢獙閫夋嫨鐨勭増鏈�
+ */
+ private Integer version;
}
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
index 8df3108..0394900 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
@@ -176,7 +176,7 @@
private String lastValue;
/**
- * 1锛氬悎鏍� 0锛氫笉鍚堟牸
+ * 1锛氬悎鏍� 0锛氫笉鍚堟牸 3:涓嶅垽瀹�
*/
private Integer insResult;
@@ -221,6 +221,9 @@
private InsProductResult insProductResult;
@TableField(exist = false)
+ private List<InsProductResult2> insProductResult2;
+
+ @TableField(exist = false)
private String templateName;
private String dic;
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult2.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult2.java
new file mode 100644
index 0000000..faac854
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult2.java
@@ -0,0 +1,78 @@
+package com.yuanchu.mom.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 妫�楠岄」鐩殑缁撴灉(鍙拡瀵圭數璺瘯楠�,涓庨」鐩殑鍏崇郴鏄竴瀵瑰)
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-09-04 03:58:50
+ */
+@Data
+@TableName("ins_product_result_2")
+@ApiModel(value = "InsProductResult2瀵硅薄", description = "妫�楠岄」鐩殑缁撴灉(鍙拡瀵圭數璺瘯楠�,涓庨」鐩殑鍏崇郴鏄竴瀵瑰)")
+public class InsProductResult2 implements Serializable {
+
+ /**
+ *
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("澶栭敭锛氭楠岄」鐩甶d")
+ private Integer insProductId;
+
+ @ApiModelProperty("璁惧缂栫爜")
+ private String equipValue;
+
+ @ApiModelProperty("璁惧鍚嶇О")
+ private String equipName;
+
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("棰戠巼")
+ private String frequency;
+ @ApiModelProperty("棰戠巼")
+ private String often;
+
+ @ApiModelProperty("绔彛")
+ private String port;
+
+ @ApiModelProperty("瑙掑害")
+ private String angle;
+
+ @ApiModelProperty("鍊�")
+ private String value;
+
+ @ApiModelProperty("缁撹 0涓嶅悎鏍� 1鍚堟牸")
+ private Integer result;
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
index 88c2c4a..600e748 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -2,8 +2,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.InsOrderPlanDTO;
+import com.yuanchu.mom.dto.InsProductResultDto;
import com.yuanchu.mom.pojo.InsOrderFile;
import com.yuanchu.mom.pojo.InsProduct;
+import com.yuanchu.mom.vo.InsProductResultVo;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
@@ -20,7 +22,11 @@
boolean claimInsOrderPlan(InsOrderPlanDTO entity);
+ //鏅�氱殑淇濆瓨妫�楠屽唴瀹�
void saveInsContext(Map<String, Object> insContext);
+
+ //鐢佃矾璇曢獙鐨勪繚瀛樻楠屽唴瀹�
+ List<Integer> saveInsContext2(InsProductResultDto insProductResultDtos);
Map<String, Object> doInsOrder(Integer id, String laboratory);
@@ -43,4 +49,8 @@
Map<String,Object> temCycle(Integer sampleId, String inspectionItem, String inspectionItemSubclass);
List<String> upPlanUser2(Integer orderId);
+
+ int deleteInsContext(InsProductResultVo insProductResultVo);
+
+ int deleteInsContext2(String frequency, Integer productId, String often);
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsProductResult2Service.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsProductResult2Service.java
new file mode 100644
index 0000000..3b0eb8d
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsProductResult2Service.java
@@ -0,0 +1,16 @@
+package com.yuanchu.mom.service;
+
+import com.yuanchu.mom.pojo.InsProductResult2;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 妫�楠岄」鐩殑缁撴灉(鍙拡瀵圭數璺瘯楠�,涓庨」鐩殑鍏崇郴鏄竴瀵瑰) 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-09-04 03:58:50
+ */
+public interface InsProductResult2Service extends IService<InsProductResult2> {
+
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index 1a6804c..58ded93 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -23,8 +23,8 @@
import com.deepoove.poi.util.TableTools;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
-import com.yuanchu.mom.dto.ExcelDto;
import com.yuanchu.mom.dto.InsOrderPlanDTO;
+import com.yuanchu.mom.dto.InsProductResultDto;
import com.yuanchu.mom.dto.SampleProductDto;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.*;
@@ -33,7 +33,6 @@
import com.yuanchu.mom.utils.*;
import com.yuanchu.mom.vo.*;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xwpf.usermodel.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -43,7 +42,6 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.*;
-import java.math.BigDecimal;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.text.SimpleDateFormat;
@@ -55,6 +53,8 @@
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
@@ -98,6 +98,9 @@
@Resource
private InsProductResultMapper insProductResultMapper;
+
+ @Resource
+ private InsProductResult2Mapper insProductResult2Mapper;
@Resource
private InsProductUserMapper insProductUserMapper;
@@ -167,18 +170,7 @@
Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
Integer userId = map1.get("userId");
User user = userMapper.selectById(map1.get("userId"));//褰撳墠鐧诲綍鐨勪汉
-
String laboratory = null;
- //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id
- /* String departLimsId = user.getDepartLimsId();
- if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) {
- String[] split = departLimsId.split(",");
- //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙)
- String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1]));
- if (departLims.contains("瀹為獙瀹�")) {
- laboratory = departLims;
- }
- }*/
if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
insOrderPlanDTO.setUserId(userId.longValue());
}
@@ -201,8 +193,8 @@
for (Integer samId : sampleIds) {
//杩囨护娌℃湁妫�楠岄」鐩殑鏍峰搧id
if (ObjectUtils.isEmpty(insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId,samId)
- .eq(InsProduct::getState,1)))){
+ .eq(InsProduct::getInsSampleId, samId)
+ .eq(InsProduct::getState, 1)))) {
continue;
}
//鍏ュ簱娆℃暟
@@ -255,23 +247,13 @@
break;
case 1:
//鍏夌氦甯�
- insProducts = insSampleMapper.getInsProduct2(id);
break;
case 2:
//鍏夌氦
- insProducts = insSampleMapper.getInsProduct3(id);
break;
case 3:
//濂楃
- insProducts = insSampleMapper.getInsProduct4(id);
break;
- }
-
- //濡傛灉鏄ぇ鏍峰搧涓嬬殑椤圭洰涓虹┖,閭d箞鏌ヨ绗竴涓厜绾ょ殑椤圭洰
- if (ObjectUtils.isEmpty(insProducts) && type == 0) {
- //鏌ヨ绗竴涓厜绾ょ殑id
- List<InsFiber> insFibers = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, id)).get(0).getId()));
- insProducts = insSampleMapper.getInsProduct3(insFibers.get(0).getId());
}
Set<Integer> set = new HashSet<>();
Map<Integer, String> map2 = new HashMap<>();
@@ -529,6 +511,21 @@
return sonLaboratory;
}
+ @Override
+ public int deleteInsContext(InsProductResultVo insProductResultVo) {
+ return insProductResult2Mapper.delete(Wrappers.<InsProductResult2>lambdaQuery()
+ .eq(InsProductResult2::getFrequency, insProductResultVo.getFrequency())
+ .in(InsProductResult2::getInsProductId, insProductResultVo.getProductIds()));
+ }
+
+ @Override
+ public int deleteInsContext2(String frequency, Integer productId, String often) {
+ return insProductResult2Mapper.delete(Wrappers.<InsProductResult2>lambdaQuery()
+ .eq(InsProductResult2::getFrequency, frequency)
+ .eq(InsProductResult2::getInsProductId, productId)
+ .eq(InsProductResult2::getOften, often));
+ }
+
@Override
public void saveInsContext(Map<String, Object> insContext) {
@@ -540,7 +537,6 @@
insProduct.setId(Integer.parseInt(k));
List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
.eq(InsProductResult::getInsProductId, insProduct.getId()));
- InsProduct product = insProductMapper.selectById(insProduct.getId());
InsProductResult result;
if (CollectionUtils.isEmpty(results)) {
result = new InsProductResult();
@@ -548,14 +544,6 @@
result = results.get(0);
}
result.setInsProductId(Integer.parseInt(k));
- /*鏍¢獙涓�涓媟esult琛�*/
- List<InsProductResult> insProductResultss = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
- .eq(InsProductResult::getInsProductId, insProduct.getId()));
- if (insProductResultss.size() > 1) {
- for (int i = 1; i < insProductResultss.size(); i++) {
- insProductResultMapper.deleteById(insProductResultss.get(i));
- }
- }
//妫�楠屽��
if (jo.get("insValue") != null) {
JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(jo.get("insValue")));
@@ -671,88 +659,42 @@
// 璺ㄥぉ鐨勬儏鍐�
isWithinRange = !now.isBefore(startTime) || !now.isAfter(endTime);
}
- //鍔犵彮
- List<AuxiliaryOutputWorkingHours> count1s = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
- .eq(AuxiliaryOutputWorkingHours::getCheck, userId)
- .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem())
- .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass())
- .eq(AuxiliaryOutputWorkingHours::getOvertimeOrderNo, insOrder.getEntrustCode())
- .eq(AuxiliaryOutputWorkingHours::getSample, insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode()));
- if (count1s.size() > 1) {
- for (int i = 1; i < count1s.size(); i++) {
- auxiliaryOutputWorkingHoursMapper.deleteById(count1s.get(i));
- }
- }
- //闈炲姞鐝�
- List<AuxiliaryOutputWorkingHours> count2s = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
- .eq(AuxiliaryOutputWorkingHours::getCheck, userId)
- .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem())
- .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass())
- .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode())
- .eq(AuxiliaryOutputWorkingHours::getSample, insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode()));
- if (count2s.size() > 1) {
- for (int i = 1; i < count2s.size(); i++) {
- auxiliaryOutputWorkingHoursMapper.deleteById(count2s.get(i));
- }
- }
- if (ObjectUtils.isNotEmpty(insProduct.getManHour()) && CollectionUtils.isEmpty(count2s) && CollectionUtils.isEmpty(count1s)) {
+ if (ObjectUtils.isNotEmpty(insProduct.getManHour())) {
+ //鍏堝垹鍚庡姞(宸ユ椂璁板綍鏈�鍚庝竴娆′繚瀛樼殑鏃堕棿)
+ auxiliaryOutputWorkingHoursMapper.delete(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
+ .eq(AuxiliaryOutputWorkingHours::getInsProductId, insProduct.getId()));
AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
if (isWithinRange) {
//鍦ㄦ椂闂村唴灏辨槸姝e父涓婄彮
- auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
- auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
- auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : 0) + (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : 0));//浜ч噺宸ユ椂
- auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
- LocalDateTime localDateTime = LocalDateTime.now();
- DateTime parse = DateUtil.parse(localDateTime.format(formatter));
- auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
- auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
- auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
- }
- else {
+
+ } else {
//鍔犵彮
- auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
- auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
- auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode());//鍔犵彮濮旀墭鍗曞彿
auxiliaryOutputWorkingHours.setOvertimeWorkTime(insProduct.getManHour());//鍔犵彮宸ユ椂
auxiliaryOutputWorkingHours.setOvertimeAmount(1);//鍔犵彮鏁伴噺
auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : 0) + (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : 0));//浜ч噺宸ユ椂
- auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
- LocalDateTime localDateTime = LocalDateTime.now();
- DateTime parse = DateUtil.parse(localDateTime.format(formatter));
- auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
- auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
- auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
}
- try {
- //杩欎釜妫�楠岄」鐩繕娌℃湁濉啓杩囨楠屽�间笖杩欐杩欎釜妫�楠岄」鐩~鍐欑殑妫�楠屽�间笉涓虹┖
- if (CollectionUtils.isEmpty(insProductResultss) && jo.get("insValue") != null
- //杩欎釜妫�楠岄」鐩繕娌℃湁濉啓杩囨楠屽�间笖杩欐杩欎釜妫�楠岄」鐩~鍐欑殑璁$畻鍊间笉涓虹┖浣嗘槸妫�楠屽�间负绌�
- || CollectionUtils.isEmpty(insProductResultss) && jo.get("insValue") == null && jo.get("comValue") != null
- //杩欎釜妫�楠岄」鐩湁濉啓杩囨楠屽�间笖杩欐濉啓鐨勬楠屽�煎拰鍘熸潵鐨勬楠屽�间笉鐩哥瓑,涓旇繖娆$殑妫�楠屽�间笉绛変簬绌�
- || (CollectionUtils.isNotEmpty(insProductResultss) && !insProductResultss.get(0).getInsValue().equals(result.getInsValue()) && jo.get("insValue") != null)
- //杩欎釜妫�楠岄」鐩湁濉啓杩囨楠屽�间笖杩欐濉啓鐨勮绠楀�煎拰鍘熸潵鐨勮绠楀�间笉鐩哥瓑,涓旇繖娆$殑璁$畻鍊间笉绛変簬绌�,涓旇繖娆$殑妫�楠屽�肩瓑浜庣┖
- || (CollectionUtils.isNotEmpty(insProductResultss) && !insProductResultss.get(0).getComValue().equals(result.getComValue()) && jo.get("insValue") == null && jo.get("comValue") != null)) {
- auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
- }
- } catch (Exception e) {
- System.out.println("宸ユ椂鏂板涓嶆垚鍔�!!!");
- }
+ auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
+ auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
+ auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
+ auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
+ LocalDateTime localDateTime = LocalDateTime.now();
+ DateTime parse = DateUtil.parse(localDateTime.format(formatter));
+ auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
+ auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
+ auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
+ auxiliaryOutputWorkingHours.setInsProductId(insProduct.getId());//妫�楠岄」鐩甶d
+ auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
}
}
}
-
InsSample insSample = insSampleMapper.selectById(insProductMapper.selectById(insProduct.getId()).getInsSampleId());
insSample.setInsState(1);
Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
@@ -783,22 +725,9 @@
if (res != null) {
int pId = Integer.parseInt(res.replaceAll("\\D+", ""));
InsProduct insProduct = insProductMapper.selectById(pId);
- // 閫氳繃pId 鑾峰彇褰撳墠鏍锋湰id
- int sampleId = insProductMapper.selectById(pId).getInsSampleId();
// 閫氳繃鏍锋湰id鑾峰彇璁㈠崟id
- int orderId = insSampleMapper.selectById(sampleId).getInsOrderId();
- // 閫氳繃璁㈠崟id鏌ユ壘鎵�鏈夋牱鏈琲d
- List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList());
- // 閫氳繃妫�鏌ユ瘡涓�涓牱鏈琲d鏌ュ埌灞炰簬妫�楠岄」缁撹 is null 鎴栬�� =2 鐨勬暟閲�
- Long count = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
- .in(InsProduct::getInsSampleId, sampleIds)
- .and(wrapper -> wrapper
- .isNull(InsProduct::getInsResult)
- .or()
- .eq(InsProduct::getInsResult, 2)
- )
- .eq(InsProduct::getSonLaboratory, insProduct.getSonLaboratory())
- .eq(InsProduct::getState, 1));
+ int orderId = insSampleMapper.selectById(insProduct.getInsSampleId()).getInsOrderId();
+ int count = insProductMapper.selectInsProductCountByOrderId(orderId);
if (count == 0) {
insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
.eq(InsOrderState::getInsOrderId, orderId)
@@ -810,6 +739,247 @@
e.printStackTrace();
return null;
});
+ }
+
+ //鐢佃矾璇曢獙鐨勪繚瀛樻楠屽唴瀹�
+ @Override
+ public List<Integer> saveInsContext2(InsProductResultDto insProductResultDtos) {
+ if (ObjectUtils.isEmpty(insProductResultDtos.getFrequency())){
+ throw new ErrorException("棰戠巼涓嶈兘涓虹┖");
+ }
+ Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+ //鏌ヨ妫�楠屽崟淇℃伅
+ InsOrder insOrder = insOrderMapper.selectById(insProductResultDtos.getOrderId());
+ //鏌ヨ鏍峰搧淇℃伅
+ InsSample insSample = insSampleMapper.selectById(insProductResultDtos.getSampleId());
+ List<Integer> list = new ArrayList<>();
+ /*鏂板妫�楠岄」鐩楠屽�艰褰曡〃(閲囧彇鍏堝垹鍚庡)*/
+ insProductResult2Mapper.delete(Wrappers.<InsProductResult2>lambdaQuery()
+ .in(InsProductResult2::getInsProductId, insProductResultDtos.getInsProductResult2s().stream().map(InsProductResult2::getInsProductId).distinct().collect(Collectors.toList()))
+ .eq(InsProductResult2::getFrequency, insProductResultDtos.getFrequency()));
+ for (InsProductResult2 insProductResult2 : insProductResultDtos.getInsProductResult2s()) {
+ InsProduct insProduct = new InsProduct();
+ insProduct.setId(insProductResult2.getInsProductId());//椤圭洰id
+ InsProductResult2 result2 = new InsProductResult2();
+ result2.setInsProductId(insProductResult2.getInsProductId());
+ //棰戠巼
+ result2.setFrequency(insProductResultDtos.getFrequency());
+ //棰戠偣
+ if (insProductResult2.getOften() != null) {
+ result2.setOften(insProductResult2.getOften());
+ }
+ //绔彛
+ if (insProductResult2.getPort() != null) {
+ result2.setPort(insProductResult2.getPort());
+ }
+ //瑙掑害
+ if (insProductResult2.getAngle() != null) {
+ result2.setAngle(insProductResult2.getAngle());
+ }
+ //璁惧缂栧彿
+ if (insProductResult2.getEquipValue() != null) {
+ result2.setEquipValue(insProductResult2.getEquipValue());
+ }
+ //璁惧鍚嶇О
+ if (insProductResult2.getEquipName() != null) {
+ result2.setEquipName(insProductResult2.getEquipName());
+ }
+ insProduct = insProductMapper.selectById(insProduct.getId());
+ //鍊�
+ if (insProductResult2.getValue() != null) {
+ result2.setValue(insProductResult2.getValue());
+ //缁撹
+ int ressult = 1;
+ String valueStr = insProductResult2.getValue();
+ if (!insProduct.getAsk().contains(",")) {
+ if (!isValueValid(valueStr, new String[]{insProduct.getAsk()})) {
+ ressult = 0; //涓嶅悎鏍�
+ }
+ } else {
+ // 濡傛灉瑕佹眰鍊兼槸(2掳鈮�20,7掳鈮�25,12掳鈮�25)杩欑鎯呭喌
+ String[] askParts = insProduct.getAsk().split(",");
+ String[] angles = insProductResult2.getAngle().split(",");
+ for (String s : askParts) {
+ String[] askSplit = s.split("掳");
+ String angleKey = askSplit[0];
+ String angleValue = askSplit[1];
+
+ for (int i = 0; i < angles.length; i++) {
+ if (angles[i].split("掳")[0].equals(angleKey)) {
+ try {
+ String s1 = valueStr.substring(1, valueStr.length() - 1).split("\\],\\[")[i];
+ if (!s1.startsWith("[")) {
+ s1 = "[" + s1;
+ }
+ if (!s1.endsWith("]")) {
+ s1 = s1 + "]";
+ }
+ if (!isValueValid("[" + s1 + "]", new String[]{angleValue})) {
+ ressult = 0; // 涓嶅悎鏍�
+ break;
+ }
+ }catch (Exception e) {
+ }finally {
+ continue;
+ }
+
+ }
+ }
+ }
+ }
+ result2.setResult(ressult);
+ list.add(ressult);
+ }
+ result2.setCreateUser(userId);
+ result2.setUpdateUser(userId);
+ insProductResult2Mapper.insert(result2);
+ insProduct.setUpdateUser(userId);
+ insProductMapper.updateById(insProduct);
+ insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
+ /*鐢熸垚浜ч噺宸ユ椂*/
+ //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
+ //棣栧厛鍒ゆ柇褰撳墠浜虹殑褰撳墠鏃堕棿鏄惁鏄帓鐝椂闂村唴,濡傛灉涓嶆槸灏辨槸鍔犵彮
+ LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT);
+ PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
+ .eq(PerformanceShift::getUserId, userId)
+ .eq(PerformanceShift::getWorkTime, today));
+ if (ObjectUtils.isNotEmpty(performanceShift)) {
+ ShiftTime shiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, performanceShift.getShift()));
+ if (ObjectUtils.isNotEmpty(shiftTime)) {
+ DateTimeFormatter forma = DateTimeFormatter.ofPattern("HH:mm");
+ LocalTime now = LocalTime.now();
+ LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma);
+ LocalTime endTime = LocalTime.parse(shiftTime.getEndTime(), forma);
+ // 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪鑼冨洿鍐咃紙鍖呮嫭杈圭晫锛�
+ boolean isWithinRange;
+ if (endTime.isAfter(startTime)) {
+ // 涓嶈法澶╃殑鎯呭喌
+ isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime);
+ } else {
+ // 璺ㄥぉ鐨勬儏鍐�
+ isWithinRange = !now.isBefore(startTime) || !now.isAfter(endTime);
+ }
+ if (ObjectUtils.isNotEmpty(insProduct.getManHour())) {
+ //鍏堝垹鍚庡姞(宸ユ椂璁板綍鏈�鍚庝竴娆′繚瀛樼殑鏃堕棿)
+ auxiliaryOutputWorkingHoursMapper.delete(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
+ .eq(AuxiliaryOutputWorkingHours::getInsProductId, insProduct.getId()));
+ AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
+ if (isWithinRange) {
+ //鍦ㄦ椂闂村唴灏辨槸姝e父涓婄彮
+ auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
+ auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
+ auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
+ auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : 0) + (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : 0));//浜ч噺宸ユ椂
+
+ } else {
+ //鍔犵彮
+ auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode());//鍔犵彮濮旀墭鍗曞彿
+ auxiliaryOutputWorkingHours.setOvertimeWorkTime(insProduct.getManHour());//鍔犵彮宸ユ椂
+ auxiliaryOutputWorkingHours.setOvertimeAmount(1);//鍔犵彮鏁伴噺
+ auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : 0) + (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : 0));//浜ч噺宸ユ椂
+ }
+ auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
+ auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
+ auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
+ auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
+ LocalDateTime localDateTime = LocalDateTime.now();
+ DateTime parse = DateUtil.parse(localDateTime.format(formatter));
+ auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
+ auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
+ auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
+ auxiliaryOutputWorkingHours.setInsProductId(insProduct.getId());//妫�楠岄」鐩甶d
+ auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+ }
+ }
+ }
+ /*鏇存柊鏍峰搧鐨勬楠岀姸鎬�*/
+ insSample.setInsState(1);
+ Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId()));
+ Long l1 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .and(wrapper -> wrapper
+ .isNotNull(InsProduct::getInsResult)
+ .or()
+ .ne(InsProduct::getInsResult, 2)
+ ));
+ if (l == l1) {
+ //濡傛灉鎵�鏈夐」鐩兘鏈夌粨璁�,閭d箞璇ユ牱鍝佺姸鎬佸凡妫�
+ insSample.setInsState(2);
+ }
+ insSampleMapper.updateById(insSample);
+ }
+ /*鍒ゆ柇璇ョ珯鐐圭殑妫�楠岄」鐩槸鍚﹀叏閮ㄥ凡妫�*/
+ int count = insProductMapper.selectInsProductCountByOrderId(insProductResultDtos.getOrderId());
+ if (count == 0) {
+ insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, insProductResultDtos.getOrderId())
+ .eq(InsOrderState::getLaboratory, insProductResultDtos.getSonLaboratory())
+ .set(InsOrderState::getInsState, 2));
+ }
+ return list;
+ }
+
+ //瑙f瀽瑕佹眰鍊肩殑鏍煎紡
+ private boolean getResult(double s, String ask) {
+ // 澶勭悊卤鑼冨洿鐨勬潯浠�
+ if (ask.contains("卤")) {
+ Pattern pattern = Pattern.compile("(\\d+)卤(\\d+)");
+ Matcher matcher = pattern.matcher(ask);
+ if (matcher.matches()) {
+ double center = Double.parseDouble(matcher.group(1));
+ double tolerance = Double.parseDouble(matcher.group(2));
+ return Math.abs(s - center) <= tolerance;
+ }
+ }
+ // 澶勭悊鍏朵粬姣旇緝鏉′欢
+ if (ask.startsWith(">")) {
+ double threshold = Double.parseDouble(ask.substring(1));
+ return s > threshold;
+ } else if (ask.startsWith("鈮�")) {
+ double threshold = Double.parseDouble(ask.substring(1));
+ return s >= threshold;
+ } else if (ask.startsWith("<")) {
+ double threshold = Double.parseDouble(ask.substring(1));
+ return s < threshold;
+ } else if (ask.startsWith("鈮�")) {
+ double threshold = Double.parseDouble(ask.substring(1));
+ return s <= threshold;
+ } else if (ask.equals("=")) {
+ double exactValue = Double.parseDouble(ask.substring(1));
+ return s == exactValue;
+ }
+ // 澶勭悊涓嶆敮鎸佺殑鏉′欢
+ throw new IllegalArgumentException("鏈煡鏍煎紡瑕佹眰鍊艰妫�鏌�" + ask);
+ }
+
+ //灏嗗墠绔紶杩囨潵鐨勫�艰浆鎹㈡垚鏁扮粍鐨勫舰寮�
+ private String[] parseValues(String valueStr) {
+ String trimmedStr = valueStr.substring(1, valueStr.length() - 1);
+ return Arrays.stream(trimmedStr.split("\\],\\["))
+ .map(s -> s.substring(1, s.length() - 1).split(","))
+ .flatMap(Arrays::stream)
+ .map(s -> s.replace("\"", ""))
+ .toArray(String[]::new);
+ }
+
+ //鍒よ鍚堟牸涓庝笉鍚堟牸
+ private boolean isValueValid(String valueStr, String[] valuesToCheck) {
+ for (String s : parseValues(valueStr)) {
+ if (ObjectUtils.isEmpty(s)) {
+ continue;
+ }
+ double numericValue = Double.parseDouble(s);
+ boolean valid = Arrays.stream(valuesToCheck)
+ .allMatch(v -> getResult(numericValue, v));
+ if (!valid) {
+ return false;
+ }
+ }
+ return true;
}
//浜ゆ帴
@@ -941,8 +1111,7 @@
insOrderState.setLaboratory(minElement);
insOrderState.setInsState(0);
insOrderStateMapper.insert(insOrderState);
- }
- else {
+ } else {
//濡傛灉缁х画璇曢獙娌℃湁鍏朵粬绔欑偣鐨勬楠屼换鍔¢偅灏辩粨鏉熻瘯楠�
verifyPlan(orderId, laboratory, 2, tell);
}
@@ -1626,6 +1795,24 @@
String str = "";
int count = 0;
for (InsProduct product : insProducts) {
+ //杈愬皠璇曢獙妫�娴嬬殑妫�楠岄」鐩�,涓嶉渶瑕佸幓鎵嬪姩濉啓妫�楠屽��,鍙渶瑕佷笂浼犺〃鏍兼枃浠跺氨鍙互浜�,鍚庡彴鎻愪氦鐨勬椂鍊欐牎楠岃烦杩囪繖涓楠岄」鐩�
+ if (product.getInspectionItem().equals("杈愬皠璇曢獙妫�娴�")) {
+ product.setInsResult(3);//涓嶅垽瀹�
+ insProductMapper.updateById(product);
+ continue;
+ }
+ //鐢佃矾璇曢獙鐨勬楠岄」鐩�,闇�瑕佸湪鎻愪氦鐨勬椂鍊欏啀鍘昏祴鍊煎悎鏍间笌涓嶅悎鏍�
+ if (product.getInspectionItem().equals("鐢佃矾璇曢獙")) {
+ List<Integer> collect = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
+ .eq(InsProductResult2::getInsProductId, product.getId())).stream().map(InsProductResult2::getResult).distinct().collect(Collectors.toList());
+ if (collect.contains(0)) {
+ product.setInsResult(0);//涓嶅悎鏍�
+ } else {
+ product.setInsResult(1);//鍚堟牸
+ }
+ insProductMapper.updateById(product);
+ continue;
+ }
count++;
str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>";
}
@@ -1643,7 +1830,7 @@
InsOrder insOrder = insOrderMapper.selectById(orderId);
if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("璐ㄩ噺閮�")) {
verifyPlan(orderId, laboratory, 2, null);
- }else {
+ } else {
Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
//LIMS绯荤粺娑堟伅鎺ㄩ��
InformationNotification info = new InformationNotification();
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index 004cbf1..bafa574 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -195,13 +195,16 @@
count.getAndIncrement();
a.setId(null);
a.setInsOrderId(insOrder.getId());
+ //鏍峰搧缂栧彿
if (StrUtil.isEmpty(a.getSampleCode())) {
a.setSampleCode("TX(WYQJ)-" + giveCode.split("-")[2] + "-" + count.get());
}
insSampleMapper.insert(a);
+ //鏍峰搧鐨勬楠岄」鐩�
if (ObjectUtil.isNotEmpty(a.getInsProduct())) {
- addInsProductMethod(a.getId(), a.getInsProduct(), null, 0, false);
+ addInsProductMethod(a.getId(), a.getInsProduct(), null, 0);
}
+ //鏍峰搧鐨勬楠屾爣鍑�
if (ObjectUtil.isNotEmpty(a.getInsulating())) {
List<InsProduct> ip2 = new ArrayList<>();
for (Integer i = 0; i < a.getInsulating().getNum(); i++) {
@@ -210,14 +213,16 @@
for (InsProduct product : ip2) {
product.setStandardMethodListId(a.getInsulating().getStandardMethodListId());
}
- addInsProductMethod(a.getId(), ip2, null, 0, false);
+ addInsProductMethod(a.getId(), ip2, null, 0);
}
+ //鏍峰搧鐨勬楠屾爣鍑�
if (ObjectUtil.isNotEmpty(a.getSheath())) {
for (InsProduct product : a.getSheath().getInsProduct()) {
product.setStandardMethodListId(a.getSheath().getStandardMethodListId());
}
- addInsProductMethod(a.getId(), a.getSheath().getInsProduct(), null, 0, false);
+ addInsProductMethod(a.getId(), a.getSheath().getInsProduct(), null, 0);
}
+ //瀛愭牱鍝侀厤缃�
if (ObjectUtil.isNotEmpty(a.getChildSampleList())) {
for (SampleProductDto b : a.getChildSampleList()) {
for (int i = 0; i < b.getNum(); i++) {
@@ -229,12 +234,13 @@
}
insSampleMapper.insert(b);
if (ObjectUtil.isNotEmpty(b.getInsProduct())) {
- addInsProductMethod(b.getId(), b.getInsProduct(), null, 0, false);
+ addInsProductMethod(b.getId(), b.getInsProduct(), null, 0);
}
}
}
}
- if (ObjectUtil.isEmpty(a.getInsProduct()) && ObjectUtil.isNotEmpty(a.getBushing())) {
+ //鍏夌氦閰嶇疆
+ /*if (ObjectUtil.isEmpty(a.getInsProduct()) && ObjectUtil.isNotEmpty(a.getBushing())) {
for (BushingDto bushingDto : a.getBushing()) {
bushingDto.setInsSampleId(a.getId());
insBushingMapper.insert(bushingDto);
@@ -242,7 +248,7 @@
for (FiberDto fiberDto : bushingDto.getFiber()) {
fiberDto.setInsBushingId(bushingDto.getId());
insFiberMapper.insert(fiberDto);
- addInsProductMethod(a.getId(), fiberDto.getProductList(), fiberDto.getId(), 2, false);
+ addInsProductMethod(a.getId(), fiberDto.getProductList(), fiberDto.getId(), 2);
}
} else {
for (FibersDto fibersDto : bushingDto.getFibers()) {
@@ -252,15 +258,16 @@
for (FiberDto fiberDto : fibersDto.getFiber()) {
fiberDto.setInsFibersId(fibersDto.getId());
insFiberMapper.insert(fiberDto);
- addInsProductMethod(a.getId(), fiberDto.getProductList(), fiberDto.getId(), 2, false);
+ addInsProductMethod(a.getId(), fiberDto.getProductList(), fiberDto.getId(), 2);
}
- addInsProductMethod(a.getId(), fibersDto.getProductList(), fibersDto.getId(), 1, false);
+ addInsProductMethod(a.getId(), fibersDto.getProductList(), fibersDto.getId(), 1);
}
}
}
- }
+ }*/
});
- for (List<Integer> i : pairing) {
+ //澶氫釜鏍峰搧灏辨嫾鎺�
+ /*for (List<Integer> i : pairing) {
SampleProductDto sample = JSON.parseObject(JSON.toJSONString(list.get(i.get(0) - 1)), SampleProductDto.class);
sample.setSampleCode(list.get(i.get(0) - 1).getSampleCode() + "/" + list.get(i.get(1) - 1).getSampleCode());
sample.setId(null);
@@ -274,7 +281,7 @@
}
} catch (Exception e) {
}
- }
+ }*/
//閫氫俊:濡傛灉鏄疌绫昏鍗曟棤闇�瀹℃牳鐩存帴閫氳繃
if (insOrder.getOrderType().equals("C")) {
insOrder.setState(1);
@@ -283,31 +290,27 @@
return insOrder.getId();
}
- private void addInsProductMethod(Integer sampleId, List<InsProduct> productList, Integer id, Integer type, Boolean is) {
- InsOrder insOrder = insOrderMapper.selectById(insSampleMapper.selectById(sampleId).getInsOrderId());
- String name = insSampleMapper.selMethodById(sampleId);
+ private void addInsProductMethod(Integer sampleId, List<InsProduct> productList, Integer id, Integer type) {
for (InsProduct product : productList) {
- if (product.getState() == 1 && !product.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")) {
- if (!is) {
- switch (type) {
- case 1:
- product.setInsFibersId(id);
- break;
- case 2:
- product.setInsFiberId(id);
- break;
- }
- product.setId(null);
- product.setCreateTime(null);
- product.setCreateUser(null);
- product.setUpdateTime(null);
- product.setUpdateUser(null);
- product.setInsSampleId(sampleId);
- if (product.getInspectionItemSubclass() == null) {
- product.setInspectionItemSubclass("");
- }
- insProductMapper.insert(product);
+ if (product.getState() == 1 ) {
+ switch (type) {
+ case 1:
+ product.setInsFibersId(id);
+ break;
+ case 2:
+ product.setInsFiberId(id);
+ break;
}
+ product.setId(null);
+ product.setCreateTime(null);
+ product.setCreateUser(null);
+ product.setUpdateTime(null);
+ product.setUpdateUser(null);
+ product.setInsSampleId(sampleId);
+ if (product.getInspectionItemSubclass() == null) {
+ product.setInspectionItemSubclass("");
+ }
+ insProductMapper.insert(product);
}
}
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductResult2ServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductResult2ServiceImpl.java
new file mode 100644
index 0000000..6785f2b
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductResult2ServiceImpl.java
@@ -0,0 +1,20 @@
+package com.yuanchu.mom.service.impl;
+
+import com.yuanchu.mom.mapper.InsProductResult2Mapper;
+import com.yuanchu.mom.pojo.InsProductResult2;
+import com.yuanchu.mom.service.InsProductResult2Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 妫�楠岄」鐩殑缁撴灉(鍙拡瀵圭數璺瘯楠�,涓庨」鐩殑鍏崇郴鏄竴瀵瑰) 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-09-04 03:58:50
+ */
+@Service
+public class InsProductResult2ServiceImpl extends ServiceImpl<InsProductResult2Mapper, InsProductResult2> implements InsProductResult2Service {
+
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
index 2ed3016..a7bbee6 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
@@ -51,5 +51,6 @@
private Integer orderStateId;
private Integer sort;
+ private Integer version;
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsProductResultVo.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsProductResultVo.java
new file mode 100644
index 0000000..68711b1
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsProductResultVo.java
@@ -0,0 +1,16 @@
+package com.yuanchu.mom.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+//鍒犻櫎棰戞
+public class InsProductResultVo {
+
+ //棰戞
+ private String frequency;
+
+ //椤圭洰id
+ private List<Integer> productIds;
+}
diff --git a/inspect-server/src/main/resources/mapper/InsProductMapper.xml b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
index dc00e69..4394f11 100644
--- a/inspect-server/src/main/resources/mapper/InsProductMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
@@ -108,4 +108,14 @@
and state = 1
and is2.ins_order_id = #{orderId}) A
</select>
+
+ <select id="selectInsProductCountByOrderId" resultType="int">
+ select COUNT(1)
+ from ins_product ip
+ left join ins_sample isa on ip.ins_sample_id = isa.id
+ left join ins_order io on isa.ins_order_id = io.id
+ where io.id = #{orderId}
+ and (ip.ins_result is null or ip.ins_result = 2)
+ and ip.state = 1
+ </select>
</mapper>
diff --git a/inspect-server/src/main/resources/mapper/InsProductResult2Mapper.xml b/inspect-server/src/main/resources/mapper/InsProductResult2Mapper.xml
new file mode 100644
index 0000000..de575c0
--- /dev/null
+++ b/inspect-server/src/main/resources/mapper/InsProductResult2Mapper.xml
@@ -0,0 +1,23 @@
+锘�<?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.mom.mapper.InsProductResult2Mapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsProductResult2">
+ <id column="id" property="id" />
+ <result column="ins_product_id" property="insProductId" />
+ <result column="equip_value" property="equipValue" />
+ <result column="equip_name" property="equipName" />
+ <result column="create_user" property="createUser" />
+ <result column="update_user" property="updateUser" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ <result column="frequency" property="frequency" />
+ <result column="often" property="often" />
+ <result column="port" property="port" />
+ <result column="angle" property="angle" />
+ <result column="value" property="value" />
+ <result column="result" property="result" />
+ </resultMap>
+
+</mapper>
diff --git a/inspect-server/src/main/resources/mapper/InsProductResultMapper.xml b/inspect-server/src/main/resources/mapper/InsProductResultMapper.xml
index 74c6e90..fafc88a 100644
--- a/inspect-server/src/main/resources/mapper/InsProductResultMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsProductResultMapper.xml
@@ -15,17 +15,5 @@
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
- <select id="selDetail" resultMap="BaseResultMap">
- select *
- from ins_product_result
- where 1=1
- <!--and ins_product_id in (#{ips})-->
- <if test="ips != null and ips.size() > 0">
- <!-- 浣跨敤foreach鍏冪礌鏋勫缓IN瀛愬彞 -->
- and ins_product_id in
- <foreach item="item" collection="ips" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- </select>
+
</mapper>
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index f139200..6c68844 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -27,7 +27,7 @@
<select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
select * from(select * from(
SELECT
- a.*,ios.ins_state,ios.verify_tell,verify_user,ios.id orderStateId,ios.create_time,ios.sort,sort_time
+ a.*,ios.ins_state,ios.verify_tell,verify_user,ios.id orderStateId,ios.create_time,ios.sort,sort_time,version
FROM
(
SELECT
@@ -126,7 +126,7 @@
LEFT JOIN user ON isu.user_id = user.id
WHERE
io.state = 1
--- # AND io.ins_state != 5
+ -- # AND io.ins_state != 5
and send_time is not null
<if test="userId !=null and userId!=''">
and (isu.user_id = #{userId} OR isu.user_id is NULL )
@@ -161,58 +161,68 @@
<select id="selectSampleProductListByOrderId" resultMap="sampleDto">
select isa.*,
- ip.id ip_id,
- inspection_item,
- inspection_item_en,
- inspection_item_class,
- inspection_item_class_en,
- inspection_item_subclass,
- inspection_item_subclass_en,
- ip.factory ip_factory,
- ip.laboratory ip_laboratory,
- ip.sample_type ip_sample_type,
- ip.sample ip_sample,
- ip.model ip_model,
- son_laboratory,
- ip.unit ip_unit,
- price,
- man_hour,
- man_hour_group,
- inspection_item_type,
- inspection_value_type,
- device_group,
- checkout_number,
- section,
- value_type,
- method,
- man_day,
- bsm,
- ask,
- tell,
- `last_value`,
- ip.ins_result ip_ins_result,
- state,
- ins_sample_id,
- ip.create_user ip_create_user,
- ip.update_user ip_update_user,
- ip.create_time ip_create_time,
- ip.update_time ip_update_time,
- template_id,
- ipr.ins_value,
- ipr.com_value,
- ipr.equip_value,
- ip.method_s
+ ip.id ip_id,
+ inspection_item,
+ inspection_item_en,
+ inspection_item_class,
+ inspection_item_class_en,
+ inspection_item_subclass,
+ inspection_item_subclass_en,
+ ip.factory ip_factory,
+ ip.laboratory ip_laboratory,
+ ip.sample_type ip_sample_type,
+ ip.sample ip_sample,
+ ip.model ip_model,
+ son_laboratory,
+ ip.unit ip_unit,
+ price,
+ man_hour,
+ man_hour_group,
+ inspection_item_type,
+ inspection_value_type,
+ device_group,
+ checkout_number,
+ section,
+ value_type,
+ method,
+ man_day,
+ bsm,
+ ask,
+ tell,
+ `last_value`,
+ ip.ins_result ip_ins_result,
+ state,
+ ins_sample_id,
+ ip.create_user ip_create_user,
+ ip.update_user ip_update_user,
+ ip.create_time ip_create_time,
+ ip.update_time ip_update_time,
+ template_id,
+ ipr.ins_value,
+ ipr.com_value,
+ ipr.equip_value,
+ ipr2.frequency,
+ ipr2.often,
+ ipr2.port,
+ ipr2.angle,
+ ipr2.value,
+ ipr2.result,
+ ipr2.equip_value equipValue2,
+ ipr2.equip_name equipName2,
+ ip.method_s
from ins_sample isa
- left join ins_product ip on isa.id = ip.ins_sample_id
- left join ins_product_result ipr on ip.id = ipr.ins_product_id
+ left join ins_product ip on isa.id = ip.ins_sample_id
+ left join ins_product_result ipr on ip.id = ipr.ins_product_id
+ left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
where ins_order_id = #{id}
- and state = 1
--- and ins_fiber_id is null
--- and ins_fibers_id is null
- and <!--isa.sample_code NOT REGEXP '/'-->
- isa.id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null)s )
+ and state = 1
+ -- and ins_fiber_id is null
+ -- and ins_fibers_id is null
+ and <!--isa.sample_code NOT REGEXP '/'-->
+ isa.id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id =
+ ip.ins_sample_id where ip.id is not null)s )
order by case when man_hour_group is NULL then 1
- when man_hour_group ='' then 1 else 0 end,
+ when man_hour_group ='' then 1 else 0 end,
CASE
WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴�
WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
@@ -260,6 +270,14 @@
ipr.com_value,
ipr.equip_value,
ipr.equip_name,
+ ipr2.frequency,
+ ipr2.often,
+ ipr2.port,
+ ipr2.angle,
+ ipr2.value,
+ ipr2.result,
+ ipr2.equip_value equipValue2,
+ ipr2.equip_name equipName2,
ip.method_s,
ip.tell,
ip.dic,
@@ -268,6 +286,7 @@
from ins_sample isa
left join ins_product ip on isa.id = ip.ins_sample_id
left join ins_product_result ipr on ip.id = ipr.ins_product_id
+ left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
where ins_order_id = #{id}
and state = 1
and ip.son_laboratory = #{laboratory}
@@ -320,19 +339,31 @@
ipr.ins_value,
ipr.com_value,
ipr.equip_value,
+ ipr2.frequency,
+ ipr2.often,
+ ipr2.port,
+ ipr2.angle,
+ ipr2.value,
+ ipr2.result,
+ ipr2.equip_value equipValue2,
+ ipr2.equip_name equipName2,
ip.method_s
from ins_sample isa
left join ins_product ip on isa.id = ip.ins_sample_id
left join ins_product_result ipr on ip.id = ipr.ins_product_id
+ left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
where ins_order_id = #{id}
and ip.standard_method_list_id is not null
and state = 1
- order by case when man_hour_group is NULL then 1
- when man_hour_group ='' then 1 else 0 end,
+ order by case
+ when man_hour_group is NULL then 1
+ when man_hour_group = '' then 1
+ else 0 end,
CASE
WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴�
- WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
- ,id asc
+ WHEN man_hour_group REGEXP '[0-9]+'
+ THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
+ , id asc
</select>
<select id="selectSampleProductListByOrderId3" resultMap="sampleDto3">
@@ -353,7 +384,6 @@
ins_sample_id
from ins_sample isa
left join ins_product ip on isa.id = ip.ins_sample_id
- left join ins_product_result ipr on ip.id = ipr.ins_product_id
left join ins_order io on io.id = ins_order_id
where ip.state = 1
and ins_order_id in
@@ -361,7 +391,7 @@
#{id}
</foreach>
order by case when man_hour_group is NULL then 1
- when man_hour_group ='' then 1 else 0 end,
+ when man_hour_group ='' then 1 else 0 end,
CASE
WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴�
WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
@@ -409,11 +439,20 @@
ipr.com_value,
ipr.equip_value,
ipr.equip_name,
+ ipr2.frequency,
+ ipr2.often,
+ ipr2.port,
+ ipr2.angle,
+ ipr2.value,
+ ipr2.result,
+ ipr2.equip_value equipValue2,
+ ipr2.equip_name equipName2,
ip.method_s,
ip.tell,
ip.dic
from ins_product ip
left join ins_product_result ipr on ip.id = ipr.ins_product_id
+ left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
where ins_sample_id = #{id}
and state = 1
and ip.son_laboratory = #{laboratory}
@@ -421,161 +460,7 @@
and ins_fibers_id is null
and standard_method_list_id is not null
</select>
- <select id="getInsProduct2" resultMap="product">
- select ip.id ip_id,
- inspection_item,
- inspection_item_en,
- inspection_item_class,
- inspection_item_class_en,
- inspection_item_subclass,
- inspection_item_subclass_en,
- ip.factory ip_factory,
- ip.laboratory ip_laboratory,
- ip.sample_type ip_sample_type,
- ip.sample ip_sample,
- ip.model ip_model,
- son_laboratory,
- ip.unit ip_unit,
- price,
- man_hour,
- man_hour_group,
- inspection_item_type,
- inspection_value_type,
- device_group,
- checkout_number,
- section,
- value_type,
- method,
- man_day,
- bsm,
- ask,
- `last_value`,
- ip.ins_result ip_ins_result,
- state,
- ins_sample_id,
- ip.create_user ip_create_user,
- ip.update_user ip_update_user,
- ip.create_time ip_create_time,
- ip.update_time ip_update_time,
- template_id,
- ipr.ins_value,
- ipr.com_value,
- ipr.equip_value,
- ipr.equip_name,
- ip.method_s,
- ip.tell,
- ip.dic
- from ins_product ip
- left join ins_product_result ipr on ip.id = ipr.ins_product_id
- where ins_fibers_id = #{id}
- and state = 1
- and ins_fiber_id is null
- and standard_method_list_id is not null
- </select>
- <select id="getInsProduct3" resultMap="product">
- select ip.id ip_id,
- inspection_item,
- inspection_item_en,
- inspection_item_class,
- inspection_item_class_en,
- inspection_item_subclass,
- inspection_item_subclass_en,
- ip.factory ip_factory,
- ip.laboratory ip_laboratory,
- ip.sample_type ip_sample_type,
- ip.sample ip_sample,
- ip.model ip_model,
- son_laboratory,
- ip.unit ip_unit,
- price,
- man_hour,
- man_hour_group,
- inspection_item_type,
- inspection_value_type,
- device_group,
- checkout_number,
- section,
- value_type,
- method,
- man_day,
- bsm,
- ask,
- `last_value`,
- ip.ins_result ip_ins_result,
- state,
- ins_sample_id,
- ip.create_user ip_create_user,
- ip.update_user ip_update_user,
- ip.create_time ip_create_time,
- ip.update_time ip_update_time,
- template_id,
- ipr.ins_value,
- ipr.com_value,
- ipr.equip_value,
- ipr.equip_name,
- ip.method_s,
- ip.tell,
- ip.dic
- from ins_product ip
- left join ins_product_result ipr on ip.id = ipr.ins_product_id
- where ins_fiber_id = #{id}
- and state = 1
- and ins_fibers_id is null
- and standard_method_list_id is not null
- </select>
- <select id="getInsProduct4" resultMap="product">
- select ip.id ip_id,
- inspection_item,
- inspection_item_en,
- inspection_item_class,
- inspection_item_class_en,
- inspection_item_subclass,
- inspection_item_subclass_en,
- ip.factory ip_factory,
- ip.laboratory ip_laboratory,
- ip.sample_type ip_sample_type,
- ip.sample ip_sample,
- ip.model ip_model,
- ip.ins_bush_id,
- son_laboratory,
- ip.unit ip_unit,
- price,
- man_hour,
- man_hour_group,
- inspection_item_type,
- inspection_value_type,
- device_group,
- checkout_number,
- section,
- value_type,
- method,
- man_day,
- bsm,
- ask,
- `last_value`,
- ip.ins_result ip_ins_result,
- state,
- ins_sample_id,
- ip.create_user ip_create_user,
- ip.update_user ip_update_user,
- ip.create_time ip_create_time,
- ip.update_time ip_update_time,
- template_id,
- ipr.ins_value,
- ipr.com_value,
- ipr.equip_value,
- ipr.equip_name,
- ip.method_s,
- ip.tell,
- ip.dic
- from ins_product ip
- left join ins_product_result ipr on ip.id = ipr.ins_product_id
- where ins_bush_id = #{id}
- and state = 1
- and ins_fibers_id is null
- and standard_method_list_id is not null
- </select>
<select id="getReportModel" resultType="java.util.Map">
</select>
@@ -649,6 +534,7 @@
<result property="temperature" column="temperature"/>
<result property="humidity" column="humidity"/>
<collection property="insProductResult" resultMap="insProductResult"/>
+ <collection property="insProductResult2" resultMap="insProductResult2"/>
</resultMap>
<resultMap id="sampleDto3" type="com.yuanchu.mom.dto.SampleProductDto3">
@@ -684,6 +570,16 @@
<result property="equipValue" column="equip_value" jdbcType="VARCHAR"/>
<result property="equipName" column="equip_name" jdbcType="VARBINARY"/>
</resultMap>
+ <resultMap id="insProductResult2" type="com.yuanchu.mom.pojo.InsProductResult2">
+ <result column="frequency" property="frequency" jdbcType="VARCHAR"/>
+ <result column="often" property="often" jdbcType="VARCHAR"/>
+ <result column="port" property="port" jdbcType="VARCHAR"/>
+ <result column="angle" property="angle" jdbcType="VARCHAR"/>
+ <result column="value" property="value" jdbcType="VARCHAR"/>
+ <result column="result" property="result" jdbcType="INTEGER"/>
+ <result property="equipValue" column="equipValue2" jdbcType="VARCHAR"/>
+ <result property="equipName" column="equipName2" jdbcType="VARBINARY"/>
+ </resultMap>
<resultMap id="sampleVo" type="com.yuanchu.mom.vo.SampleVo">
<id property="id" column="id" jdbcType="INTEGER"/>
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java
index 745d38b..7e8cf42 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java
@@ -127,4 +127,8 @@
@ApiModelProperty("宸ユ椂鍒嗙粍")
@ExcelIgnore
private String manHourGroup;
+
+ @ApiModelProperty("妫�楠岄」鐩甶d")
+ @ExcelIgnore
+ private Integer insProductId;
}
diff --git a/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java b/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java
index 4db8694..16dffd5 100644
--- a/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java
+++ b/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java
@@ -16,13 +16,13 @@
// 婕旂ず渚嬪瓙锛屾墽琛� main 鏂规硶鎺у埗鍙拌緭鍏ユā鍧楄〃鍚嶅洖杞﹁嚜鍔ㄧ敓鎴愬搴旈」鐩洰褰曚腑
public class CodeGenerator {
- public static String database_url = "jdbc:mysql://localhost:3306/aaa?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8";
- public static String database_username = "root";
- public static String database_password= "123456";
+ public static String database_url = "jdbc:mysql://10.1.13.77:3306/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8";
+ public static String database_username = "remote_user";
+ public static String database_password= "zttZTT123!";
public static String author = "姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃";
- public static String model_name = "/cnas-server"; // 濡傛灉涓哄垎甯冨紡濉瓙妯″潡鍚嶇О锛屽鏋滀笉鏄垎甯冨紡涓虹┖鍗冲彲
+ public static String model_name = "/inspect-server"; // 濡傛灉涓哄垎甯冨紡濉瓙妯″潡鍚嶇О锛屽鏋滀笉鏄垎甯冨紡涓虹┖鍗冲彲
public static String setParent = "com.yuanchu.mom"; // 鍖呰矾寰�
- public static String tablePrefix = "device_"; // 璁剧疆杩囨护琛ㄥ墠缂�
+ public static String tablePrefix = ""; // 璁剧疆杩囨护琛ㄥ墠缂�
public static void main(String[] args) {
String projectPath = System.getProperty("user.dir");
FastAutoGenerator.create(database_url, database_username, database_password)
diff --git a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
index 16d332d..855000f 100644
--- a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
+++ b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
@@ -1,7 +1,9 @@
package com.yuanchu.mom;
+import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.yuanchu.mom.exception.ErrorException;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.el.lang.ExpressionBuilder;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@@ -16,6 +18,7 @@
import java.time.temporal.TemporalAdjusters;
import java.time.temporal.WeekFields;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.regex.Matcher;
@@ -28,6 +31,16 @@
@Test
void contextLoads() {
+ String str = "[[\"5\",\"5\",\"5\",\"5\"]]";
+ str = str.substring(1, str.length() - 1);
+ for (String s1 :str.split("\\],\\[")) {
+ String[] strings = Arrays.stream(s1.substring(1, str.length() - 1).split(","))
+ .map(s -> s.replace("\"", ""))
+ .toArray(String[]::new);
+ for (String string : strings) {
+ System.out.println(string);
+ }
+ }
}
--
Gitblit v1.9.3