update 添加查改接口

master
yinq 2 months ago
parent 83166d9245
commit 9e65ae456b

@ -119,6 +119,16 @@ public class KDocsApiController extends BaseController {
List<ApiContent> exportResults = ikDocsService.exportDataList(content);
apiResponse.setResult(exportResults);
return apiResponse;
case ApiConstants.DATA_CHECK_REVISE:
// 数据查改
if (content == null || content.isEmpty()) {
log.warn("查改条件为空");
return apiResponse;
}
log.info("开始查改数据: {}", content);
List<ApiContent> checkReviseResults = ikDocsService.checkReviseDataList(content);
apiResponse.setResult(checkReviseResults);
return apiResponse;
default:
log.warn("未知的功能代码: {}", caseCode);
return apiResponse;

@ -215,6 +215,11 @@ public class HwTagRecord extends BaseEntity {
*/
private List<String> batchNumberList;
/**
* List
*/
private List<String> tagSequenceList;
@Override
public String toString() {
return "HwTagRecord{" +

@ -43,4 +43,12 @@ public interface IKDocsService {
* @return
*/
List<ApiContent> fastImportDataList(List<ApiContent> content);
/**
*
*
* @param content
* @return
*/
List<ApiContent> checkReviseDataList(List<ApiContent> content);
}

@ -19,6 +19,7 @@ import hw.tagApi.service.domain.HwTagRecord;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import hw.tagApi.service.domain.ApiContent;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
@ -167,14 +168,7 @@ public class KDocsServiceImpl implements IKDocsService {
// 处理查询结果
if (data != null) {
log.info("查询成功 - ID: {}, TID: {}, EPC: {}", queryId, data.getTId(), data.getEpc());
// 查询成功
if (data.getQueryResultsNumber() > 1) {
response.getFields().put(ApiConstants.SELECT_STATUS, "系统错误");
response.getFields().put(ApiConstants.DESCRIPTION, "存在多个记录,请使用数据导出功能");
} else {
response.getFields().put(ApiConstants.SELECT_STATUS, "搜索成功");
}
response.getFields().put("TID", data.getTId());
response.getFields().put("EPC", data.getEpc());
response.getFields().put("标签序号", data.getTagSequence());
@ -298,7 +292,7 @@ public class KDocsServiceImpl implements IKDocsService {
if (StringUtils.hasText(batchNumber) && !batchNumber.contains("-")) {
queryCondition.setBatchNumber(batchNumber);
} else if (StringUtils.hasText(batchNumber) && batchNumber.contains("-")) {
List<String> batchNumberList = TagExcelUtil.splitHorizontalBarString(batchNumber);
List<String> batchNumberList = TagExcelUtil.splitHorizontalBarString(batchNumber, false);
queryCondition.setBatchNumberList(batchNumberList);
}
// 执行查询
@ -398,5 +392,189 @@ public class KDocsServiceImpl implements IKDocsService {
return resList;
}
/**
*
*
* @param content
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public List<ApiContent> checkReviseDataList(List<ApiContent> content) {
List<ApiContent> result = new ArrayList<>();
if (content == null || content.isEmpty()) {
log.warn("查改条件列表为空");
return result;
}
log.info("开始处理查改请求,查改条件数量: {}", content.size());
for (ApiContent query : content) {
String queryId = query.getId();
log.info("处理查改条件 ID: {}, 查改参数: {}", queryId, query.getFields());
ApiContent response = new ApiContent();
response.setId(queryId);
response.setFields(new HashMap<>());
Map<String, Object> fields = query.getFields();
HwTagRecord selectTagRecord = new HwTagRecord();
// 获取更新字段
String upPassword = String.valueOf(fields.getOrDefault("改-密码", ""));
String upOrderCode = String.valueOf(fields.getOrDefault("改-LOT", ""));
String upTagBatch = String.valueOf(fields.getOrDefault("改-标签批次号", ""));
String upModelCode = String.valueOf(fields.getOrDefault("改-型号", ""));
String upDestinationInfo = String.valueOf(fields.getOrDefault("改-去向信息", ""));
String upLibraryFlag = String.valueOf(fields.getOrDefault("改-是否在库", ""));
String upIntendedUse = String.valueOf(fields.getOrDefault("改-计划用途", ""));
String upRemark = String.valueOf(fields.getOrDefault("改-备注", ""));
String upBatchNumber = String.valueOf(fields.getOrDefault("改-卷编号", ""));
// 设置查询条件
if (fields.containsKey("TID")) {
String tid = (String) fields.get("TID");
selectTagRecord.setSelectTID(tid);
}
if (fields.containsKey("EPC")) {
String epc = (String) fields.get("EPC");
selectTagRecord.setSelectEPC(epc);
}
if (fields.containsKey("密码")) {
String password = (String) fields.get("密码");
selectTagRecord.setPassword(password);
}
if (fields.containsKey("LOT")) {
String orderCode = (String) fields.get("LOT");
selectTagRecord.setOrderCode(orderCode);
}
if (fields.containsKey("标签批次号")) {
String tagBatch = (String) fields.get("标签批次号");
selectTagRecord.setTagBatch(tagBatch);
}
if (fields.containsKey("型号")) {
String modelCode = (String) fields.get("型号");
selectTagRecord.setModelCode(modelCode);
}
if (fields.containsKey("筛选日期起点")) {
String startDate = (String) fields.get("筛选日期起点");
selectTagRecord.setStartDate(startDate);
}
if (fields.containsKey("筛选日期终点")) {
String endDate = (String) fields.get("筛选日期终点");
selectTagRecord.setEndDate(endDate);
}
if (fields.containsKey("去向信息")) {
String destinationInfo = (String) fields.get("去向信息");
selectTagRecord.setDestinationInfo(destinationInfo);
}
if (fields.containsKey("是否在库")) {
String libraryFlag = (String) fields.get("是否在库");
selectTagRecord.setLibraryFlag(libraryFlag);
}
if (fields.containsKey("计划用途")) {
String intendedUse = (String) fields.get("计划用途");
selectTagRecord.setIntendedUse(intendedUse);
}
if (fields.containsKey("备注")) {
String remark = (String) fields.get("备注");
selectTagRecord.setRemark(remark);
}
if (fields.containsKey("卷编号")) {
String batchNumber = (String) fields.get("卷编号");
if (StringUtils.hasText(batchNumber) && !batchNumber.contains("-")) {
selectTagRecord.setBatchNumber(batchNumber);
log.info("设置查询条件 - 卷编号: {}", batchNumber);
} else if (StringUtils.hasText(batchNumber) && batchNumber.contains("-")) {
List<String> batchNumberList = TagExcelUtil.splitHorizontalBarString(batchNumber, false);
selectTagRecord.setBatchNumberList(batchNumberList);
log.info("设置查询条件 - 卷编号范围: {}", batchNumberList);
}
}
if (fields.containsKey("标签序号")) {
String tagSequence = (String) fields.get("标签序号");
if (StringUtils.hasText(tagSequence) && !tagSequence.contains("-")) {
selectTagRecord.setTagSequence(tagSequence);
log.info("设置查询条件 - 标签序号: {}", tagSequence);
} else if (StringUtils.hasText(tagSequence) && tagSequence.contains("-")) {
List<String> tagSequenceList = TagExcelUtil.splitHorizontalBarString(tagSequence, true);
selectTagRecord.setTagSequenceList(tagSequenceList);
log.info("设置查询条件 - 标签序号范围: {}", tagSequenceList);
}
}
// 执行查询
log.info("执行数据库查询 - ID: {}", queryId);
long startTime = System.currentTimeMillis();
List<HwTagRecord> tagRecordList = tagRecordService.selectHwTagRecordList(selectTagRecord);
int tagRecordListSize = tagRecordList.size();
long endTime = System.currentTimeMillis();
log.info("数据库查询完成 - ID: {}, 耗时: {}ms, 查询到记录数: {}", queryId, (endTime - startTime), tagRecordListSize);
// 处理查询结果
int successCount = 0;
int failCount = 0;
List<String> errorMessages = new ArrayList<>();
Map<String, Object> responseFields = new HashMap<>();
for (HwTagRecord tagRecord : tagRecordList) {
try {
if (StringUtils.hasText(upPassword)) {
tagRecord.setPassword(upPassword);
}
if (StringUtils.hasText(upOrderCode)) {
tagRecord.setOrderCode(upOrderCode);
}
if (StringUtils.hasText(upBatchNumber)) {
tagRecord.setBatchNumber(upBatchNumber);
}
if (StringUtils.hasText(upTagBatch)) {
tagRecord.setTagBatch(upTagBatch);
}
if (StringUtils.hasText(upModelCode)) {
tagRecord.setModelCode(upModelCode);
}
if (StringUtils.hasText(upDestinationInfo)) {
tagRecord.setDestinationInfo(upDestinationInfo);
}
if (StringUtils.hasText(upLibraryFlag)) {
tagRecord.setLibraryFlag(upLibraryFlag);
}
if (StringUtils.hasText(upIntendedUse)) {
tagRecord.setIntendedUse(upIntendedUse);
}
if (StringUtils.hasText(upRemark)) {
tagRecord.setRemark(upRemark);
}
if (StringUtils.hasText(upBatchNumber)) {
tagRecord.setBatchNumber(upBatchNumber);
}
tagRecordService.updateHwTagRecordByTID(tagRecord);
successCount++;
log.info("更新成功 - TID: {}", tagRecord.getTId());
} catch (Exception e) {
failCount++;
String errorMsg = String.format("更新失败 - TID: %s, 错误: %s", tagRecord.getTId(), e.getMessage());
errorMessages.add(errorMsg);
log.error(errorMsg, e);
}
}
// 设置响应结果
if (!errorMessages.isEmpty()) {
responseFields.put(ApiConstants.CHECK_STATUS, "查改失败");
responseFields.put(ApiConstants.DESCRIPTION, errorMessages);
responseFields.put("查改记录数", tagRecordListSize);
} else {
responseFields.put(ApiConstants.CHECK_STATUS, "查改成功");
responseFields.put(ApiConstants.DESCRIPTION, "");
responseFields.put("查改记录数", tagRecordListSize);
}
response.setFields(responseFields);
log.info("查改处理完成 - ID: {}, 成功: {}, 失败: {}", queryId, successCount, failCount);
result.add(response);
}
return result;
}
}

@ -1,6 +1,5 @@
package hw.tagApi.service.utils;
import hw.tagApi.service.constant.ApiConstants;
import hw.tagApi.service.domain.ApiContent;
import hw.tagApi.service.domain.ApiResponse;
import org.apache.http.HttpEntity;

@ -105,6 +105,12 @@
#{item}
</foreach>
</if>
<if test="tagSequenceList != null and tagSequenceList.size() > 0">
AND tag_sequence IN
<foreach collection="tagSequenceList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>

Loading…
Cancel
Save