Commit a3265e84 sunke

感应料架入库成功不通知

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