Commit a67e51bc LN

Outside Shelf Dispatch 和ControlledDispatch 新界面接口调整

1 个父辈 2ff2619c
package com.neotel.smfcore.common.bean;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.core.language.util.MessageUtils;
......@@ -32,8 +33,11 @@ public class ResultBean<T> {
result.setMsgKey(msgKey);
result.setParams(params);
result.setMsg(MessageUtils.getText(msgKey, params, new Locale(SecurityUtils.getCurrentUserLanguage()), msg));
if (writeLog) {
log.info(result.getMsg());
if (writeLog ) {
String showmsg=result.getMsg();
if(ObjectUtil.isNotEmpty(showmsg)){
log.info(showmsg);
}
}
return result;
}
......
......@@ -123,12 +123,15 @@ public class DefaultOrderFileListener implements IOrderFileListener {
itemMap = readExcelFile(fileName, orderFile.getAbsolutePath());
}
//新增为一个工单
String orderName = reason;
if(ObjectUtil.isEmpty(reason)) {
List<LiteOrder> orders = liteOrderManager.findByQuery(new Query(Criteria.where("mode").is(mode)));
orderName = mode + (orders.size() + 1);
if(ObjectUtil.isEmpty(reason)){
reason="";
}
//新增为一个工单
String orderName = mode+"_"+reason+"_"+operId;
// if(ObjectUtil.isEmpty(reason)) {
// List<LiteOrder> orders = liteOrderManager.findByQuery(new Query(Criteria.where("mode").is(mode)));
// orderName = mode + (orders.size() + 1);
// }
LiteOrder dbOrder = liteOrderManager.findByOrderNo(orderName);
if (dbOrder != null) {
......@@ -137,7 +140,7 @@ public class DefaultOrderFileListener implements IOrderFileListener {
String newOrderNo = orderName + "-" + format.format(new Date());
dbOrder = liteOrderManager.findByOrderNo(newOrderNo);
if (dbOrder == null) {
orderName=newOrderNo;
} else {
log.info("watchOrderDir,mode=[" + mode + "],reason=[" + reason + "]:数据库中已存在工单号为[" + orderName + "],忽略文件:" + orderFile.getAbsolutePath());
//resultFile = new File(localDir+File.separator + "error",backupFileName);
......
......@@ -2,6 +2,7 @@ package com.neotel.smfcore.core.order.service.po;
import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.base.BasePo;
import com.neotel.smfcore.custom.micron1053.task.enums.OrderItemStatus;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.annotation.Transient;
......@@ -9,6 +10,7 @@ import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -120,16 +122,46 @@ public class LiteOrderItem extends BasePo implements Serializable ,Comparable<Li
* 自定义的附加字段,key=字段名,value=值
*/
public Map<String,String> appendData = new HashMap<>();
/**
* 添加或更新自定义附加信息
* @param appendKey
* @param appendValue
*/
public void updateAppendData(String appendKey, String appendValue){
appendData.put(appendKey, appendValue);
}
/**
* 获取自定义附加信息
* @param appendKey
* @param <T>
* @return
*/
public <T> T getAppendData(String appendKey){
Object value = appendData.get(appendKey);
if(value != null){
return (T)value;
}
return null;
}
public List<LiteOrderItem> selectItems;
public boolean updateSelItemS(String subItemId,String selItemStatus,String reason) {
public List<LiteOrderItem> getSelectItems(){
if(selectItems==null){
return new ArrayList<>();
}
return selectItems;
}
public boolean updateSelItemS(String barcode,String selItemStatus,String reason) {
try {
if (selectItems == null || selectItems.size() <= 0) {
return false;
}
for (int i = 0; i < selectItems.size(); i++) {
if (selectItems.get(i).getId().equals(subItemId)) {
if (selectItems.get(i).getRi().equals(barcode)) {
selectItems.get(i).setStatus(selItemStatus);
if (ObjectUtil.isNotEmpty(reason)) {
selectItems.get(i).setExecutFailReason(reason);
......@@ -161,4 +193,24 @@ public class LiteOrderItem extends BasePo implements Serializable ,Comparable<Li
}
return this.getId().compareTo(o.getId());
}
public boolean isSuccess(){
return status.equalsIgnoreCase(OrderItemStatus.executing)||
status.equalsIgnoreCase(OrderItemStatus.wait)||
status.equalsIgnoreCase(OrderItemStatus.notify_success)||
status.equalsIgnoreCase(OrderItemStatus.finish)
||status.equalsIgnoreCase(OrderItemStatus.CheckOk);
}
public boolean isNg() {
return status.equalsIgnoreCase(OrderItemStatus.executFail)||
status.equalsIgnoreCase(OrderItemStatus.CheckFail)||
status.equalsIgnoreCase(OrderItemStatus.cancel)
||status.equalsIgnoreCase(OrderItemStatus.Reserved);
}
public boolean isTranFail() {
return status.equalsIgnoreCase(OrderItemStatus.notify_fail);
}
}
......@@ -1004,6 +1004,9 @@ public class MicronApi {
public static boolean Api012(String operationId, String action) {
if(Debug){
return true;
}
String url = config.getUrl(config.api_name_012);
url = MessageFormat.format(url, operationId);
......
package com.neotel.smfcore.custom.micron1053.loading.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MaterialDispatchDto implements Serializable {
@ApiModelProperty("物料类型")
private String materialType;
@ApiModelProperty("成功盘数")
private int successQty;
@ApiModelProperty("NG盘数")
private int ng;
@ApiModelProperty("失败盘数")
private int failure;
}
package com.neotel.smfcore.custom.micron1053.loading.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SelReelDetialDto implements Serializable {
@ApiModelProperty("PN")
private String pn;
@ApiModelProperty("RI")
private String ri;
@ApiModelProperty("qty")
private int qty;
@ApiModelProperty("状态,CheckOK的不可勾选,Reserved 和CheckFail 的可勾选")
private String status;
@ApiModelProperty("执行失败原因")
private String executFailReason;
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!