Commit 5580b961 sunke

工单更新统一方法

1 个父辈 f13d7263
......@@ -102,6 +102,16 @@ public class LiteOrderCache implements ITaskListener {
liteOrderMap.put(order.getOrderNo(), order);
}
public void removeOrder(LiteOrder order){
log.info("从缓存中清除工单:" + order.getOrderNo());
liteOrderMap.remove(order.getOrderNo());
}
public synchronized void updateOrder(LiteOrder order){
order = liteOrderManager.save(order);
liteOrderMap.put(order.getOrderNo(), order);
}
public LiteOrder findOrderById(String orderId){
for (LiteOrder order : liteOrderMap.values()) {
if(order.getId().equals(orderId)){
......@@ -251,8 +261,7 @@ public class LiteOrderCache implements ITaskListener {
order.finishedTasks();
}
}
liteOrderManager.save(order);
liteOrderMap.put(order.getOrderNo(), order);
updateOrder(order);
} else {
log.error("完成任务时,未找到工单"+sourceName+"[" + task.getSourceId() + "]信息");
}
......@@ -295,9 +304,8 @@ public class LiteOrderCache implements ITaskListener {
if (apiResult.getCode() == 33) {
liteOrder.setClosed(true);
liteOrderManager.save(liteOrder);
log.info(" API更新 工单【" + liteOrder.getOrderNo() + "】已关闭,直接关闭不需要出库");
addOrderToMap(liteOrder);
updateOrder(liteOrder);
return liteOrder;
} else {
newItems = (ArrayList<HikOrderInfo>) apiResult.getData();
......@@ -677,8 +685,7 @@ public class LiteOrderCache implements ITaskListener {
cacheOrder.finishedTasks();
}
liteOrderManager.save(cacheOrder);
liteOrderMap.put(cacheOrder.getOrderNo(), cacheOrder);
updateOrder(cacheOrder);
if (taskReelCount <= 0) {
//return "工单无可执行的任务";
//return "smfcore.order.out.noTask";
......@@ -697,8 +704,7 @@ public class LiteOrderCache implements ITaskListener {
liteOrder.setOperateUser(userName);
liteOrder.setStatus(LITEORDER_STATUS.SHORTAGE);
liteOrder.setClosed(false);
liteOrderManager.save(liteOrder);
liteOrderMap.put(liteOrder.getOrderNo(), liteOrder);
updateOrder(liteOrder);
}
......@@ -708,13 +714,10 @@ public class LiteOrderCache implements ITaskListener {
* @param orderNo
*/
public String closeOrder(String orderNo) {
LiteOrder liteOrder = liteOrderMap.get(orderNo);
if (liteOrder == null) {
liteOrder=liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder = findOrderByNo(orderNo);
if(liteOrder==null){
return "smfcore.order.out.notFound";
}
}
//有任务的工单不能关闭
List<DataLog> allTask=taskService.getAllTasks();
for (DataLog task:allTask
......@@ -733,13 +736,13 @@ public class LiteOrderCache implements ITaskListener {
log.info("关闭工单[" + orderNo + "]成功");
liteOrder.setClosed(true);
liteOrderManager.save(liteOrder);
updateOrder(liteOrder);
return "smfcore.order.close.success";
}
public LiteOrder getOrderSortItems(String sourceId) {
LiteOrder order = liteOrderManager.findByOrderNo(sourceId);
LiteOrder order = findOrderByNo(sourceId);
if (order != null && order.getOrderItems().size() > 0) {
List<LiteOrderItem> list = order.getOrderItems();
//根据站位号排序
......
......@@ -224,7 +224,7 @@ public class OrderController {
order.addOrderItems(item);
liteOrderManager.createWithItems(order);
order = liteOrderManager.createWithItems(order);
liteOrderCache.addOrderToMap(order);
log.info("新建工单[" + order.getOrderNo() + "]工单详情"+order.getOrderItems().size()+"条" );
......@@ -263,7 +263,7 @@ public class OrderController {
if (orderNo == null) {
throw new ValidateException("smfcore.valueCanotNull", "{0}不能为空", new String[]{"orderNo"});
}
LiteOrder liteOrder = liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder = liteOrderCache.findOrderByNo(orderNo);
if (liteOrder == null) {
throw new ValidateException("smfcore.valueNotFind", "未找到{0}[{1}]", new String[]{"orderNo", orderNo});
}
......@@ -379,7 +379,7 @@ public class OrderController {
return new ArrayList<>();
}
LiteOrder liteOrder = liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder = liteOrderCache.findOrderByNo(orderNo);
if (liteOrder == null) {
throw new ValidateException("smfcore.valueNotFind", "未找到{0}[{1}]", new String[]{"orderNo", orderNo});
}
......
......@@ -80,7 +80,7 @@ public class OrderSheetController {
if (orderNo == null) {
throw new ValidateException("smfcore.valueCanotNull", "{0}不能为空", new String[]{"orderNo"});
}
LiteOrder liteOrder = liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder = liteOrderCache.findOrderByNo(orderNo);
if (liteOrder == null) {
throw new ValidateException("smfcore.valueNotFind", "未找到{0}[{1}]", new String[]{"orderNo", orderNo});
}
......@@ -96,7 +96,7 @@ public class OrderSheetController {
if (orderNo == null) {
throw new ValidateException("smfcore.valueCanotNull", "{0}不能为空", new String[]{"orderNo"});
}
LiteOrder liteOrder = liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder = liteOrderCache.findOrderByNo(orderNo);
if (liteOrder == null) {
throw new ValidateException("smfcore.valueNotFind", "未找到{0}[{1}]", new String[]{"orderNo", orderNo});
}
......@@ -114,8 +114,7 @@ public class OrderSheetController {
OrderBoxInfo boxInfo = new OrderBoxInfo(SecurityUtils.getCurrentUsername(), boxName);
liteOrder.addBox(boxInfo);
}
liteOrderManager.save(liteOrder);
liteOrderCache.addOrderToMap(liteOrder);
liteOrderCache.updateOrder(liteOrder);
return ResultBean.newOkResult("smfcore.orderSheet.box.bindOk", "绑定成功", liteOrder.getBoxInfos());
}
......@@ -171,7 +170,7 @@ public class OrderSheetController {
throw new ValidateException("smfcore.orderSheet.barcode", "未找到料盘{0}的工单信息",new String[]{barcodeInfo.getBarcode()} );
}
LiteOrder liteOrder= liteOrderManager.findByOrderNo(dataLog.getSourceName());
LiteOrder liteOrder= liteOrderCache.findOrderByNo(dataLog.getSourceName());
if(liteOrder==null){
throw new ValidateException("smfcore.orderSheet.barcode", "未找到料盘{0}的工单信息",new String[]{barcodeInfo.getBarcode()} );
}
......@@ -195,9 +194,7 @@ public class OrderSheetController {
}
if(isSave){
log.info("工单合单:料盘条码["+barcodeInfo.getBarcode()+"],类型["+type+"],位置["+position+"],工单号["+liteOrder.getOrderNo()+"],箱子数+1,当前箱子数:"+liteOrder.getCurrBoxNum()+"/"+liteOrder.getBoxNum());
liteOrderManager.save(liteOrder);
liteOrderCache.addOrderToMap(liteOrder);
liteOrderCache.updateOrder(liteOrder);
}
List<String> positionList = Lists.newArrayList();
positionList.add(liteOrder.getPosition(1));
......@@ -218,7 +215,7 @@ public class OrderSheetController {
int type =Integer.parseInt(mapValues.get("type").toString()) ;
String position=mapValues.get("position").toString();
LiteOrder liteOrder= liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder= liteOrderCache.findOrderByNo(orderNo);
if(liteOrder==null){
throw new ValidateException("smfcore.orderSheet.barcode", "未找到工单{0}",new String[]{orderNo} );
}
......@@ -242,8 +239,7 @@ public class OrderSheetController {
liteOrder.addPos(type,position);
log.info("工单合单:工单号["+liteOrder.getOrderNo()+"]绑定位置["+type+"]["+position+"]成功");
liteOrderManager.save(liteOrder);
liteOrderCache.addOrderToMap(liteOrder);
liteOrderCache.updateOrder(liteOrder);
return ResultBean.newOkResult("smfcore.orderSheet.bindPosition.ok","绑定成功",position);
}
......@@ -254,7 +250,7 @@ public class OrderSheetController {
@PreAuthorize("@el.check('workOrder')")
public ResultBean endOrderSheet(@RequestBody Map<String, Object> mapValues) {
String orderNo = mapValues.get("orderNo").toString();
LiteOrder liteOrder = liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder = liteOrderCache.findOrderByNo(orderNo);
if (liteOrder == null) {
throw new ValidateException("smfcore.orderSheet.barcode", "未找到工单{0}", new String[]{orderNo});
}
......@@ -273,7 +269,7 @@ public class OrderSheetController {
log.info("工单合单:工单号[" + liteOrder.getOrderNo() + "]完成合单");
liteOrder.setSheetEnd(true);
liteOrderManager.save(liteOrder);
liteOrderCache.addOrderToMap(liteOrder);
liteOrderCache.removeOrder(liteOrder);
return ResultBean.newOkResult("工单号[" + liteOrder.getOrderNo() + "]完成合单");
}
......
......@@ -112,7 +112,7 @@ public class OrderShortageController {
if (orderNo == null) {
throw new ValidateException("smfcore.valueCanotNull", "{0}不能为空", new String[]{"orderNo"});
}
LiteOrder liteOrder = liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder = liteOrderCache.findOrderByNo(orderNo);
if (liteOrder == null) {
throw new ValidateException("smfcore.valueNotFind", "未找到{0}[{1}]", new String[]{"orderNo", orderNo});
}
......@@ -197,7 +197,7 @@ public class OrderShortageController {
throw new ValidateException("smfcore.orderSheet.barcode", "未找到料盘{0}的工单信息", new String[]{barcodeInfo.getBarcode()});
}
LiteOrder liteOrder = liteOrderManager.findByOrderNo(dataLog.getSourceName());
LiteOrder liteOrder = liteOrderCache.findOrderByNo(dataLog.getSourceName());
if (liteOrder == null) {
throw new ValidateException("smfcore.orderSheet.barcode", "未找到料盘{0}的工单信息", new String[]{barcodeInfo.getBarcode()});
}
......@@ -218,7 +218,7 @@ public class OrderShortageController {
String position=mapValues.get("position").toString();
int type=4;//欠料位置
LiteOrder liteOrder= liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder= liteOrderCache.findOrderByNo(orderNo);
if(liteOrder==null){
throw new ValidateException("smfcore.orderSheet.barcode", "未找到工单{0}",new String[]{orderNo} );
}
......@@ -240,8 +240,7 @@ public class OrderShortageController {
liteOrder.addPos(type,position);
log.info("工单合单:工单号["+liteOrder.getOrderNo()+"]绑定位置["+type+"]["+position+"]成功");
liteOrderManager.save(liteOrder);
liteOrderCache.addOrderToMap(liteOrder);
liteOrderCache.updateOrder(liteOrder);
return ResultBean.newOkResult("smfcore.orderSheet.bindPosition.ok","绑定成功",position);
}
......@@ -252,7 +251,7 @@ public class OrderShortageController {
@PreAuthorize("@el.check('workOrder')")
public ResultBean orderComplete(@RequestBody String orderNo) {
// String orderNo = mapValues.get("orderNo").toString();
LiteOrder liteOrder= liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder= liteOrderCache.findOrderByNo(orderNo);
if(liteOrder==null){
throw new ValidateException("smfcore.orderSheet.barcode", "未找到工单{0}",new String[]{orderNo} );
}
......@@ -271,8 +270,7 @@ public class OrderShortageController {
log.info("工单已齐套:工单号["+liteOrder.getOrderNo()+"]工单已齐套");
liteOrder.setComplete(true);
liteOrderManager.save(liteOrder);
liteOrderCache.addOrderToMap(liteOrder);
liteOrderCache.updateOrder(liteOrder);
return ResultBean.newOkResult("ok");
}
......
......@@ -73,12 +73,6 @@ public class RepleOrderController {
private ILiteOrderManager liteOrderManager;
@Autowired
private IUserManager userManager;
@Autowired
private IGroupManager groupManager;
@Autowired
private final OrderMapper orderMapper;
@Autowired
......@@ -188,7 +182,7 @@ public class RepleOrderController {
if (orderNo == null) {
throw new ValidateException("smfcore.valueCanotNull", "{0}不能为空", new String[]{"orderNo"});
}
LiteOrder liteOrder = liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder = liteOrderCache.findOrderByNo(orderNo);
if (liteOrder == null) {
throw new ValidateException("smfcore.valueNotFind", "未找到{0}[{1}]", new String[]{"orderNo", orderNo});
}
......@@ -274,7 +268,7 @@ public class RepleOrderController {
return new ArrayList<>();
}
LiteOrder liteOrder = liteOrderManager.findByOrderNo(orderNo);
LiteOrder liteOrder = liteOrderCache.findOrderByNo(orderNo);
if (liteOrder == null) {
throw new ValidateException("smfcore.valueNotFind", "未找到{0}[{1}]", new String[]{"orderNo", orderNo});
}
......
......@@ -7,6 +7,6 @@ public class CustomMongoProperties {
private String host;
private Integer port;
private String database;
private Integer maxConSize = 200;
private Integer minConSize = 100;
private Integer maxConSize = 300;
private Integer minConSize = 150;
}
#配置数据源
data:
mongodb:
host: localhost # 主机地址
host: 10.1.129.59 # 主机地址
port: 27017 # 端口
database: hikvision # 数据库
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!