Browse Source

更新配置文件,调整数据库连接信息,修改标签设置查询,增加标签内容定义规则

master
常熟吴彦祖 1 year ago
parent
commit
32e34226cd
  1. 90
      src/main/java/com/gaotao/modules/api/entity/SRes.java
  2. 53
      src/main/java/com/gaotao/modules/api/entity/SResT.java
  3. 43
      src/main/java/com/gaotao/modules/api/entity/WcsResponseStatusCodeEnum.java
  4. 6
      src/main/java/com/gaotao/modules/api/service/WcsApiService.java
  5. 18
      src/main/java/com/gaotao/modules/api/service/impl/WcsApiServiceImpl.java
  6. 10
      src/main/java/com/gaotao/modules/automatedWarehouse/entity/WmsTransportTask.java
  7. 2
      src/main/java/com/gaotao/modules/automatedWarehouse/mapper/WcsIntegrationMapper.java
  8. 30
      src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsIntegrationServiceImpl.java
  9. 10
      src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml

90
src/main/java/com/gaotao/modules/api/entity/SRes.java

@ -0,0 +1,90 @@
package com.gaotao.modules.api.entity;
public class SRes {
/**
* 返回状态码
*/
private WcsResponseStatusCodeEnum resCode;
/**
* 返回描述信息
*/
private String resMsg;
/**
* 备用字段
*/
private String memo1;
/**
* 备用字段
*/
private String memo2;
/**
* 备用字段
*/
private String memo3;
// -------------------- 构造函数 --------------------
public SRes() {}
public SRes(WcsResponseStatusCodeEnum resCode, String resMsg) {
this.resCode = resCode;
this.resMsg = resMsg;
}
// -------------------- Getter & Setter --------------------
public WcsResponseStatusCodeEnum getResCode() {
return resCode;
}
public void setResCode(WcsResponseStatusCodeEnum resCode) {
this.resCode = resCode;
}
public String getResMsg() {
return resMsg;
}
public void setResMsg(String resMsg) {
this.resMsg = resMsg;
}
public String getMemo1() {
return memo1;
}
public void setMemo1(String memo1) {
this.memo1 = memo1;
}
public String getMemo2() {
return memo2;
}
public void setMemo2(String memo2) {
this.memo2 = memo2;
}
public String getMemo3() {
return memo3;
}
public void setMemo3(String memo3) {
this.memo3 = memo3;
}
@Override
public String toString() {
return "SRes{" +
"resCode=" + resCode +
", resMsg='" + resMsg + '\'' +
", memo1='" + memo1 + '\'' +
", memo2='" + memo2 + '\'' +
", memo3='" + memo3 + '\'' +
'}';
}
}

53
src/main/java/com/gaotao/modules/api/entity/SResT.java

@ -0,0 +1,53 @@
package com.gaotao.modules.api.entity;
import java.util.List;
public class SResT<T> extends SRes{
/**
* 数据实体
*/
private T resData;
/**
* 数据实体列表
*/
private List<T> resDataList;
// -------------------- 构造函数 --------------------
public SResT() {}
public SResT(T resData) {
this.resData = resData;
}
public SResT(List<T> resDataList) {
this.resDataList = resDataList;
}
// -------------------- Getter & Setter --------------------
public T getResData() {
return resData;
}
public void setResData(T resData) {
this.resData = resData;
}
public List<T> getResDataList() {
return resDataList;
}
public void setResDataList(List<T> resDataList) {
this.resDataList = resDataList;
}
@Override
public String toString() {
return "SResT{" +
"resData=" + resData +
", resDataList=" + resDataList +
"} " + super.toString();
}
}

43
src/main/java/com/gaotao/modules/api/entity/WcsResponseStatusCodeEnum.java

@ -0,0 +1,43 @@
package com.gaotao.modules.api.entity;
import com.fasterxml.jackson.annotation.JsonValue;
public enum WcsResponseStatusCodeEnum {
SUCCESS(200, "成功"),
FAIL(206, "失败");
private final int code;
private final String description;
WcsResponseStatusCodeEnum(int code, String description) {
this.code = code;
this.description = description;
}
@JsonValue // 序列化时输出 code
public int getCode() {
return code;
}
public String getDescription() {
return description;
}
// 根据 code 获取枚举可选
public static WcsResponseStatusCodeEnum fromCode(int code) {
for (WcsResponseStatusCodeEnum status : WcsResponseStatusCodeEnum.values()) {
if (status.code == code) {
return status;
}
}
throw new IllegalArgumentException("Unknown status code: " + code);
}
@Override
public String toString() {
return "ResponseStatusCodeEnum{" +
"code=" + code +
", description='" + description + '\'' +
'}';
}
}

6
src/main/java/com/gaotao/modules/api/service/WcsApiService.java

@ -1,4 +1,10 @@
package com.gaotao.modules.api.service;
import com.gaotao.modules.automatedWarehouse.entity.WmsTransportTask;
import java.util.List;
public interface WcsApiService {
void pushAgvTaskApi(List<WmsTransportTask> inList);
}

18
src/main/java/com/gaotao/modules/api/service/impl/WcsApiServiceImpl.java

@ -1,11 +1,29 @@
package com.gaotao.modules.api.service.impl;
import com.gaotao.modules.api.service.WcsApiService;
import com.gaotao.modules.automatedWarehouse.entity.WmsTransportTask;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
public class WcsApiServiceImpl implements WcsApiService {
@Override
public void pushAgvTaskApi(List<WmsTransportTask> inList){
log.info("开始推送AGV任务");
}
public void demo(){
// 接收 JSON 响应{ "resCode": 200, "resMsg": "成功", "resDataList": [ {...}, {...} ] }
// SResT<User> response = restTemplate.getForObject("/api/users", new ParameterizedTypeReference<SResT<User>>() {});
//
// if (response.getResCode() == ResponseStatusCodeEnum.SUCCESS) {
// List<User> users = response.getResDataList();
// // 处理数据
// }
}
}

10
src/main/java/com/gaotao/modules/automatedWarehouse/entity/WmsTransportTask.java

@ -16,7 +16,7 @@ public class WmsTransportTask {
*
*/
private String site;
private Integer itemNo;
/**
* 运输任务单号全局唯一用于任务追踪
*/
@ -371,4 +371,12 @@ public class WmsTransportTask {
public void setWmsStatus(String wmsStatus) {
this.wmsStatus = wmsStatus;
}
public Integer getItemNo() {
return itemNo;
}
public void setItemNo(Integer itemNo) {
this.itemNo = itemNo;
}
}

2
src/main/java/com/gaotao/modules/automatedWarehouse/mapper/WcsIntegrationMapper.java

@ -16,4 +16,6 @@ public interface WcsIntegrationMapper {
List<WmsTransportTask> checkPalletTask (@Param("site") String site, @Param("palletId") String palletId);
void batchSaveTransportTask(@Param("list") List<WmsTransportTask> transportTaskList);
}

30
src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsIntegrationServiceImpl.java

@ -17,6 +17,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@Service
public class WcsIntegrationServiceImpl implements WcsIntegrationService {
@ -37,7 +39,8 @@ public class WcsIntegrationServiceImpl implements WcsIntegrationService {
public void callPalletFromWcs(List<WmsLabelAndPalletData> data){
String username = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername();
Date currentTime = new Date();
//查询下这些栈板有没有不是结束 取消 失败状态的运输单
for (int i = 0; i < data.size(); i++) {
List<WmsTransportTask> checkPalletTask = wcsIntegrationMapper.checkPalletTask(data.get(i).getSite(),data.get(i).getPalletId());
@ -45,16 +48,17 @@ public class WcsIntegrationServiceImpl implements WcsIntegrationService {
throw new RuntimeException(checkPalletTask.getFirst().getPalletId()+ "栈板已有未完成的运输任务,请选择其他栈板");
}
}
// 生成任务编号
TransNoControl transData = transNoService.getTransNo(data.getFirst().getSite(), "WTT", 10);
//批量保存到运输记录表
List<WmsTransportTask> saveList = data.stream().map(item -> {
List<WmsTransportTask> saveList = IntStream.range(0, data.size())
.mapToObj(i -> {
WmsLabelAndPalletData item = data.get(i);
WmsTransportTask task = new WmsTransportTask();
task.setSite(item.getSite());
task.setPalletId(item.getPalletId());
// 生成任务编号
TransNoControl transData = transNoService.getTransNo(item.getSite(), "WTT", 10);
task.setTaskNo(transData.getNewTransNo());
task.setItemNo(i + 1);
// 设置任务基本信息
task.setSourceType("手工Call料");
@ -70,26 +74,16 @@ public class WcsIntegrationServiceImpl implements WcsIntegrationService {
task.setToLocation(""); // 目标位置
// 设置任务属性
task.setAgvCode(null);
task.setPriority(0);
task.setStatus("CREATED");
task.setStatus("已创建");
task.setWmsSendTime(currentTime);
task.setWcsReceiveTime(null);
task.setStartTime(null);
task.setCompleteTime(null);
task.setErrorCode(null);
task.setErrorMsg(null);
// 设置审计字段
task.setCreatedBy(username);
task.setCreatedTime(currentTime);
task.setUpdatedTime(currentTime);
task.setWcsTaskId(null);
task.setFinishQty(BigDecimal.ZERO);
task.setWmsStatus(null);
return task;
}).toList();
}).collect(Collectors.toList());
// 批量插入运输任务
wcsIntegrationMapper.batchSaveTransportTask(saveList);

10
src/main/resources/mapper/automatedWarehouse/WcsIntegrationMapper.xml

@ -40,18 +40,18 @@
INSERT INTO wms_transport_task (
site, task_no, source_type, source_bill_no, source_line_id, part_no, qty,
batch_no, serial_no, from_location, to_location, pallet_id, agv_code,
priority, status, wms_send_time, wcs_receive_time, start_time, complete_time,
error_code, error_msg, created_by, created_time, updated_time, wcs_task_id,
finish_qty, wms_status
priority, status, wms_send_time,
error_code, error_msg, created_by, created_time, wcs_task_id,
finish_qty, wms_status,item_no
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.site}, #{item.taskNo}, #{item.sourceType}, #{item.sourceBillNo}, #{item.sourceLineId},
#{item.partNo}, #{item.qty}, #{item.batchNo}, #{item.serialNo}, #{item.fromLocation},
#{item.toLocation}, #{item.palletId}, #{item.agvCode}, #{item.priority}, #{item.status},
#{item.wmsSendTime}, #{item.wcsReceiveTime}, #{item.startTime}, #{item.completeTime},
#{item.wmsSendTime},
#{item.errorCode}, #{item.errorMsg}, #{item.createdBy}, #{item.createdTime},
#{item.updatedTime}, #{item.wcsTaskId}, #{item.finishQty}, #{item.wmsStatus}
#{item.wcsTaskId}, #{item.finishQty}, #{item.wmsStatus}, #{item.itemNo}
)
</foreach>
</insert>

Loading…
Cancel
Save