liweidong
张乾翔 2 weeks ago
parent 80e89bdcef
commit fd27946699
  1. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/BasicClazzController.java
  2. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/BatConfigController.java
  3. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/BsAssignController.java
  4. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/CraftAbilityController.java
  5. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/LocallyPlatedPartController.java
  6. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java
  7. 26
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlatingController.java
  8. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/TeamSetController.java
  9. 13
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java
  10. 68
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkTankController.java
  11. 86
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/QueryUtils.java
  12. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EpciuPatrolInspectionMapper.xml
  13. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/InsTestMapper.xml
  14. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/TowerReportMapper.xml
  15. 50
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/QualityGradeController.java

@ -37,6 +37,7 @@ import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.vo.BasicClazzVO;
import org.springblade.desk.basic.service.IBasicClazzService;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.QueryUtils;
import org.springblade.desk.basic.wrapper.BasicClazzWrapper;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
@ -115,6 +116,9 @@ public class BasicClazzController extends BladeController {
@ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入BasicClazz Obj")
public R<IPage<BasicClazzVO>> page(BasicClazzVO basicClazz, Query query) {
// 处理排序字段转换:将前端虚拟字段转换为实际数据库字段(如 MEMO -> CREATE_TIME)
QueryUtils.convertSortField(query);
IPage<BasicClazzVO> pagesVO = service.selectBasicClazzPage(
Condition.getPage(query), basicClazz
);

@ -31,6 +31,7 @@ import org.springblade.desk.basic.pojo.entity.BatConfig;
import org.springblade.desk.basic.pojo.vo.BatConfigVO;
import org.springblade.desk.basic.service.IBatConfigService;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.QueryUtils;
import org.springblade.desk.basic.wrapper.BatConfigWrapper;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@ -99,6 +100,7 @@ public class BatConfigController extends BladeController {
@ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入BatConfig Obj")
public R<IPage<BatConfigVO>> page(BatConfigVO batConfig, Query query) {
QueryUtils.convertSortField( query);
IPage<BatConfigVO> pagesVO = service.selectBatConfigPage(
Condition.getPage(query), batConfig
);

@ -57,6 +57,7 @@ import org.springblade.desk.basic.service.ICraftAbilityService;
import org.springblade.desk.basic.service.IOemService;
import org.springblade.desk.basic.service.IWorkCenterService;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.QueryUtils;
import org.springblade.desk.basic.wrapper.BsAssignWrapper;
import org.springblade.scheduling.pojo.entity.CraftAbilityEntity;
import org.springblade.system.cache.DictCache;
@ -123,9 +124,7 @@ public class BsAssignController extends BladeController {
@ApiOperationSupport(order = 3)
@Operation(summary = "分页", description = "传入bsAssign")
public R<IPage<BsAssignVO>> page(BsAssignVO bsAssign, Query query) {
query.setDescs(null);
query.setAscs(null);
QueryUtils.convertSortField(query);
IPage<BsAssignVO> pages = bsAssignService.selectBsAssignPage(Condition.getPage(query), bsAssign);
List<BsAssignVO> list = pages.getRecords();
for(BsAssignVO vo:list){

@ -50,6 +50,7 @@ import org.springblade.desk.basic.excel.CraftAbilityExcel;
import org.springblade.desk.basic.pojo.vo.CraftAbilityVO;
import org.springblade.desk.basic.service.ICraftAbilityService;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.QueryUtils;
import org.springblade.desk.basic.wrapper.CraftAbilityWrapper;
import org.springblade.scheduling.pojo.entity.CraftAbilityEntity;
@ -121,10 +122,7 @@ public class CraftAbilityController extends BladeController {
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入CraftAbility")
public R<IPage<CraftAbilityVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> craftAbility, Query query) {
craftAbility.remove("descs");
craftAbility.remove("ascs");
query.setDescs(null);
query.setAscs(null);
QueryUtils.convertSortField(query);
Date startTime = null;
Date endTime = null;

@ -84,12 +84,9 @@ public class LocallyPlatedPartController extends BladeController {
@Operation(summary = "list分页", description = "传入LocallyPlatedPart Obj")
public R<IPage<LocallyPlatedPartVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> locallyPlatedPart,
Query query) {
locallyPlatedPart.remove("descs");
locallyPlatedPart.remove("ascs");
query.setDescs(null);
query.setAscs(null);
QueryWrapper<LocallyPlatedPart> qw = Condition.getQueryWrapper(locallyPlatedPart, LocallyPlatedPart.class);
qw.last("ORDER BY UPDATE_TIME DESC ");
IPage<LocallyPlatedPart> pages = service.page(Condition.getPage(query), qw);
IPage<LocallyPlatedPartVO> pagesVO = LocallyPlatedPartWrapper.build().pageVO(pages);
pagesVO.getRecords()

@ -37,6 +37,7 @@ import org.springblade.desk.basic.service.ICraftAbilityService;
import org.springblade.desk.basic.service.IOemCraftAbilityService;
import org.springblade.desk.basic.service.IOemService;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.QueryUtils;
import org.springblade.desk.basic.wrapper.OemWrapper;
import org.springblade.scheduling.pojo.entity.CraftAbilityEntity;
import org.springblade.system.feign.IUserClient;
@ -210,6 +211,7 @@ public class OemController extends BladeController {
@Operation(summary = "list分页", description = "传入Oem Obj")
public R<IPage<OemVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> map,
Query query) {
QueryUtils.convertSortField(query);
// build QueryWrapper
QueryWrapper<Oem> qw = Condition.getQueryWrapper(map, Oem.class);
qw.eq(map.containsKey(Oem.COL_CODE), Oem.COL_CODE, (Func.toStr(map.get(OemSearch.COL_CODE))));

@ -3,6 +3,8 @@
*/
package org.springblade.desk.basic.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -45,10 +47,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -97,17 +96,26 @@ public class PlatingController extends BladeController {
@Operation(summary = "list分页", description = "传入Plating Obj")
public R<IPage<PlatingVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> plating,
Query query) {
QueryWrapper<Plating> qw = Condition.getQueryWrapper(plating, Plating.class);
qw.like(plating.containsKey("configNo"), Plating.COL_CONFIG_NO, Func.toStr(plating.get("configNo")));
qw.eq(plating.containsKey("bcId"), Plating.COL_BC_ID, Func.toInt(plating.get("bcId")));
qw.like(plating.containsKey("plating"), Plating.COL_PLATING, Func.toStr(plating.get("plating")));
String configNo = Func.toStr(plating.getOrDefault("configNo", null));
Object bcId = plating.getOrDefault("bcId", null);
String platingStr = Func.toStr(plating.getOrDefault("plating", null));
plating.remove("configNo");
plating.remove("plating");
plating.remove("bcId");
QueryWrapper<Plating> qw = Condition.getQueryWrapper(plating,Plating.class);
qw.like(StrUtil.isNotEmpty(configNo), Plating.COL_CONFIG_NO, configNo);
qw.eq(Objects.nonNull(bcId), Plating.COL_BC_ID, Func.toLong(bcId));
qw.like(StrUtil.isNotEmpty(platingStr), Plating.COL_PLATING, platingStr);
qw.orderByAsc(BaseCol.ID);
IPage<Plating> pages = service.page(Condition.getPage(query), qw);
IPage<PlatingVO> pagesVO = PlatingWrapper.build().pageVO(pages);
//bcId
//镀种ID , 镀种名称
Set<Long> bcIds = pagesVO.getRecords().stream().map(PlatingVO::getBcId).collect(Collectors.toSet());
if (CollUtil.isEmpty(bcIds)){
return R.data(pagesVO);
}
Map<Long, String> bcIdAndName = basicClazzService
.listByIds(bcIds)
.stream()

@ -247,10 +247,10 @@ public class TeamSetController extends BladeController {
@Operation(summary = "list分页", description = "传入TeamSet Obj")
public R<IPage<TeamSetVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> map,
Query query) {
map.remove("descs");
map.remove("ascs");
query.setDescs(null);
query.setAscs(null);
//map.remove("descs");
//map.remove("ascs");
//query.setDescs(null);
//query.setAscs(null);
// List<Long> ids = new ArrayList<>();
// if(map.containsKey("dispatcherRealName")){
// List<User> users = iUserClient.userListByName(Func.toStr(map.get("dispatcherRealName")));

@ -33,6 +33,7 @@ import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.pojo.vo.WorkCenterVO;
import org.springblade.desk.basic.service.*;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.QueryUtils;
import org.springblade.desk.basic.wrapper.WorkCenterWrapper;
import org.springblade.scheduling.pojo.entity.CraftAbilityEntity;
import org.springblade.system.feign.IUserClient;
@ -95,10 +96,10 @@ public class WorkCenterController extends BladeController {
@Operation(summary = "list分页", description = "传入WorkCenter Obj")
public R<IPage<WorkCenterVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> workCenter,
Query query) {
query.setDescs(null);
query.setAscs(null);
workCenter.remove("descs");
workCenter.remove("ascs");
//query.setDescs(null);
//query.setAscs(null);
//workCenter.remove("descs");
//workCenter.remove("ascs");
QueryWrapper<WorkCenter> qw = Condition.getQueryWrapper(workCenter, WorkCenter.class);
@ -109,8 +110,8 @@ public class WorkCenterController extends BladeController {
qw.eq(workCenter.containsKey("leaderUser"), WorkCenter.COL_LEADER_USER, Func.toLong(workCenter.get("leaderUser")));
qw.like(workCenter.containsKey("team"), WorkCenter.COL_TEAM, Func.toStr(workCenter.get("team")));
qw.like(workCenter.containsKey("teamId"), WorkCenter.COL_TEAM_ID, Func.toStr(workCenter.get("teamId")));
qw.last("ORDER BY UPDATE_TIME DESC ");
QueryUtils.convertSortField( query);
//qw.last("ORDER BY UPDATE_TIME DESC ");
IPage<WorkCenter> pages = service.page(Condition.getPage(query), qw);
IPage<WorkCenterVO> pagesVO = WorkCenterWrapper.build().pageVO(pages);
List<WorkCenterVO> vos = pagesVO.getRecords();

@ -37,6 +37,7 @@ import org.springblade.desk.basic.pojo.vo.WorkTankVO;
import org.springblade.desk.basic.service.IWorkCenterService;
import org.springblade.desk.basic.service.IWorkTankService;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.QueryUtils;
import org.springblade.desk.basic.wrapper.WorkTankWrapper;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
@ -90,8 +91,14 @@ public class WorkTankController extends BladeController {
@Operation(summary = "list分页", description = "传入WorkTank Obj")
public R<IPage<WorkTankVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> workTank,
Query query) {
//
QueryWrapper<WorkTank> qw = Condition.getQueryWrapper(workTank, WorkTank.class);
IPage<WorkTank> pages = service.page(Condition.getPage(query), qw);
QueryUtils.convertSortField(query);
IPage<WorkTank> page = Condition.getPage(query);
IPage<WorkTank> pages = service.page(page, qw);
IPage<WorkTankVO> pagesVO = WorkTankWrapper.build().pageVO(pages);
List<WorkTankVO> listVO = pagesVO.getRecords();
for(WorkTankVO one : listVO){
@ -123,6 +130,9 @@ public class WorkTankController extends BladeController {
@ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入WorkTank Obj")
public R<IPage<WorkTankVO>> page(WorkTankVO workTank, Query query) {
// 处理排序字段转换:将前端传来的虚拟字段转换为实际数据库字段
convertSortField(query);
IPage<WorkTankVO> pagesVO = service.selectWorkTankPage(
Condition.getPage(query), workTank
);
@ -309,4 +319,60 @@ public class WorkTankController extends BladeController {
});
return R.data(service.saveBatch(noticeList));
}
/**
* 转换排序字段将前端虚拟字段名转换为数据库实际字段名
* 例如OP_USER_REAL_NAME -> UPDATE_TIME
*/
private void convertSortField(Query query) {
if (query == null) {
return;
}
// 处理降序排序字段
if (Func.isNotEmpty(query.getDescs())) {
String descs = query.getDescs();
descs = convertSingleSortField(descs);
query.setDescs(descs);
}
// 处理升序排序字段
if (Func.isNotEmpty(query.getAscs())) {
String ascs = query.getAscs();
ascs = convertSingleSortField(ascs);
query.setAscs(ascs);
}
}
/**
* 转换单个排序字段
* @param sortField 排序字段字符串可能包含多个字段逗号分隔
* @return 转换后的排序字段
*/
private String convertSingleSortField(String sortField) {
if (Func.isEmpty(sortField)) {
return sortField;
}
// 定义字段映射关系:前端字段名 -> 数据库字段名
String[] fields = sortField.split(",");
StringBuilder result = new StringBuilder();
for (int i = 0; i < fields.length; i++) {
String field = fields[i].trim();
String convertedField = switch (field.toUpperCase()) {
case "OP_USER_REAL_NAME" -> "UPDATE_TIME"; // 操作人姓名转换为更新时间排序
// 可以在此添加更多字段映射
// case "OTHER_FIELD" -> "ACTUAL_COLUMN";
default -> field; // 其他字段保持不变
};
result.append(convertedField);
if (i < fields.length - 1) {
result.append(",");
}
}
return result.toString();
}
}

@ -0,0 +1,86 @@
package org.springblade.desk.basic.util;/**
* @date : 2026/4/28 13:27
*/
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.controller.BatConfigController;
/**
* 文件名称
* @module 归属项目
* @author ***
* @date 2025/11/26 10:27
*/
public class QueryUtils {
/**
* 转换排序字段将前端虚拟字段名转换为数据库实际字段名
* 例如OP_USER_REAL_NAME -> UPDATE_TIME
*/
public static void convertSortField(Query query) {
if (query == null) {
return;
}
// 处理降序排序字段
if (Func.isNotEmpty(query.getDescs())) {
String descs = query.getDescs();
descs = convertSingleSortField(descs);
query.setDescs(descs);
}
// 处理升序排序字段
if (Func.isNotEmpty(query.getAscs())) {
String ascs = query.getAscs();
ascs = convertSingleSortField(ascs);
query.setAscs(ascs);
}
}
/**
* 转换单个排序字段
* @param sortField 排序字段字符串可能包含多个字段逗号分隔
* @return 转换后的排序字段
*/
public static String convertSingleSortField(String sortField) {
if (Func.isEmpty(sortField)) {
return sortField;
}
// 定义字段映射关系:前端字段名 -> 数据库字段名
String[] fields = sortField.split(",");
StringBuilder result = new StringBuilder();
for (int i = 0; i < fields.length; i++) {
String field = fields[i].trim();
String convertedField = switch (field.toUpperCase()) {
// 操作人姓名转换为更新时间排序
case "OP_USER_REAL_NAME" -> "UPDATE_USER";
/**
* {@link org.springblade.desk.basic.controller.OemController.list}
* */
case "CUR_STATUS_TEXT" -> "status";
/**
* {@link BatConfigController#page(org.springblade.desk.basic.pojo.vo.BatConfigVO, org.springblade.core.mp.support.Query)}
* */
case "UPDATE_USER_NAME" -> "UPDATE_USER";
/**
* {@link org.springblade.desk.basic.controller.WorkCenterController#list(java.util.Map, org.springblade.core.mp.support.Query)}
* */
case "LEADER_USER_NAME" -> "LEADER_USER";
/**
* {@link }
* */
case "CREATE_USER_NAME" -> "CREATE_USER";
default -> field;
};
result.append(convertedField);
if (i < fields.length - 1) {
result.append(",");
}
}
return result.toString();
}
}

@ -8,9 +8,9 @@
<result column="EPC_ID" property="epcId"/>
<result column="INS_NUM" property="insNum"/>
<result column="INS_SITE" property="insSite"/>
<result column="uName" property="insMan"/>
<result column="INS_MAN" property="insMan"/>
<!-- <result column="WAIT_CYCLE" property="waitCycle"/>-->
<result column="pMemo" property="insMemo"/>
<result column="INS_MEMO" property="insMemo"/>
<result column="PAR_MEMO" property="parMemo"/>
<result column="LAUNCH_TIME" property="launchTime"/>
<result column="TEST_TIME" property="testTime"/>
@ -27,7 +27,11 @@
<select id="selectBsEpciuPatrolInspectionPage" resultMap="bsEpciuPatrolInspectionResultMap">
select n.*,po.MEMO AS pMemo,u.name as uName from BS_EPCIU_PATROL_INSPECTION n
select n.ID, n.EPC_ID, n.INS_NUM, n.INS_SITE, n.WAIT_CYCLE, n.PAR_MEMO,
n.LAUNCH_TIME, n.TEST_TIME, n.TASK_STATUS, n.CREATE_USER, n.CREATE_DEPT,
n.CREATE_TIME, n.UPDATE_USER, n.UPDATE_TIME, n.STATUS, n.IS_DELETED, n.INS_TYPE,
po.MEMO AS INS_MEMO, u.name as INS_MAN
from BS_EPCIU_PATROL_INSPECTION n
INNER JOIN BS_EPCIU_INSPECTION_POINT po on po.ID = n.EPC_ID
left join blade_user u on u.id = n.INS_MAN
<where>

@ -25,7 +25,10 @@
<select id="selectBsInsTestPage" resultMap="bsInsTestResultMap">
select * from BS_INS_TEST n
select n.ID, n.DEVICE, n.DOSING_TIME, n.DOSING_MAN, n.IT_NI, n.IT_CU,
n.IT_CR, n.IT_CN2, n.IT_PH, n.MEMO, n.CREATE_USER, n.CREATE_DEPT,
n.CREATE_TIME, n.UPDATE_USER, n.UPDATE_TIME, n.STATUS, n.IS_DELETED
from BS_INS_TEST n
<where>
n.is_deleted = 0
<if test="bsInsTest.device!=null and bsInsTest.device!=''">

@ -23,7 +23,10 @@
<select id="selectBsTowerReportPage" resultMap="bsTowerReportResultMap">
select * from BS_TOWER_REPORT n
select n.ID, n.BT_ID, n.DEAL_STATUS, n.BT_CODE, n.BT_DATE, n.ERROR_POINT,
n.MESS_TEXT, n.CONS_LONG, n.CREATE_USER, n.CREATE_DEPT,
n.CREATE_TIME, n.UPDATE_USER, n.UPDATE_TIME, n.STATUS, n.IS_DELETED
from BS_TOWER_REPORT n
<where>
n.is_deleted = 0
<if test="bsTowerReport.dealStatus!=null">
@ -41,10 +44,7 @@
<if test="bsTowerReport.consLong!=null">
and n.CONS_LONG = #{bsTowerReport.consLong}
</if>
<if test="bsTowerReport.btDate!=null">
and n.BT_DATE like '%' || #{bsTowerReport.btDate} || '%'
</if>
<if test="bsTowerReport.queryBtDate!=null">
<if test="bsTowerReport.queryBtDate!=null and bsTowerReport.queryBtDate!= ''">
and n.BT_DATE BETWEEN to_date(#{bsTowerReport.startDate},'YYYY-MM-DD HH24:MI:SS') AND to_date(#{bsTowerReport.endDate},'YYYY-MM-DD HH24:MI:SS')
</if>
</where>

@ -51,7 +51,6 @@ import org.springblade.scheduling.scheduling.excel.QualityGradeExcel;
import org.springblade.scheduling.scheduling.service.IQualityGradeService;
import org.springblade.scheduling.scheduling.vo.QualityGradeVO;
import org.springblade.scheduling.scheduling.wrapper.QualityGradeWrapper;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
@ -108,6 +107,7 @@ public class QualityGradeController extends BladeController {
@ApiOperationSupport(order = 3)
@Operation(summary = "分页", description = "传入QualityGrade")
public R<IPage<QualityGradeVO>> page(QualityGradeVO qualityGrade, Query query) {
convertSortField(query);
IPage<QualityGradeVO> pages = qualityGradeService.selectQualityGradePage(Condition.getPage(query), qualityGrade);
List<QualityGradeVO> list = pages.getRecords();
for(QualityGradeVO vo: list){
@ -115,7 +115,55 @@ public class QualityGradeController extends BladeController {
}
return R.data(pages);
}
public void convertSortField(Query query) {
if (query == null) {
return;
}
// 处理降序排序字段
if (Func.isNotEmpty(query.getDescs())) {
String descs = query.getDescs();
descs = convertSingleSortField(descs);
query.setDescs(descs);
}
// 处理升序排序字段
if (Func.isNotEmpty(query.getAscs())) {
String ascs = query.getAscs();
ascs = convertSingleSortField(ascs);
query.setAscs(ascs);
}
}
/**
* 转换单个排序字段
* @param sortField 排序字段字符串可能包含多个字段逗号分隔
* @return 转换后的排序字段
*/
public String convertSingleSortField(String sortField) {
if (Func.isEmpty(sortField)) {
return sortField;
}
// 定义字段映射关系:前端字段名 -> 数据库字段名
String[] fields = sortField.split(",");
StringBuilder result = new StringBuilder();
for (int i = 0; i < fields.length; i++) {
String field = fields[i].trim();
String convertedField = switch (field.toUpperCase()) {
case "TYPES" -> "TYPE";
default -> field;
};
result.append(convertedField);
if (i < fields.length - 1) {
result.append(",");
}
}
return result.toString();
}
/**
* 质量等级表 新增
*/

Loading…
Cancel
Save