添加电子标签任务回告方法

This commit is contained in:
葛林强 2026-01-22 14:52:48 +08:00
parent 00d373395f
commit b29d950d1e
2 changed files with 69 additions and 1 deletions

View File

@ -9,6 +9,7 @@ import org.wcs.constant.enums.http.StockCallBackStatusEnum;
import org.wcs.model.bo.tuple.Tuple2; import org.wcs.model.bo.tuple.Tuple2;
import org.wcs.model.dto.client.*; import org.wcs.model.dto.client.*;
import org.wcs.model.po.app.AppConveyTask; import org.wcs.model.po.app.AppConveyTask;
import org.wcs.model.po.app.AppEtagTask;
import org.wcs.model.po.app.AppStockComposeTask; import org.wcs.model.po.app.AppStockComposeTask;
import org.wcs.plugin.webHttpClient.WebHttpClient; import org.wcs.plugin.webHttpClient.WebHttpClient;
import org.wcs.plugin.webHttpClient.model.HttpRequest; import org.wcs.plugin.webHttpClient.model.HttpRequest;
@ -26,6 +27,8 @@ public class ReportStandard {
private static final String stockTaskCallBackAddressKey = "_STOCK_TASK_STATUS_CALLBACK"; private static final String stockTaskCallBackAddressKey = "_STOCK_TASK_STATUS_CALLBACK";
// 输送线任务上报状态地址键用任务来源拼接此字符串查找上位系统地址 // 输送线任务上报状态地址键用任务来源拼接此字符串查找上位系统地址
private static final String conveyTaskCallBackAddressKey = "_CONVEY_TASK_STATUS_CALLBACK"; private static final String conveyTaskCallBackAddressKey = "_CONVEY_TASK_STATUS_CALLBACK";
// 贴标任务上报状态地址键用任务来源拼接此字符串查找上位系统地址
private static final String etagTaskCallBackAddressKey = "_ETAG_TASK_STATUS_CALLBACK";
// 仓库任务申请地址键用任务点绑定的系统拼接此字符串查找上位系统地址 // 仓库任务申请地址键用任务点绑定的系统拼接此字符串查找上位系统地址
private static final String stockLoginRequestAddressKey = "_STOCK_LOGIN_REQ"; private static final String stockLoginRequestAddressKey = "_STOCK_LOGIN_REQ";
@ -182,6 +185,9 @@ public class ReportStandard {
* @return <错误信息响应数据 > * @return <错误信息响应数据 >
*/ */
public static Tuple2<String, String> conveyTaskReport(ConveyCallBackStatusEnum status, AppConveyTask conveyTask, String message, String arriveLocation) { public static Tuple2<String, String> conveyTaskReport(ConveyCallBackStatusEnum status, AppConveyTask conveyTask, String message, String arriveLocation) {
if(conveyTask.getTaskSource().equals(ConstantData.SYSTEM_NAME)) {
return new Tuple2<>(null, "内部任务不上报");
}
ConveyTaskStatusUploadReq conveyTaskStatusUploadReq = new ConveyTaskStatusUploadReq(); ConveyTaskStatusUploadReq conveyTaskStatusUploadReq = new ConveyTaskStatusUploadReq();
conveyTaskStatusUploadReq.setTaskId(conveyTask.getTaskId()); conveyTaskStatusUploadReq.setTaskId(conveyTask.getTaskId());
conveyTaskStatusUploadReq.setTaskType(conveyTask.getTaskType()); conveyTaskStatusUploadReq.setTaskType(conveyTask.getTaskType());
@ -209,7 +215,36 @@ public class ReportStandard {
return new Tuple2<>(null, httpResponse.getResponseText()); return new Tuple2<>(null, httpResponse.getResponseText());
} }
/**
* 电子标签任务上报
* @param etagTask 贴标任务
* @param confirmNum 确认数量
* @param confirmPerson 确认人
* @return <错误信息响应数据 >
*/
public static Tuple2<String, String> etagTaskReport(AppEtagTask etagTask, Integer confirmNum, String confirmPerson) {
if(etagTask.getTaskSource().equals(ConstantData.SYSTEM_NAME)) {
return new Tuple2<>(null, "内部任务不上报");
}
EtagTaskStatusUploadReq etagTaskStatusUploadReq = new EtagTaskStatusUploadReq();
etagTaskStatusUploadReq.setTaskId(etagTask.getTaskId());
etagTaskStatusUploadReq.setConfirmNum(confirmNum);
etagTaskStatusUploadReq.setConfirmPerson(confirmPerson);
HttpRequest httpRequest = HttpRequest.buildStart().post().setAddressKey(etagTask.getTaskSource() + etagTaskCallBackAddressKey)
.setBody(AppStringUtils.objectToString(etagTaskStatusUploadReq)).autoRetry().buildEnd();
HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest);
if(httpResponse.isBaseDataError()) {
return new Tuple2<>(httpResponse.getErrText(), null);
}
if(!httpResponse.isSuccess()) {
String errText = httpResponse.getErrText();
if(httpResponse.getException() != null) {
errText += httpResponse.getException().getMessage();
}
return new Tuple2<>(errText, null);
}
return new Tuple2<>(null, httpResponse.getResponseText());
}

View File

@ -0,0 +1,33 @@
package org.wcs.model.dto.client;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
/**
* 电子标签任务状态上报
*/
@Getter
@Setter
public class EtagTaskStatusUploadReq {
/**
* 任务ID
*/
@JsonProperty("taskId")
private String taskId;
/**
* 确认数量
*/
@JsonProperty("confirmNum")
private Integer confirmNum;
/**
* 确认人
*/
@JsonProperty("confirmPerson")
private String confirmPerson;
}