Browse Source

2026-05-29

新增技术参数卡-查询页面
master
fengyuan_yang 2 months ago
parent
commit
67e4843c69
  1. 10
      src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java
  2. 22
      src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java
  3. 6
      src/main/java/com/spring/modules/sift/vo/QuerySavedVo.java
  4. 2
      src/main/java/com/spring/modules/sys/controller/SysLoginController.java
  5. 16
      src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml

10
src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java

@ -1,7 +1,6 @@
package com.spring.modules.sampleManagement.data;
import com.spring.modules.sampleManagement.entity.PlmTechnicalSpecificationSheet;
import io.swagger.models.auth.In;
import org.apache.ibatis.type.Alias;
import java.util.List;
@ -11,6 +10,7 @@ public class PlmTechnicalSpecificationSheetData extends PlmTechnicalSpecificatio
private String partType;
private String partTypeDesc;
private String statusDesc;
private List<String> excludeStatusList;
private String partName;
private String partDesc;
private String finalPartNo;
@ -454,6 +454,14 @@ public class PlmTechnicalSpecificationSheetData extends PlmTechnicalSpecificatio
this.statusDesc = statusDesc;
}
public List<String> getExcludeStatusList() {
return excludeStatusList;
}
public void setExcludeStatusList(List<String> excludeStatusList) {
this.excludeStatusList = excludeStatusList;
}
public String getPartName() {
return partName;
}

22
src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java

@ -2243,13 +2243,12 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
.collect(Collectors.toList());
String statusSymbol = symbolTrans(symbolMap.get("statusDesc"));
String testPartNoSymbol = symbolTrans(symbolMap.get("testPartNo"));
String buNoSymbol = symbolTrans(symbolMap.get("buNo"));
String customerDescSymbol = symbolTrans(symbolMap.get("customerDesc"));
String statusExcludeClause = buildStatusExcludeClause(querySavedVo.getExcludeStatusList());
String cutterNumber = null;
boolean buNoFlag = false;
for (int i = 0; i < whereConditionArr.length; i++) {
if (whereConditionArr[i].contains("status_desc")) {
whereConditionArr[i] = "a.status != 'death' AND a.status " + statusSymbol + filteredList.get(i).getFormula();
whereConditionArr[i] = statusExcludeClause + " AND a.status " + statusSymbol + filteredList.get(i).getFormula();
}
if (whereConditionArr[i].contains("test_part_no")) {
if (testPartNoSymbol.equals("like")){
@ -2274,7 +2273,8 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
}
}
whereClause = String.join(" AND ", validConditions);
whereClause = (whereClause.isEmpty() ? "a.site = '" + querySavedVo.getSite() + "' and a.status != 'death' and b.bu_no in (select bu_No from dbo.Get_Now_BU_chooseAble('" + querySavedVo.getSite() + "', '" + querySavedVo.getUserName() + "'))" : whereClause + " AND a.site = '" + querySavedVo.getSite() + "' and a.status != 'death' and b.bu_no in (select bu_No from dbo.Get_Now_BU_chooseAble('" + querySavedVo.getSite() + "', '" + querySavedVo.getUserName() + "'))").trim();
String baseWhereClause = "a.site = '" + querySavedVo.getSite() + "' and " + statusExcludeClause + " and b.bu_no in (select bu_No from dbo.Get_Now_BU_chooseAble('" + querySavedVo.getSite() + "', '" + querySavedVo.getUserName() + "'))";
whereClause = (whereClause.isEmpty() ? baseWhereClause : whereClause + " AND " + baseWhereClause).trim();
orderClause = orderClause.trim();
cutterNumber = cutterNumber == null ? "" : cutterNumber.trim();
Map<String, String> params = new HashMap<>();
@ -2290,6 +2290,20 @@ public class TechnicalSpecificationServiceImpl implements TechnicalSpecification
return new PageUtils(list, count.intValue(), querySavedVo.getNo(), querySavedVo.getSize());
}
private String buildStatusExcludeClause(List<String> excludeStatusList) {
if (excludeStatusList == null || excludeStatusList.isEmpty()) {
return "a.status != 'death'";
}
String statusList = excludeStatusList.stream()
.filter(StringUtils::hasText)
.map(status -> "'" + status.replace("'", "''") + "'")
.collect(Collectors.joining(","));
if (!StringUtils.hasText(statusList)) {
return "a.status != 'death'";
}
return "a.status not in (" + statusList + ")";
}
/**
* 新增工具
* @param data

6
src/main/java/com/spring/modules/sift/vo/QuerySavedVo.java

@ -2,11 +2,9 @@ package com.spring.modules.sift.vo;
import com.spring.modules.sift.entity.QuerySavedDetail;
import com.spring.modules.sift.entity.QuerySavedHeader;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@ -31,6 +29,10 @@ public class QuerySavedVo extends QuerySavedHeader{
private int no;
@EqualsAndHashCode.Exclude
private int size;
@EqualsAndHashCode.Exclude
private List<String> excludeStatusList;
@Override
public String toString() {
return super.toString();

2
src/main/java/com/spring/modules/sys/controller/SysLoginController.java

@ -140,7 +140,7 @@ public class SysLoginController extends AbstractController {
// 规则2当前账号开启单机登录限制账号只能在绑定电脑登录
if (Integer.valueOf(1).equals(user.getSingleComputerLimit())) {
if (StringUtils.isBlank(currentDeviceId)) {
return R.error("账号已开启单机登录限制,请先启动本地小程序后再登录");
return R.error("该账号已限制单设备登陆,请检查本地服务是否运行!");
}
String bindDeviceId = normalizeDeviceId(user.getBindDeviceId());
// 首次登录自动绑定当前设备

16
src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml

@ -2599,7 +2599,13 @@
AND (
dbo.plm_get_customer_desc(c.site, c.customer_id) like #{customerDesc})
</if>
<if test="statusDesc == null or statusDesc == ''">
<if test="excludeStatusList != null and excludeStatusList.size() > 0">
and a.status not in
<foreach collection="excludeStatusList" item="statusItem" open="(" separator="," close=")">
#{statusItem}
</foreach>
</if>
<if test="(excludeStatusList == null or excludeStatusList.size() == 0) and (statusDesc == null or statusDesc == '')">
and a.status != 'death'
</if>
<if test="statusDesc != null and statusDesc != ''">
@ -2671,7 +2677,13 @@
dbo.plm_get_dictDataLabel('finalCustomer', c.final_customer_id, c.site) like #{customerDesc}
)
</if>
<if test="statusDesc == null or statusDesc == ''">
<if test="excludeStatusList != null and excludeStatusList.size() > 0">
and a.status not in
<foreach collection="excludeStatusList" item="statusItem" open="(" separator="," close=")">
#{statusItem}
</foreach>
</if>
<if test="(excludeStatusList == null or excludeStatusList.size() == 0) and (statusDesc == null or statusDesc == '')">
and a.status != 'death'
</if>
<if test="statusDesc != null and statusDesc != ''">

Loading…
Cancel
Save