Commit 5580b961 sunke

工单更新统一方法

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