From 1ebf951a1d9676647957e7a319ae281b4a52dd1f Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 02 八月 2024 18:45:40 +0800
Subject: [PATCH] 数采公式优化+任务切换sql语法错误+检验下单页面展示的数量和里面的数量不一致
---
cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java | 68 ++++++++++++----------
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java | 2
inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java | 1
inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 36 +----------
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 16 ++---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderTemplateServiceImpl.java | 3
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java | 1
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 9 ++
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 2
inspect-server/src/main/java/com/yuanchu/mom/dto/SampleOrderDto.java | 2
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java | 2
11 files changed, 65 insertions(+), 77 deletions(-)
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java b/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java
index 4dab601..eddd73d 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java
@@ -264,8 +264,8 @@
//鐒跺悗鎻愬彇鍏紡
String strs = formula.substring(0,formula.indexOf("("));
String upperStr = strs.toUpperCase();
- if (upperStr.equals("")) {
- throw new ErrorException(formula + "閲岄潰鐨勫叕寮忔病鏈夊嚱鏁�");
+ if (upperStr.matches(".*\\d.*")){
+ upperStr="";
}
System.out.println(upperStr);
//鐒跺悗鑾峰彇鏈�澶栭潰鎷彿閲岄潰鐨勫��,鍐嶆牴鎹�","鍒嗗壊
@@ -332,36 +332,40 @@
}
// 鏍规嵁鍑芥暟鍚嶇О杩涜鐩稿簲璁$畻
BigDecimal finalResult;
- switch (upperStr) {
- case "MAX":
- finalResult = results.stream().max(BigDecimal::compareTo)
- .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MAX鍊�"));
- break;
- case "MIN":
- finalResult = results.stream().min(BigDecimal::compareTo)
- .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MIN鍊�"));
- break;
- case "SUM":
- finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
- break;
- case "ABS":
- finalResult = results.stream().map(BigDecimal::abs).reduce(BigDecimal.ZERO, BigDecimal::add);
- break;
- case "AVERAGE":
- finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::divide)
- .divide(BigDecimal.valueOf(results.size()), 2, BigDecimal.ROUND_HALF_UP);
- break;
- case "MEDIAN":
- int size = results.size();
- if (size % 2 == 1) {
- finalResult = results.get(size / 2);
- } else {
- BigDecimal sum = results.get(size / 2 - 1).add(results.get(size / 2));
- finalResult = sum.divide(BigDecimal.valueOf(2), 2, BigDecimal.ROUND_HALF_UP);
- }
- break;
- default:
- throw new UnsupportedOperationException("鏆備笉鏀寔鍑芥暟: " + upperStr);
+ if (upperStr.equals("")||upperStr==null) {
+ finalResult=results.get(0);
+ }else {
+ switch (upperStr) {
+ case "MAX":
+ finalResult = results.stream().max(BigDecimal::compareTo)
+ .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MAX鍊�"));
+ break;
+ case "MIN":
+ finalResult = results.stream().min(BigDecimal::compareTo)
+ .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MIN鍊�"));
+ break;
+ case "SUM":
+ finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
+ break;
+ case "ABS":
+ finalResult = results.stream().map(BigDecimal::abs).reduce(BigDecimal.ZERO, BigDecimal::add);
+ break;
+ case "AVERAGE":
+ finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::divide)
+ .divide(BigDecimal.valueOf(results.size()), 2, BigDecimal.ROUND_HALF_UP);
+ break;
+ case "MEDIAN":
+ int size = results.size();
+ if (size % 2 == 1) {
+ finalResult = results.get(size / 2);
+ } else {
+ BigDecimal sum = results.get(size / 2 - 1).add(results.get(size / 2));
+ finalResult = sum.divide(BigDecimal.valueOf(2), 2, BigDecimal.ROUND_HALF_UP);
+ }
+ break;
+ default:
+ throw new UnsupportedOperationException("鏆備笉鏀寔鍑芥暟: " + upperStr);
+ }
}
System.out.println(results);
System.out.println("璁$畻缁撴灉: " + finalResult);
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
index 8681513..609834d 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
@@ -161,6 +161,7 @@
return Result.success();
}
+ //寰呮鐨勬挙閿�
@PutMapping("/updateInspected")
@ValueAuth
public Result<?> updateInspected(Integer id){
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleOrderDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleOrderDto.java
index cb779c8..b7ec04d 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleOrderDto.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleOrderDto.java
@@ -25,6 +25,8 @@
@ApiModelProperty("鏍峰搧鍨嬪彿")
private String sampleModel;
+ private String assign;
+
@ValueTableShow(5)
@ApiModelProperty("鏍峰搧鏁伴噺")
private Integer sampleNum;
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
index 5144caa..8a5a003 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
@@ -24,7 +24,7 @@
public interface InsOrderMapper extends BaseMapper<InsOrder> {
//鑾峰彇妫�楠屼笅鍗曟暟鎹�
- IPage<SampleOrderDto> selectInsOrderPage(IPage<InsOrder> page, @Param("ew") QueryWrapper<SampleOrderDto> ew, @Param("laboratory") String laboratory);
+ IPage<SampleOrderDto> selectInsOrderPage(IPage<InsOrder> page, QueryWrapper<SampleOrderDto> ew, String laboratory);
//淇敼妫�楠屼笅鍗曟暟鎹�
int upInsOrderParameter(InsOrder itemParameter);
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 a01ae4a..0c9bc4f 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
@@ -624,7 +624,14 @@
LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma);
LocalTime endTime = LocalTime.parse(shiftTime.getEndTime(), forma);
// 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪鑼冨洿鍐咃紙鍖呮嫭杈圭晫锛�
- boolean isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime);
+ boolean isWithinRange;
+ if (endTime.isAfter(startTime)) {
+ // 涓嶈法澶╃殑鎯呭喌
+ isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime);
+ } else {
+ // 璺ㄥぉ鐨勬儏鍐�
+ isWithinRange = !now.isBefore(startTime) || !now.isAfter(endTime);
+ }
//鍔犵彮
AuxiliaryOutputWorkingHours count1 = auxiliaryOutputWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
.eq(AuxiliaryOutputWorkingHours::getCheck, userId)
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 18e437b..6682332 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
@@ -101,7 +101,7 @@
}
}
//鍒ゆ柇鏄惁鏄叏閮ㄦ潈闄�
- Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "selectAllInsOrder"));
+ Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "selectInsOrderParameter"));
if (ObjectUtils.isEmpty(power)) {
if (map1.get("look") == 1) {
//涓汉
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderTemplateServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderTemplateServiceImpl.java
index 0f1fc4a..d56ce61 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderTemplateServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderTemplateServiceImpl.java
@@ -1,5 +1,6 @@
package com.yuanchu.mom.service.impl;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.common.GetLook;
@@ -32,7 +33,7 @@
@Override
public List<InsOrderTemplate> selectInsOrderTemplate(String company) {
- if (company == null) {
+ if (ObjectUtils.isEmpty(company) || company.equals("")) {
return insOrderTemplateMapper.selectList(Wrappers.<InsOrderTemplate>lambdaQuery()
.select(InsOrderTemplate.class, info -> !info.getColumn().equals("thing")));
} else {
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
index ced1edd..e727387 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
@@ -76,7 +76,7 @@
}
String[] split1 = insSample.getFactory().split(" - ");
//鍒ゆ柇闀垮害
- if (split1.length > 3) {
+ if (split1.length > 4) {
if (ObjectUtils.isNotEmpty(split1[3])) {
list = list.stream().filter(list1 -> list1.getSample().equals(split1[3])).collect(Collectors.toList());
}else if (split1[3].equals("")) {
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java
index d317a85..1812e17 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java
@@ -29,6 +29,7 @@
private Integer userId;
private String sonLaboratory;
+ private String laboratory;
private Integer orderUserId;
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 6c549ad..4e1996c 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -60,37 +60,9 @@
<select id="selectInsOrderPage" resultType="com.yuanchu.mom.dto.SampleOrderDto">
select *
from (
- <!--SELECT
- io.*,
- ir.id report_id,
- ir.url,
- ir.url_s,
- (select count(*) from ins_sample isa2
- where isa2.ins_order_id = io.id and CHAR_LENGTH(isa2.sample_code) <32 ) sample_num,
- concat(ROUND((select count(*) from ins_product ip
- where state = 1 and ins_result is not null and ip.ins_sample_id in (select id from ins_sample where
- ins_sample.ins_order_id= io.id )) / (select count(*) from ins_product ip2
- where state = 1 and ip2.ins_sample_id in (select id from ins_sample where ins_sample.ins_order_id= io.id )) *
- 100, 2), '%') insProgress,
- group_concat(distinct isa.sample_code,' ') sample_code,
- group_concat(distinct isa.sample,' ') sample_name,
- group_concat(distinct isa.model,' ') sample_model,
- u.name
- FROM
- ins_order io
- LEFT JOIN ins_sample isa ON io.id = isa.ins_order_id
- LEFT JOIN ( SELECT id, ins_order_id, is_ratify, url,url_s FROM ins_report WHERE is_ratify = 1 ) ir ON io.id =
- ir.ins_order_id
- left join user u on io.create_user = u.id
- where 1=1
- <if test="laboratory!=null and laboratory!=''">
- and io.laboratory=#{laboratory}
- </if>
- GROUP BY
- io.id-->
-
SELECT
io.*,
+ isau.user_id assign,
ir.id report_id,
ir.url,
ir.url_s,
@@ -104,6 +76,8 @@
ins_order io
LEFT JOIN
ins_sample isa ON io.id = isa.ins_order_id
+ LEFT JOIN
+ ins_sample_user isau ON isau.ins_sample_id = io.id
LEFT JOIN
(SELECT id, ins_order_id, is_ratify, url, url_s FROM ins_report WHERE is_ratify = 1) ir ON io.id = ir.ins_order_id
LEFT JOIN
@@ -130,8 +104,8 @@
<if test="laboratory!=null and laboratory!=''">
AND io.laboratory=#{laboratory}
</if>
- GROUP BY
- io.id
+ GROUP BY io.id,type
+ order by type desc,io.id desc
) a
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index f16e99f..0e895b1 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -107,7 +107,7 @@
io.type,
io.appointed,
io.send_time,
- group_concat(distinct isa.sample,' ') sample,
+ group_concat(distinct isa.sample,' ') sampleType,
isu.user_id,
user.name userName,
ip.son_laboratory,
@@ -137,7 +137,6 @@
and (isu.user_id = #{userId} OR isu.user_id is NULL )
</if>
OR isu.user_id is NULL
-
GROUP BY
ip.son_laboratory,
io.id
@@ -151,16 +150,15 @@
OR user_id is NULL
) isu2 on
isu2.ins_sample_id = a.id
+ where ins_state is not null
+ <if test="laboratory != null and laboratory!=''">
+ and laboratory=#{laboratory}
+ </if>
ORDER BY
<!--a.user_id DESC,-->
a.type DESC,
a.id
) b
- where ins_state is not null
- <if test="laboratory!=null and laboratory!=''">
- and laboratory=#{laboratory}
- </if>
- )A
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
@@ -308,8 +306,8 @@
method,
man_day,
bsm,
- ask,
- tell ,
+ ask,
+ tell,
`last_value`,
ip.ins_result ip_ins_result,
state,
--
Gitblit v1.9.3