diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/UrkSendService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/UrkSendService.java index 583c302..e9d4231 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/UrkSendService.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/UrkSendService.java @@ -46,4 +46,33 @@ public interface UrkSendService { */ void delDevByProId(String deviceCode, int proId,int supId,int teamId) throws Exception; + /** + * 获取考勤机当前人员数据 + * @param deviceCode + * @throws Exception + */ + void getDevUserList(String deviceCode) throws Exception; + + /** + * 删除考情机人员 + * @param deviceCode + * @throws Exception + */ + void delDevUser(String deviceCode,List delUserId) throws Exception; + + + /** + * 考勤机重启 + * @param deviceCode + * @throws Exception + */ + void reloadDevice(String deviceCode) throws Exception; + + /** + * 下发指定人员 + * @param deviceCode + * @throws Exception + */ + void addUserList(String deviceCode,List addUserId) throws Exception; + } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/UrkSendServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/UrkSendServiceImpl.java index 9041ea4..fd8c628 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/UrkSendServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/UrkSendServiceImpl.java @@ -200,7 +200,120 @@ public class UrkSendServiceImpl implements UrkSendService { } } + @Override + public void getDevUserList(String deviceCode) throws Exception { + try{ + String createTime= DateUtils.getTime(); + BmwKqCmdTaskVo taskVo=new BmwKqCmdTaskVo(); + taskVo.setCreateTime(createTime); + taskVo.setDeviceCode(deviceCode); + taskVo.setCmdCode("GET_USER_INFO"); + //等待执行 + taskVo.setTransStatus(TaskStatusEnum.WAIT.ordinal()); + taskVo.setCmdParam("{}"); + //添加任务 + mapper.insertCmdTask(taskVo); + //添加历史记录 + mapper.insertCmdTaskHistory(taskVo); + }catch (Exception e){ + log.error(e.toString()); + throw new Exception("获取人员信息失败"); + } + } + @Override + public void delDevUser(String deviceCode, List delUserId) throws Exception { + try{ + String createTime= DateUtils.getTime(); + BmwKqCmdTaskVo taskVo=new BmwKqCmdTaskVo(); + taskVo.setDeviceCode(deviceCode); + taskVo.setCreateTime(createTime); + taskVo.setCmdCode("DELETE_USER"); + //等待执行 + taskVo.setTransStatus(TaskStatusEnum.WAIT.ordinal()); + String json= JSON.toJSONString(delUserId); + taskVo.setCmdParam(json); + //添加任务 + mapper.insertCmdTask(taskVo); + //添加历史记录 + mapper.insertCmdTaskHistory(taskVo); + //添加人员 + mapper.insertCmdTaskUser(delUserId,taskVo); + }catch (Exception e){ + log.error(e.toString()); + throw new Exception("删除人员下发失败"); + } + } + + @Override + public void reloadDevice(String deviceCode) throws Exception { + try{ + String createTime= DateUtils.getTime(); + BmwKqCmdTaskVo taskVo=new BmwKqCmdTaskVo(); + taskVo.setDeviceCode(deviceCode); + taskVo.setCreateTime(createTime); + taskVo.setCmdCode("RESET_FK"); + //等待执行 + taskVo.setTransStatus(TaskStatusEnum.WAIT.ordinal()); + taskVo.setCmdParam("[]"); + //添加任务 + mapper.insertCmdTask(taskVo); + //添加历史记录 + mapper.insertCmdTaskHistory(taskVo); + }catch (Exception e){ + log.error(e.toString()); + throw new Exception("重启添加失败"); + } + + } + + @Override + public void addUserList(String deviceCode, List delUserId) throws Exception { + /** + * 下发考情机人员 + */ + try{ + int size=SET_USER_INFO_SIZE-1; + String createTime= DateUtils.getTime(); + BmwKqCmdTaskVo taskVo=new BmwKqCmdTaskVo(); + taskVo.setDeviceCode(deviceCode); + taskVo.setCreateTime(createTime); + taskVo.setCmdCode("SET_USER_INFO"); + //等待执行 + taskVo.setTransStatus(TaskStatusEnum.WAIT.ordinal()); + List list=new ArrayList<>(); + for (int i = 0; i userId,String key,int pageNum, int type,BmwKqCmdTaskVo taskVo){ diff --git a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/handle/ResultHandle.java b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/handle/ResultHandle.java index 63c24d8..54dc107 100644 --- a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/handle/ResultHandle.java +++ b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/handle/ResultHandle.java @@ -59,6 +59,7 @@ public class ResultHandle { } }else{ + boolean isClose=true; //设备携带数据返回的 // 获得注册人员列表 switch (taskVo.getCmdCode()) { @@ -83,7 +84,7 @@ public class ResultHandle { break; case "GET_USER_INFO": // 获取考勤机用户信息 - service.insertUserInfo(taskVo, req, resp); + isClose=service.insertUserInfo(taskVo, req, resp); break; case "DELETE_USER": // 删除人员的反馈 @@ -93,23 +94,14 @@ public class ResultHandle { taskVo.setMsg("未知命令"); break; } - //更新 ,再进行删除任务记录 - taskVo.setUpdateTime(DateUtils.getTime()); - taskVo.setTransStatus(TaskStatusEnum.COMPLETED.ordinal()); - service.updateCmdTaskStatus(taskVo); + if(isClose){ + //更新 ,再进行删除任务记录 + taskVo.setUpdateTime(DateUtils.getTime()); + taskVo.setTransStatus(TaskStatusEnum.COMPLETED.ordinal()); + service.updateCmdTaskStatus(taskVo); + } } - - - - - - - - - - - } diff --git a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/mapper/ResultMapper.java b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/mapper/ResultMapper.java index 9c9f7b0..d9ad4cb 100644 --- a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/mapper/ResultMapper.java +++ b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/mapper/ResultMapper.java @@ -71,4 +71,10 @@ public interface ResultMapper { * @param list */ void addDeviceUserInfo(@Param("list")List list); + + /** + * 删除全部人员数据 + * @param deviceCode + */ + void delAllDeviceUserId(@Param("deviceCode") String deviceCode); } diff --git a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/service/ResultService.java b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/service/ResultService.java index 8515ff8..dfcfc8b 100644 --- a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/service/ResultService.java +++ b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/service/ResultService.java @@ -163,8 +163,9 @@ public class ResultService { * @param req * @param resp */ - public void insertUserInfo(KqCmdTaskVo taskVo, HttpServletRequest req, HttpServletResponse resp) { + public boolean insertUserInfo(KqCmdTaskVo taskVo, HttpServletRequest req, HttpServletResponse resp) { try { + String packageId="0"; // 解析request输入流 String jsonStr = getRequestBody(req); log.info("获取设备用户信息:{}", jsonStr); @@ -173,6 +174,10 @@ public class ResultService { JSONObject json=JSON.parseObject(jsonStr); List list=new ArrayList<>(); JSONArray users=json.getJSONArray("users"); + packageId=json.getString("packageId"); + if("1".equals(packageId)){ + mapper.delAllDeviceUserId(taskVo.getDeviceCode()); + } for (int i=0;i + + delete from kq_user_list where dev_code=#{deviceCode} +