Commit 444a5f4b sunke

合单列表按剩余箱子数排序

1 个父辈 03cae851
...@@ -30,6 +30,9 @@ import com.neotel.smfcore.hikvision.bean.HikOrderInfo; ...@@ -30,6 +30,9 @@ import com.neotel.smfcore.hikvision.bean.HikOrderInfo;
import com.neotel.smfcore.hikvision.bean.result.ApiResult; import com.neotel.smfcore.hikvision.bean.result.ApiResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
...@@ -66,6 +69,16 @@ public class LiteOrderCache implements ITaskListener { ...@@ -66,6 +69,16 @@ public class LiteOrderCache implements ITaskListener {
public static Map<String, LiteOrder> liteOrderMap = new ConcurrentHashMap<>(); public static Map<String, LiteOrder> liteOrderMap = new ConcurrentHashMap<>();
public void loadUnEndOrderInfos() { public void loadUnEndOrderInfos() {
Criteria c = Criteria.where("remainBoxNum").exists(false);
Query q = Query.query(c);
Sort updateDateSort = Sort.by(Sort.Direction.ASC, "updateDate");
q.with(updateDateSort);
List<LiteOrder> needResolveOrders = liteOrderManager.findByQuery(q);
for (LiteOrder needResolveOrder : needResolveOrders) {
needResolveOrder.setCurrBoxNum(needResolveOrder.getCurrBoxNum());
needResolveOrder = liteOrderManager.save(needResolveOrder);
log.info("更新工单["+needResolveOrder.getOrderNo()+"]剩余箱子数为: "+needResolveOrder.getRemainBoxNum() + " " + needResolveOrder.getUpdateDate());
}
log.info("开始加载未完成的需求单"); log.info("开始加载未完成的需求单");
List<LiteOrder> unEndOutInfoList = liteOrderManager.findUnEndOrdersList(); List<LiteOrder> unEndOutInfoList = liteOrderManager.findUnEndOrdersList();
......
...@@ -146,7 +146,11 @@ public class OrderSheetController { ...@@ -146,7 +146,11 @@ public class OrderSheetController {
query.addCriteria(Criteria.where("sheetEnd").ne(true)); query.addCriteria(Criteria.where("sheetEnd").ne(true));
query.addCriteria(Criteria.where("boxInfos").ne(null));//必须绑定箱子 query.addCriteria(Criteria.where("boxInfos").ne(null));//必须绑定箱子
query.addCriteria(Criteria.where("shortageOut").ne(true));//非欠料出库 query.addCriteria(Criteria.where("shortageOut").ne(true));//非欠料出库
query.with(Sort.by(Sort.Direction.DESC, "updateDate"));
Sort remainBoxNumSort = Sort.by(Sort.Direction.ASC, "remainBoxNum");
Sort updateDateSort = Sort.by(Sort.Direction.DESC, "updateDate");
query.with(remainBoxNumSort).with(updateDateSort);
PageData<LiteOrder> orderList = liteOrderManager.findByPage(query, pageable); PageData<LiteOrder> orderList = liteOrderManager.findByPage(query, pageable);
PageData<OrderDto> resultList = orderMapper.toDto(orderList); PageData<OrderDto> resultList = orderMapper.toDto(orderList);
return resultList; return resultList;
......
...@@ -162,6 +162,11 @@ public class LiteOrder extends BasePo implements Serializable { ...@@ -162,6 +162,11 @@ public class LiteOrder extends BasePo implements Serializable {
private Integer currBoxNum=0; private Integer currBoxNum=0;
/** /**
* 剩余箱子数
*/
private Integer remainBoxNum = 100;
/**
* 工单是否完成合单 * 工单是否完成合单
*/ */
private Boolean sheetEnd=false; private Boolean sheetEnd=false;
...@@ -202,6 +207,13 @@ public class LiteOrder extends BasePo implements Serializable { ...@@ -202,6 +207,13 @@ public class LiteOrder extends BasePo implements Serializable {
return 0; return 0;
} }
public void setCurrBoxNum(int boxNum){
this.currBoxNum = boxNum;
if(boxInfos!=null){
this.remainBoxNum = boxInfos.size() - currBoxNum;
}
}
public void setClosed(boolean value){ public void setClosed(boolean value){
this.closed=value; this.closed=value;
if(value){ if(value){
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!