Commit a3265e84 sunke

感应料架入库成功不通知

1 个父辈 6dcf1f0c
package com.neotel.smfcore.common.init; package com.neotel.smfcore.common.init;
import com.google.common.collect.Lists;
import com.neotel.smfcore.common.utils.PermissionInitUtil; import com.neotel.smfcore.common.utils.PermissionInitUtil;
import com.neotel.smfcore.common.utils.Constants; import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.core.api.SmfApi; import com.neotel.smfcore.core.api.SmfApi;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.inList.util.InListCache; import com.neotel.smfcore.core.inList.util.InListCache;
import com.neotel.smfcore.core.message.enums.MessageType; import com.neotel.smfcore.core.message.enums.MessageType;
import com.neotel.smfcore.core.message.service.manager.IMessageManager; import com.neotel.smfcore.core.message.service.manager.IMessageManager;
...@@ -42,6 +44,8 @@ public class DataInitManager { ...@@ -42,6 +44,8 @@ public class DataInitManager {
IRoleManager roleManager; IRoleManager roleManager;
@Autowired @Autowired
IMenuManager menuManager; IMenuManager menuManager;
@Autowired
DataCache dataCache;
@Autowired @Autowired
MainTimer mainTimer; MainTimer mainTimer;
...@@ -71,7 +75,7 @@ public class DataInitManager { ...@@ -71,7 +75,7 @@ public class DataInitManager {
@PostConstruct @PostConstruct
public void DataInit() { public void DataInit() {
try { try {
log.info("smfcore版本号:["+version+"],类型["+appType+"]。初始化环境..."); log.info("smfcore Version:["+version+"],类型["+appType+"]。初始化环境...");
//查询admin的用户是否存在 //查询admin的用户是否存在
String userName = Constants.SUPER_USERNAME; String userName = Constants.SUPER_USERNAME;
User admin = userManager.findByUserName(userName); User admin = userManager.findByUserName(userName);
...@@ -106,6 +110,9 @@ public class DataInitManager { ...@@ -106,6 +110,9 @@ public class DataInitManager {
Message message=Message.newMsg(MessageType.INFO ,"server", "", "", "smfcore.messages.serverStart","服务器启动",null); Message message=Message.newMsg(MessageType.INFO ,"server", "", "", "smfcore.messages.serverStart","服务器启动",null);
messageManager.save(message); messageManager.save(message);
dataCache.getAllInventory(null,"");
} catch (Exception exception) { } catch (Exception exception) {
log.error("初始化环境出错..." + exception.toString(),exception); log.error("初始化环境出错..." + exception.toString(),exception);
} }
...@@ -141,6 +148,10 @@ public class DataInitManager { ...@@ -141,6 +148,10 @@ public class DataInitManager {
//功能菜单(不包含父级菜单),key为path //功能菜单(不包含父级菜单),key为path
Map<String,Menu> functionMenuMap = new HashMap<>(); Map<String,Menu> functionMenuMap = new HashMap<>();
//AGV看板
addNewFunctionMenu(1,null,"agvkanban", "AGV看板","agvkanban", "agv/agvkanban/index","agv",functionMenuMap);
//设备看板 //设备看板
addNewFunctionMenu(1,null,"boxkanban", "设备看板","lockMaterial", "lockMaterial/material/index","kanban",functionMenuMap); addNewFunctionMenu(1,null,"boxkanban", "设备看板","lockMaterial", "lockMaterial/material/index","kanban",functionMenuMap);
...@@ -237,9 +248,10 @@ public class DataInitManager { ...@@ -237,9 +248,10 @@ public class DataInitManager {
private void updateMenu(String[] menuListToShow, String[] menuListToHide){ private void updateMenu(String[] menuListToShow, String[] menuListToHide){
List<Menu> dbMenus = menuManager.findAll(); List<Menu> dbMenus = menuManager.findAll();
List<String> menuList = Lists.newArrayList();
if(dbMenus.isEmpty()){ if(dbMenus.isEmpty()){
log.info("创建默认菜单..."); log.info("创建默认菜单...");
menuListToShow = new String[]{ String[] defaultMenus = new String[]{
"lockMaterial", //设备看板 "lockMaterial", //设备看板
"singleOuput", "singleOuput",
"tacticsOuput", "tacticsOuput",
...@@ -259,9 +271,13 @@ public class DataInitManager { ...@@ -259,9 +271,13 @@ public class DataInitManager {
"peoples", //用户管理 "peoples", //用户管理
"role" //角色管理 "role" //角色管理
}; };
menuList = Lists.newArrayList(defaultMenus);
}
for (String menuToShow : menuListToShow) {
menuList.add(menuToShow);
} }
Map<String, Menu> allMenus = getAllMenuMap(); Map<String, Menu> allMenus = getAllMenuMap();
Set<String> showIdSet = showMenu(allMenus,menuListToShow); Set<String> showIdSet = showMenu(allMenus,menuList);
Set<String> hideIdSet = hideMenu(allMenus, menuListToHide); Set<String> hideIdSet = hideMenu(allMenus, menuListToHide);
if(!showIdSet.isEmpty() || !hideIdSet.isEmpty()){ if(!showIdSet.isEmpty() || !hideIdSet.isEmpty()){
List<Role> roles = roleManager.findByQuery(new Query(Criteria.where("name").is("admin"))); List<Role> roles = roleManager.findByQuery(new Query(Criteria.where("name").is("admin")));
...@@ -286,7 +302,7 @@ public class DataInitManager { ...@@ -286,7 +302,7 @@ public class DataInitManager {
/** /**
* 展示菜单 * 展示菜单
*/ */
private Set<String> showMenu(Map<String, Menu> allMenu, String[] menuListToShow){ private Set<String> showMenu(Map<String, Menu> allMenu, List<String> menuListToShow){
Set<String> showIdSet = new HashSet<>(); Set<String> showIdSet = new HashSet<>();
for (String showPath : menuListToShow) { for (String showPath : menuListToShow) {
Menu showMenu = allMenu.get(showPath); Menu showMenu = allMenu.get(showPath);
......
...@@ -396,13 +396,12 @@ public class NLPShelfHandler extends BaseDeviceHandler{ ...@@ -396,13 +396,12 @@ public class NLPShelfHandler extends BaseDeviceHandler{
String msg = queueTask.getBarcode() + "入库到" + pos.getPosName() + "成功"; String msg = queueTask.getBarcode() + "入库到" + pos.getPosName() + "成功";
log.info(msg); log.info(msg);
List<String> notifyUsers = userManager.findByDeviceGroupId(storage.getGroupId()); //List<String> notifyUsers = userManager.findByDeviceGroupId(storage.getGroupId());
WebSocketServer.sendMsg(new SocketMsg(notifyUsers, msg, MsgType.INFO,"smfclient.nlp.inputOk",new String[]{queueTask.getBarcode(),pos.getPosName()})); //WebSocketServer.sendMsg(new SocketMsg(notifyUsers, msg, MsgType.INFO,"smfclient.nlp.inputOk",new String[]{queueTask.getBarcode(),pos.getPosName()}));
break; break;
} catch (Exception e) { } catch (Exception e) {
log.error("入库出错"+e.getMessage()); log.error("入库出错"+e.getMessage());
List<String> notifyUsers = userManager.findByDeviceGroupId(storage.getGroupId()); List<String> notifyUsers = userManager.findByDeviceGroupId(storage.getGroupId());
WebSocketServer.sendMsg(new SocketMsg(notifyUsers,"入库出错:"+e.getMessage(), MsgType.ERROR,"smfclient.nlp.inputError",new String[]{e.getMessage()})); WebSocketServer.sendMsg(new SocketMsg(notifyUsers,"入库出错:"+e.getMessage(), MsgType.ERROR,"smfclient.nlp.inputError",new String[]{e.getMessage()}));
return ResultBean.newErrorResult(-1, "smfcore.inputError", "入库出错:{0}", new String[]{e.getMessage()}); return ResultBean.newErrorResult(-1, "smfcore.inputError", "入库出错:{0}", new String[]{e.getMessage()});
......
...@@ -13,6 +13,7 @@ import com.neotel.smfcore.core.barcode.service.manager.IComponentManager; ...@@ -13,6 +13,7 @@ import com.neotel.smfcore.core.barcode.service.manager.IComponentManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode; import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.service.po.Component; import com.neotel.smfcore.core.barcode.service.po.Component;
import com.neotel.smfcore.core.barcode.utils.CodeResolve; import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.device.bean.StatusBean;
import com.neotel.smfcore.core.inList.util.InListCache; import com.neotel.smfcore.core.inList.util.InListCache;
import com.neotel.smfcore.core.language.service.bean.LanguageInfo; import com.neotel.smfcore.core.language.service.bean.LanguageInfo;
import com.neotel.smfcore.core.language.service.po.LanguageMsg; import com.neotel.smfcore.core.language.service.po.LanguageMsg;
...@@ -31,6 +32,7 @@ import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager; ...@@ -31,6 +32,7 @@ import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.system.service.po.CacheItem; import com.neotel.smfcore.core.system.service.po.CacheItem;
import com.neotel.smfcore.core.system.service.po.Settings; import com.neotel.smfcore.core.system.service.po.Settings;
import com.neotel.smfcore.core.storage.service.po.Storage; import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.system.util.DevicesStatusUtil;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -667,12 +669,11 @@ public class DataCache { ...@@ -667,12 +669,11 @@ public class DataCache {
public List<String> getAvailableStorageIds(){ public List<String> getAvailableStorageIds(){
List<String> availableStorageIds = new ArrayList<>(); List<String> availableStorageIds = new ArrayList<>();
for (Storage storage : getAllStorage().values()) { for (Storage storage : getAllStorage().values()) {
//默认所有料仓可用 StatusBean bean = DevicesStatusUtil.getStatusBean(storage.getCid());
// StatusBean statusBean =dataCache. getStatus(storage.getCid()); if (bean == null || bean.timeOut() || !bean.isAvailable()) {
// if (statusBean.isAvailable()) continue;
{
availableStorageIds.add(storage.getId());
} }
availableStorageIds.add(storage.getId());
} }
return availableStorageIds; return availableStorageIds;
} }
......
...@@ -595,7 +595,7 @@ public class MaterialBoxController { ...@@ -595,7 +595,7 @@ public class MaterialBoxController {
// task.setPosId(operatePos.getId()); // task.setPosId(operatePos.getId());
task.setPosName(pidBarcode.getBarcode()); task.setPosName(pidBarcode.getBarcode());
task.setSourceName(SecurityUtils.getLoginUsername()); task.setOperator(SecurityUtils.getLoginUsername());
task = dataLogManager.save(task); task = dataLogManager.save(task);
taskService.moveTaskToFinished(task); taskService.moveTaskToFinished(task);
......
...@@ -820,9 +820,9 @@ public class TaskService { ...@@ -820,9 +820,9 @@ public class TaskService {
task.setOperator(opUser); task.setOperator(opUser);
task.setStatus(OP_STATUS.FINISHED.name()); task.setStatus(OP_STATUS.FINISHED.name());
task = dataLogDao.save(task);
theFinishedTaskMap.put(task.getBarcode(), task); updateFinishedTask(task);
} catch (Exception e) { } catch (Exception e) {
log.error("addTaskToFinished Error:", e); log.error("addTaskToFinished Error:", e);
} }
...@@ -831,7 +831,7 @@ public class TaskService { ...@@ -831,7 +831,7 @@ public class TaskService {
/** /**
* 出库完成 * 出库完成
*/ */
public void checkoutFinished(DataLog task) throws ValidateException { private void checkoutFinished(DataLog task) throws ValidateException {
boolean isCancelTask = task.isCancel(); boolean isCancelTask = task.isCancel();
StoragePos storagePos = storagePosManager.get(task.getPosId()); StoragePos storagePos = storagePosManager.get(task.getPosId());
...@@ -841,8 +841,9 @@ public class TaskService { ...@@ -841,8 +841,9 @@ public class TaskService {
//记录日志 //记录日志
task.setStatus(OP_STATUS.CANCEL.name()); task.setStatus(OP_STATUS.CANCEL.name());
taskMap.remove(task.getId()); taskMap.remove(task.getId());
theFinishedTaskMap.put(task.getBarcode(), task); //theFinishedTaskMap.put(task.getBarcode(), task);
log.warn("任务:" + task.getBarcode() + " 仓位:" + task.getPosName() + " 的 Barcode 为null, 之前可能处理过直接返回"); log.warn("任务:" + task.getBarcode() + " 仓位:" + task.getPosName() + " 的 Barcode 为null, 之前可能处理过直接返回");
updateFinishedTask(task);
return; return;
} }
//记录在库时长 //记录在库时长
...@@ -880,7 +881,7 @@ public class TaskService { ...@@ -880,7 +881,7 @@ public class TaskService {
if (isCancelTask) { if (isCancelTask) {
task.setStatus(OP_STATUS.CANCEL.name()); task.setStatus(OP_STATUS.CANCEL.name());
} }
dataLogDao.save(task); updateFinishedTask(task);
//从队列里面移除操作 //从队列里面移除操作
DataLog removeTask = taskMap.remove(task.getId()); DataLog removeTask = taskMap.remove(task.getId());
...@@ -891,7 +892,7 @@ public class TaskService { ...@@ -891,7 +892,7 @@ public class TaskService {
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage()); log.error(e.getMessage());
} }
theFinishedTaskMap.put(task.getBarcode(), task); //theFinishedTaskMap.put(task.getBarcode(), task);
// //任务已经被取消就不再更新需求单信息 // //任务已经被取消就不再更新需求单信息
......
...@@ -19,6 +19,14 @@ import java.util.Map; ...@@ -19,6 +19,14 @@ import java.util.Map;
@Slf4j @Slf4j
public class DaLuApi extends DefaultSmfApiListener { public class DaLuApi extends DefaultSmfApiListener {
/**
*
api:
#name: DaLu
#inCheckUrl: DaLu
#outNotifyUrl: https://matlabel-tool.com:4434/SMD_BOXAPI/OutBox
#inNotifyUrl: https://matlabel-tool.com:4434/SMD_BOXAPI/InBox
*/
@Autowired @Autowired
private IComponentManager componentManager; private IComponentManager componentManager;
......
...@@ -102,8 +102,7 @@ public class MenuController { ...@@ -102,8 +102,7 @@ public class MenuController {
public ResponseEntity<Object> query(@RequestParam String pid,HttpServletRequest servletRequest) { public ResponseEntity<Object> query(@RequestParam String pid,HttpServletRequest servletRequest) {
List<Menu> menus=menuManager.getMenusByPid(pid); List<Menu> menus=menuManager.getMenusByPid(pid);
Locale locale=servletRequest.getLocale(); Locale locale=servletRequest.getLocale();
for (Menu menu :menus for (Menu menu : menus) {
) {
menu.UpdateTitle(locale); menu.UpdateTitle(locale);
} }
List<MenuDto> dtos=menuMapper.toDto(menus); List<MenuDto> dtos=menuMapper.toDto(menus);
......
...@@ -26,6 +26,7 @@ public class MenuDaoImpl extends AbstractBaseDao implements IMenuDao { ...@@ -26,6 +26,7 @@ public class MenuDaoImpl extends AbstractBaseDao implements IMenuDao {
Query query=new Query(); Query query=new Query();
query.addCriteria(Criteria.where("pid").is(pid)); query.addCriteria(Criteria.where("pid").is(pid));
query.addCriteria(Criteria.where("type").ne(2)); query.addCriteria(Criteria.where("type").ne(2));
query.addCriteria(Criteria.where("hidden").is(false));
return super.findByQuery(query); return super.findByQuery(query);
} }
} }
...@@ -5,4 +5,3 @@ ...@@ -5,4 +5,3 @@
| \____) | _| |_\/_| |_ _| |_ | \____) | _| |_\/_| |_ _| |_
\______.'|_____||_____||_____| \______.'|_____||_____||_____|
:: SMF Version :: (v1.7.819)
...@@ -2,10 +2,10 @@ server: ...@@ -2,10 +2,10 @@ server:
port: 8800 port: 8800
api: api:
name: Siemens #name: DaLu
inCheckUrl: http://cnctu04053:8014/api/JsonC #inCheckUrl: DaLu
outNotifyUrl: http://cnctu04053:8014/api/JsonC #outNotifyUrl: https://matlabel-tool.com:4434/SMD_BOXAPI/OutBox
inNotifyUrl: http://cnctu04053:8014/api/JsonC #inNotifyUrl: https://matlabel-tool.com:4434/SMD_BOXAPI/InBox
# 文件存储路径 # 文件存储路径
...@@ -37,7 +37,7 @@ rsa: ...@@ -37,7 +37,7 @@ rsa:
app: app:
version: '1.27.2515' version: '@app.version@'
type: "" type: ""
menu: menu:
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!