From 3928e7f4d60406ec9f3867f8ae7a72c63b90f2aa Mon Sep 17 00:00:00 2001 From: dearlin <1261008090@qq.com> Date: Mon, 27 Nov 2023 09:39:23 +0800 Subject: [PATCH 01/39] =?UTF-8?q?add:=20=E5=88=86=E5=85=AC=E5=8F=B8?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86=EF=BC=88=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=9D=83=E9=99=90=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../corpsystem/CorpMenuController.java | 231 ++++++ .../corpsystem/CorpRoleController.java | 447 +++++++++++ .../corpsystem/CorpUsersController.java | 725 ++++++++++++++++++ .../system/ButtonrightsController.java | 39 +- .../controller/system/UsersController.java | 1 - .../java/com/zcloud/entity/system/Role.java | 10 + .../datasource/corpsystem/CorpMenuMapper.java | 62 ++ .../datasource/corpsystem/CorpRoleMapper.java | 110 +++ .../corpsystem/CorpUsersMapper.java | 130 ++++ .../system/corpsystem/CorpMenuService.java | 75 ++ .../system/corpsystem/CorpRoleService.java | 94 +++ .../system/corpsystem/CorpUsersService.java | 133 ++++ .../corpsystem/impl/CorpMenuServiceImpl.java | 126 +++ .../corpsystem/impl/CorpRoleServiceImpl.java | 136 ++++ .../corpsystem/impl/CorpUsersServiceImpl.java | 177 +++++ src/main/java/com/zcloud/util/Const.java | 2 + src/main/resources/application-dev.properties | 8 +- .../datasource/corpsystem/CorpMenuMapper.xml | 146 ++++ .../datasource/corpsystem/CorpRoleMapper.xml | 199 +++++ .../datasource/corpsystem/CorpUsersMapper.xml | 549 +++++++++++++ 20 files changed, 3381 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/zcloud/controller/corpsystem/CorpMenuController.java create mode 100644 src/main/java/com/zcloud/controller/corpsystem/CorpRoleController.java create mode 100644 src/main/java/com/zcloud/controller/corpsystem/CorpUsersController.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpMenuMapper.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpRoleMapper.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpUsersMapper.java create mode 100644 src/main/java/com/zcloud/service/system/corpsystem/CorpMenuService.java create mode 100644 src/main/java/com/zcloud/service/system/corpsystem/CorpRoleService.java create mode 100644 src/main/java/com/zcloud/service/system/corpsystem/CorpUsersService.java create mode 100644 src/main/java/com/zcloud/service/system/corpsystem/impl/CorpMenuServiceImpl.java create mode 100644 src/main/java/com/zcloud/service/system/corpsystem/impl/CorpRoleServiceImpl.java create mode 100644 src/main/java/com/zcloud/service/system/corpsystem/impl/CorpUsersServiceImpl.java create mode 100644 src/main/resources/mybatis/datasource/corpsystem/CorpMenuMapper.xml create mode 100644 src/main/resources/mybatis/datasource/corpsystem/CorpRoleMapper.xml create mode 100644 src/main/resources/mybatis/datasource/corpsystem/CorpUsersMapper.xml diff --git a/src/main/java/com/zcloud/controller/corpsystem/CorpMenuController.java b/src/main/java/com/zcloud/controller/corpsystem/CorpMenuController.java new file mode 100644 index 00000000..093831c0 --- /dev/null +++ b/src/main/java/com/zcloud/controller/corpsystem/CorpMenuController.java @@ -0,0 +1,231 @@ +package com.zcloud.controller.corpsystem; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.Menu; +import com.zcloud.service.system.FHlogService; +import com.zcloud.service.system.corpsystem.CorpMenuService; +import com.zcloud.util.Const; +import com.zcloud.util.Jurisdiction; +import com.zcloud.util.RightsHelper; +import com.zcloud.util.Tools; +import net.sf.json.JSONArray; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 说明:菜单管理处理类 + * 作者:luoxiaobao + * 官网:www.qdkjchina.com + */ +@Controller +@RequestMapping("/corpMenu") +public class CorpMenuController extends BaseController { + + @Autowired + private CorpMenuService corpMenuService; + @Autowired + private FHlogService FHLOG; + + /** + * 菜单列表ztree(菜单管理) + * @return + */ + @RequestMapping(value="/listAllMenu") + @ResponseBody + public Object listAllMenu()throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + JSONArray arr = JSONArray.fromObject(corpMenuService.listAllMenu("0")); + String json = arr.toString(); + json = json.replaceAll("MENU_ID", "id").replaceAll("PARENT_ID", "pId").replaceAll("MENU_NAME", "name").replaceAll("subMenu", "nodes").replaceAll("hasMenu", "checked").replaceAll("MENU_URL", "url"); + map.put("zTreeNodes", json); + map.put("result", errInfo); + return map; + } + + /** + * 菜单列表 + * @return + */ + @RequestMapping(value="/list") + @ResponseBody + public Object list(String MENU_ID)throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + MENU_ID = Tools.isEmpty(MENU_ID)?"0":MENU_ID; + List menuList = corpMenuService.listSubMenuByParentId(MENU_ID); + map.put("pd", corpMenuService.getMenuById(pd)); //传入父菜单所有信息 + map.put("MSG", null == pd.get("MSG")?"'list'":pd.get("MSG").toString()); //MSG=change 则为编辑或删除后跳转过来的 + map.put("menuList", menuList); + map.put("result", errInfo); + return map; + } + + /** + * 请求新增菜单页面 + * @return + */ + @RequestMapping(value="/toAdd") + @ResponseBody + public Object toAdd()throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + String MENU_ID = (null == pd.get("MENU_ID") || "".equals(pd.get("MENU_ID").toString()))?"0":pd.get("MENU_ID").toString();//接收传过来的上级菜单ID,如果上级为顶级就取值“0” + pd.put("MENU_ID",MENU_ID); + map.put("pds", corpMenuService.getMenuById(pd)); //传入父菜单所有信息 + map.put("result", errInfo); + return map; + } + + /** + * 新增菜单 + * @param menu + * @return + */ + @RequestMapping(value="/add") + @ResponseBody + public Object add(Menu menu)throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + menu.setMENU_ID(String.valueOf(Integer.parseInt(corpMenuService.findMaxId(pd).get("MID").toString())+1)); + menu.setMENU_ICON(""); //默认无菜单图标 + corpMenuService.addMenu(menu); //新增菜单 + FHLOG.save(Jurisdiction.getUsername(), "新增菜单:"+menu.getMENU_NAME()); //记录日志 + map.put("result", errInfo); + return map; + } + + /** + * 请求编辑菜单页面 + * @param + * @return + */ + @RequestMapping(value="/toEdit") + @ResponseBody + public Object toEdit(String MENU_ID)throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd = corpMenuService.getMenuById(pd); //读取此ID的菜单数据 + map.put("pd", pd); + pd.put("MENU_ID",pd.get("PARENT_ID").toString()); //用作读取父菜单信息 + map.put("pds", corpMenuService.getMenuById(pd)); //传入父菜单所有信息 + map.put("result", errInfo); + return map; + } + + /** + * 保存编辑 + * @param + * @return + */ + @RequestMapping(value="/edit") + @ResponseBody + public Object edit(Menu menu)throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + corpMenuService.edit(menu); + FHLOG.save(Jurisdiction.getUsername(), "修改菜单:"+menu.getMENU_NAME()); //记录日志 + map.put("result", errInfo); + return map; + } + + /** + * 删除菜单 + * @param MENU_ID + * @param out + */ + @RequestMapping(value="/delete") + @ResponseBody + public Object delete(@RequestParam String MENU_ID)throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + if(corpMenuService.listSubMenuByParentId(MENU_ID).size() > 0){//判断是否有子菜单,是:不允许删除 + errInfo = "error"; + }else{ + corpMenuService.deleteMenuById(MENU_ID); + errInfo = "success"; + FHLOG.save(Jurisdiction.getUsername(), "删除的菜单ID为:"+MENU_ID); //记录日志 + } + map.put("result", errInfo); + return map; + } + + /** + * 保存菜单图标 + * @param + * @return + */ + @RequestMapping(value="/editicon") + @ResponseBody + public Object editicon()throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + corpMenuService.editicon(pd); + map.put("result", errInfo); + return map; + } + + /** + * 显示菜单列表ztree(拓展左侧四级菜单) + * @return + */ + @RequestMapping(value="/otherlistMenu") + @ResponseBody + public Object otherlistMenu(String MENU_ID)throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd.put("MENU_ID", MENU_ID); + String MENU_URL = corpMenuService.getMenuById(pd).getString("MENU_URL"); + if("#".equals(MENU_URL.trim()) || "".equals(MENU_URL.trim()) || null == MENU_URL){ + MENU_URL = "../index/default.html"; + } + String roleRights = Jurisdiction.getSession().getAttribute(Jurisdiction.getUsername() + Const.SESSION_ROLE_RIGHTS).toString(); //获取本角色菜单权限 + List athmenuList = corpMenuService.listAllMenuQx(MENU_ID); //获取某菜单下所有子菜单 + athmenuList = this.readMenu(athmenuList, roleRights); //根据权限分配菜单 + JSONArray arr = JSONArray.fromObject(athmenuList); + String json = arr.toString(); + json = json.replaceAll("MENU_ID", "id").replaceAll("PARENT_ID", "pId").replaceAll("MENU_NAME", "name").replaceAll("subMenu", "nodes").replaceAll("hasMenu", "checked").replaceAll("MENU_URL", "url").replaceAll("#", ""); + map.put("zTreeNodes", json); + map.put("MENU_URL",MENU_URL); //本ID菜单链接 + map.put("result", errInfo); + return map; + } + + /**根据角色权限获取本权限的菜单列表(递归处理) + * @param menuList:传入的总菜单 + * @param roleRights:加密的权限字符串 + * @return + */ + public List readMenu(List menuList,String roleRights){ + for(int i=0;i map = new HashMap(); + String errInfo = "success"; + PageData pd = this.getPageData(); + // 横排一级组 + String corpId = Jurisdiction.getCORPINFO_ID(); + pd.put("CORPINFO_ID", corpId); + PageData corp = corpInfoService.findById(pd); + PageData fpd = new PageData(); + fpd.put("CORPINFO_ID",corp.getString("ROLE_NAME")); + fpd.put("ROLE_ID",corp.getString("ROLE_NAME")); + pd.put("ROLE_ID",corp.getString("ROLE_NAME")); + Role roleList = corpRoleService.getRoleById(corp.getString("ROLE_NAME")); //列出组(页面横向排列的一级组) + List roleList_z = corpRoleService.listAllRolesByPId(fpd); //列出此组下架角色 + pd = corpRoleService.findById(pd); //取得点击的角色组(横排的) + map.put("pd", pd); + map.put("roleList", Collections.singletonList(roleList)); + map.put("roleList_z", roleList_z); + map.put("result", errInfo); + return map; + } + + /**保存新增角色 + * @return + * @throws Exception + */ + @RequestMapping(value="/add") + @ResponseBody + public Object add()throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + String parent_id = pd.getString("PARENT_ID"); //父类角色id + pd.put("ROLE_ID", parent_id); + if("0".equals(parent_id)){ + pd.put("RIGHTS", ""); //菜单权限 + }else{ + String rights = corpRoleService.findById(pd).getString("RIGHTS"); + pd.put("RIGHTS", (null == rights)?"":rights); //组菜单权限 + } + String RNUMBER = "R"+DateUtil.getDays()+Tools.getRandomNum(); + pd.put("RNUMBER", RNUMBER); //编码 + pd.put("ROLE_ID", this.get32UUID()); //主键 + pd.put("ADD_QX", "0"); //初始新增权限为否 + pd.put("DEL_QX", "0"); //删除权限 + pd.put("EDIT_QX", "0"); //修改权限 + pd.put("CHA_QX", "0"); //查看权限 + if ("".equals(pd.getString("LEVEL"))) { + pd.put("LEVEL",0); + } + corpRoleService.add(pd); + FHLOG.save(Jurisdiction.getUsername(), "新增角色"+pd.getString("ROLE_NAME")); //记录日志 + map.put("result", errInfo); + return map; + } + + /**请求编辑 + * @return + * @throws Exception + */ + @RequestMapping(value="/toEdit") + @ResponseBody + public Object toEdit()throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd = corpRoleService.findById(pd); + map.put("pd", pd); + map.put("result", errInfo); + return map; + } + + /**保存修改 + * @return + * @throws Exception + */ + @RequestMapping(value="/edit") + @ResponseBody + public Object edit()throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + corpRoleService.edit(pd); + FHLOG.save(Jurisdiction.getUsername(), "修改角色"+pd.getString("ROLE_NAME")); //记录日志 + map.put("result", errInfo); + return map; + } + + /**删除角色 + * @param ROLE_ID + * @return + * @throws Exception + */ + @RequestMapping(value="/delete") + @ResponseBody + public Object deleteRole(@RequestParam String ROLE_ID)throws Exception{ + Map map = new HashMap(); + PageData pd = new PageData(); + String errInfo = "success"; + pd.put("ROLE_ID", ROLE_ID); + List roleList_z = corpRoleService.listAllRolesByPId(pd); //列出此角色的所有下级 + if("fhadminzhuche".equals(ROLE_ID)|| roleList_z.size() > 0){ +// errInfo = "false"; //下级有数据时or注册用户角色,删除失败 + errInfo = "fail"; + map.put("result", "errInfo"); + map.put("msg", "此组下有角色,不能删除!"); + return map; + }else{ + List userlist = corpUsersService.listAllUserByRoldId(pd); //此角色下的用户 + if(userlist.size() > 0){ //此角色已被使用就不能删除 + errInfo = "false2"; + }else{ + corpRoleService.deleteRoleById(ROLE_ID); //执行删除 + errInfo = "success"; + FHLOG.save(Jurisdiction.getUsername(), "删除角色ID为:"+ROLE_ID); //记录日志 + } + } + map.put("result", errInfo); + return map; + } + + /** + * 显示菜单列表ztree(菜单授权菜单) + * @return + */ + @RequestMapping(value="/menuqx") + @ResponseBody + public Object listAllMenu(String ROLE_ID)throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + Role role = corpRoleService.getRoleById(ROLE_ID); //根据角色ID获取角色对象 + String roleRights = role.getRIGHTS(); //取出本角色菜单权限 + List menuList = corpMenuService.listAllMenuQx("0"); //获取所有菜单 + menuList = this.readMenu(menuList, roleRights); //根据角色权限处理菜单权限状态(递归处理) + JSONArray arr = JSONArray.fromObject(menuList); + String json = arr.toString(); + json = json.replaceAll("MENU_ID", "id").replaceAll("PARENT_ID", "pId").replaceAll("MENU_NAME", "name").replaceAll("subMenu", "nodes").replaceAll("hasMenu", "checked"); + map.put("zTreeNodes", json); + map.put("result", errInfo); + return map; + } + + /**根据角色权限处理权限状态(递归处理) + * @param menuList:传入的总菜单 + * @param roleRights:加密的权限字符串 + * @return + */ + public List readMenu(List menuList,String roleRights){ + for(int i=0;i map = new HashMap(); + PageData pd = new PageData(); + if(null != menuIds && !"".equals(menuIds.trim())){ + BigInteger rights = RightsHelper.sumRights(Tools.str2StrArray(menuIds));//用菜单ID做权处理 + Role role = corpRoleService.getRoleById(ROLE_ID); //通过id获取角色对象 + role.setRIGHTS(rights.toString()); + corpRoleService.updateRoleRights(role); //更新当前角色菜单权限 + pd.put("rights",rights.toString()); + }else{ + Role role = new Role(); + role.setRIGHTS(""); + role.setROLE_ID(ROLE_ID); + corpRoleService.updateRoleRights(role); //更新当前角色菜单权限(没有任何勾选) + pd.put("rights",""); + } + pd.put("ROLE_ID", ROLE_ID); + if(!"1".equals(ROLE_ID)){ //当修改admin权限时,不修改其它角色权限 + corpRoleService.setAllRights(pd); //更新此角色所有子角色的菜单权限 + } + map.put("result", "success"); + FHLOG.save(Jurisdiction.getUsername(), "给角色ID:"+ROLE_ID+" 授权了菜单权限操作"); //记录日志 + return map; + } + + /**请求角色按钮授权页面(增删改查) + * @param ROLE_ID: 角色ID + * @param msg: 区分增删改查 + * @return + * @throws Exception + */ + @RequestMapping(value="/b4Button") + @ResponseBody + public Object b4Button(@RequestParam String ROLE_ID,@RequestParam String msg)throws Exception{ + Map map = new HashMap(); + List menuList = corpMenuService.listAllMenuQx("0"); //获取所有菜单 + Role role = corpRoleService.getRoleById(ROLE_ID); //根据角色ID获取角色对象 + String roleRights = ""; + if("add_qx".equals(msg)){ + roleRights = role.getADD_QX(); //新增权限 + }else if("del_qx".equals(msg)){ + roleRights = role.getDEL_QX(); //删除权限 + }else if("edit_qx".equals(msg)){ + roleRights = role.getEDIT_QX(); //修改权限 + }else if("cha_qx".equals(msg)){ + roleRights = role.getCHA_QX(); //查看权限 + } + menuList = this.readMenu(menuList, roleRights); //根据角色权限处理菜单权限状态(递归处理) + JSONArray arr = JSONArray.fromObject(menuList); + String json = arr.toString(); + json = json.replaceAll("MENU_ID", "id").replaceAll("PARENT_ID", "pId").replaceAll("MENU_NAME", "name").replaceAll("subMenu", "nodes").replaceAll("hasMenu", "checked"); + map.put("zTreeNodes", json); + map.put("result", "success"); + return map; + } + + /** + * 保存角色按钮权限 + * @param ROLE_ID + * @param menuIds + * @param msg + * @throws Exception + */ + @RequestMapping(value="/saveB4Button") + @ResponseBody + public Object saveB4Button(@RequestParam String ROLE_ID,@RequestParam String menuIds,@RequestParam String msg)throws Exception{ + Map map = new HashMap(); + PageData pd = new PageData(); + pd = this.getPageData(); + if(null != menuIds && !"".equals(menuIds.trim())){ + BigInteger rights = RightsHelper.sumRights(Tools.str2StrArray(menuIds)); + pd.put("value",rights.toString()); + }else{ + pd.put("value",""); + } + pd.put("ROLE_ID", ROLE_ID); + corpRoleService.saveB4Button(msg,pd); + map.put("result", "success"); + FHLOG.save(Jurisdiction.getUsername(), "给角色ID:"+ROLE_ID+" 授权了增删改查按钮权限操作"); //记录日志 + return map; + } + + /** 选择角色(弹窗选择用) + * @param + * @return + * @throws Exception + */ + @RequestMapping(value="/roleListWindow") + @ResponseBody + public Object roleListWindow(Page page)throws Exception{ + Map map = new HashMap(); + PageData pd = new PageData(); + pd = this.getPageData(); + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim()); + page.setPd(pd); + List roleList = corpRoleService.roleListWindow(page); //列出所有角色 + map.put("roleList", roleList); + map.put("page", page); + map.put("result", "success"); + return map; + } + + /**根据名称查询角色 + * @param ROLE_ID + * @return + * @throws Exception + */ + @RequestMapping(value="/findByName") + @ResponseBody + public Object findByName()throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); +// pd = corpRoleService.findByName(pd);/// + map.put("pd", pd); + map.put("result", errInfo); + return map; + } + @RequestMapping(value="/b4ButtonV2") + @ResponseBody + public Object b4ButtonV2(@RequestParam String ROLE_ID,@RequestParam String msg)throws Exception{ + PageData pd = new PageData(); + pd = this.getPageData(); + String pid =pd.getString("PARENT_ID"); + Map map = new HashMap(); + String errInfo = "success"; + Role role = corpRoleService.getRoleById(ROLE_ID); //根据角色ID获取角色对象 + String roleRights = ""; + if("add_qx".equals(msg)){ + roleRights = role.getADD_QX(); //新增权限 + }else if("del_qx".equals(msg)){ + roleRights = role.getDEL_QX(); //删除权限 + }else if("edit_qx".equals(msg)){ + roleRights = role.getEDIT_QX(); //修改权限 + }else if("cha_qx".equals(msg)){ + roleRights = role.getCHA_QX(); //查看权限 + } + List menuListAll = corpMenuService.listSubMenuAll(); + Map> menuAllMap = new HashMap<>(); + for (int i=0;i menuListValue = new ArrayList<>(); + Menu menu = menuListAll.get(i); + if(menuAllMap.containsKey(menu.getPARENT_ID())){ + menuListValue = menuAllMap.get(menu.getPARENT_ID()); + } + menuListValue.add(menu); + menuAllMap.put(menu.getPARENT_ID(),menuListValue); + } + List menuList = this.listAllMenuDigui("0",menuAllMap,roleRights); //获取所有菜单 + menuList = this.readMenu(menuList, roleRights); //根据角色权限处理菜单权限状态(递归处理) + JSONArray arr = JSONArray.fromObject(menuList); + String json = arr.toString(); + json = json.replaceAll("MENU_ID", "id") + .replaceAll("PARENT_ID", "pId") + .replaceAll("MENU_NAME", "name") + .replaceAll("subMenu", "nodes") + .replaceAll("hasMenu", "checked"); + map.put("zTreeNodes", json); + map.put("result", errInfo); + return map; + + } + /** + * 显示菜单列表ztree(菜单授权菜单) + * @return + */ + @RequestMapping(value="/listAllMenuV2") + @ResponseBody + public Object listAllMenuByParentID(String ROLE_ID)throws Exception{ + PageData pd = new PageData(); + pd = this.getPageData(); + String pid =pd.getString("PARENT_ID"); + Map map = new HashMap(); + String errInfo = "success"; + Role role = corpRoleService.getRoleById(ROLE_ID); //根据角色ID获取角色对象 + String roleRights = role.getRIGHTS(); //取出本角色菜单权限 + List menuListAll = corpMenuService.listSubMenuAll(); + Map> menuAllMap = new HashMap<>(); + for (int i=0;i menuListValue = new ArrayList<>(); + Menu menu = menuListAll.get(i); + if(menuAllMap.containsKey(menu.getPARENT_ID())){ + menuListValue = menuAllMap.get(menu.getPARENT_ID()); + } + menuListValue.add(menu); + menuAllMap.put(menu.getPARENT_ID(),menuListValue); + } + List menuList = this.listAllMenuDigui("0",menuAllMap,roleRights); //获取所有菜单 + menuList = this.readMenu(menuList, roleRights); //根据角色权限处理菜单权限状态(递归处理) + JSONArray arr = JSONArray.fromObject(menuList); + String json = arr.toString(); + json = json.replaceAll("MENU_ID", "id") + .replaceAll("PARENT_ID", "pId") + .replaceAll("MENU_NAME", "name") + .replaceAll("subMenu", "nodes") + .replaceAll("hasMenu", "checked"); + map.put("zTreeNodes", json); + map.put("result", errInfo); + return map; + + } + + /** + * + * @param MENU_ID + * @param menuAllList key pid val Pid 下面的list + * @return + * @throws Exception + */ + public List listAllMenuDigui(String MENU_ID,Map> menuAllList,String roleRights) throws Exception { + List menuList = this.listSubMenuByParentId(MENU_ID,menuAllList); //更具pid 获取数据 + for(Menu menu : menuList){ + menu.setMENU_URL("menu_edit.html?MENU_ID="+menu.getMENU_ID()); + menu.setSubMenu(this.listAllMenuDigui(menu.getMENU_ID(),menuAllList,roleRights)); + menu.setTarget("treeFrame"); + menu.setHasMenu(RightsHelper.testRights(roleRights, menu.getMENU_ID())); + } + return menuList; + } + public List listSubMenuByParentId (String MENU_ID,Map> menuAllList){ //更具pid 获取数据 + List menuList = new ArrayList<>(); + if(menuAllList.containsKey(MENU_ID)){ + menuList = menuAllList.get(MENU_ID); + } + return menuList; + } +} diff --git a/src/main/java/com/zcloud/controller/corpsystem/CorpUsersController.java b/src/main/java/com/zcloud/controller/corpsystem/CorpUsersController.java new file mode 100644 index 00000000..4653f46c --- /dev/null +++ b/src/main/java/com/zcloud/controller/corpsystem/CorpUsersController.java @@ -0,0 +1,725 @@ +package com.zcloud.controller.corpsystem; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.Department; +import com.zcloud.entity.system.Role; +import com.zcloud.service.system.DepartmentService; +import com.zcloud.service.system.FHlogService; +import com.zcloud.service.system.RoleService; +import com.zcloud.service.system.UeditorService; +import com.zcloud.service.system.corpsystem.CorpUsersService; +import com.zcloud.util.*; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authc.*; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.apache.shiro.crypto.hash.SimpleHash; +import org.apache.shiro.session.Session; +import org.apache.shiro.subject.Subject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 说明:系统用户处理类 + * 作者:luoxiaobao + * 官网:www.qdkjchina.com + */ +@Controller +@RequestMapping("/corpUser") +public class CorpUsersController extends BaseController { + + @Autowired + private CorpUsersService corpUsersService; + @Autowired + private RoleService roleService; + @Autowired + private UeditorService ueditorService; + @Autowired + private FHlogService FHLOG; + @Autowired + private DepartmentService departmentService; + + + /**列表 + * @param page + * @throws Exception + */ + @RequestMapping(value="/listAll") + @ResponseBody + public Object listAll() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + List userList = corpUsersService.listAllUser(pd); //列出Post列表 + map.put("userList", userList); + map.put("result", errInfo); + return map; + } + + + + + + + + + /**用户列表 + * @param page + * @return + * @throws Exception + */ + @RequestMapping("/list") + @ResponseBody + public Object listUsers(Page page)throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + + /*检索条件*/ + String ROLE_ID = pd.getString("ROLE_ID"); //角色ID + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim()); + String STRARTTIME = pd.getString("STRARTTIME"); //开始时间 + String ENDTIME = pd.getString("ENDTIME"); //结束时间 + if(Tools.notEmpty(STRARTTIME))pd.put("STRARTTIME", STRARTTIME+" 00:00:00"); + if(Tools.notEmpty(ENDTIME))pd.put("ENDTIME", ENDTIME+" 00:00:00"); + if(!"admin".equals(Jurisdiction.getUsername())) { + Session session = Jurisdiction.getSession(); + PageData dept = (PageData)session.getAttribute(Const.SESSION_DEPT); + if(Tools.isEmpty(pd.get("PROVINCE")) && Tools.isEmpty(pd.get("CITY")) && Tools.isEmpty(pd.get("COUNTRY")) && Tools.isEmpty(pd.get("VILLAGE")) ){ + if (!"000000".equals(dept.getString("PROVINCE"))){ + pd.put("PROVINCE", dept.get("PROVINCE")); + } + pd.put("CITY", dept.get("CITY")); + pd.put("COUNTRY", dept.get("COUNTRY")); + pd.put("VILLAGE", dept.get("VILLAGE")); + } + } + page.setPd(pd); + List userList = corpUsersService.userlistPage(page); //列出用户列表 + pd.put("ROLE_ID", "1"); + List roleList = roleService.listAllRolesByPId(pd); //列出所有系统用户角色 + + map.put("userList", userList); + map.put("roleList", roleList); + map.put("ROLE_ID", ROLE_ID); + map.put("page", page); + map.put("pd", pd); + + map.put("result", errInfo); + return map; + } + + /**去新增用户页面 + * @return + * @throws Exception + */ + @RequestMapping(value="/goAddUser") + @ResponseBody + public Object goAddUser()throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd.put("ROLE_ID", "1"); + List roleList = roleService.listAllRolesByPId(pd); //列出所有系统用户角色 + map.put("roleList", roleList); + map.put("result", errInfo); + return map; + } + + /**去修改用户页面(从系统用户页面修改) + * @return + * @throws Exception + */ + @RequestMapping(value="/goEditUser") + @ResponseBody + public Object goEditUser() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + if("1".equals(pd.getString("USER_ID"))){return null;} //不能修改admin用户 + pd.put("ROLE_ID", "1"); + List roleList = roleService.listAllRolesByPId(pd); //列出所有系统用户角色 + List departmentList=departmentService.listAllDepartment("c14c41b8058b421ba6b988c2c3bd3139"); + pd = corpUsersService.findById(pd); //根据ID读取 + String ROLE_IDS = pd.getString("ROLE_IDS"); //副职角色ID + if(Tools.notEmpty(ROLE_IDS)){ + String arryROLE_ID[] = ROLE_IDS.split(","); + for(int i=0;i map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("ROLE_ID", "1"); + List roleList = roleService.listAllRolesByPId(pd); //列出所有系统用户角色 + pd.put("USERNAME", Jurisdiction.getUsername()); + pd = corpUsersService.findByUsername(pd); //根据用户名读取 + map.put("pd", pd); + map.put("roleList", roleList); + map.put("result", errInfo); + return map; + } + + /** + * 修改用户(系统用户列表修改) + */ + @RequestMapping(value="/editUser") + @ResponseBody + public Object editUser() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + FHLOG.save(Jurisdiction.getUsername(), "从系统用户中修改"+pd.getString("USERNAME")+"的资料"); //记录日志 + if(!Jurisdiction.getUsername().equals(pd.getString("USERNAME"))){ //如果当前登录用户修改用户资料提交的用户名非本人 + if("admin".equals(pd.getString("USERNAME")) && !"admin".equals(Jurisdiction.getUsername())){return null;} //非admin用户不能修改admin + }else{ //如果当前登录用户修改用户资料提交的用户名是本人,则不能修改本人的角色ID + PageData upd = new PageData(); + upd = corpUsersService.findByUsername(pd); + pd.put("ROLE_ID", upd.getString("ROLE_ID")); //对角色ID还原本人角色ID + pd.put("ROLE_IDS", Tools.notEmpty(upd.getString("ROLE_IDS"))?upd.get("ROLE_IDS"):""); //对角色ID还原本人副职角色ID + } + if(pd.getString("PASSWORD") != null && !"".equals(pd.getString("PASSWORD"))){ + pd.put("PASSWORD", new SimpleHash("SHA-1", pd.getString("USERNAME"), pd.getString("PASSWORD")).toString()); + } + corpUsersService.editUser(pd); //执行修改 + map.put("result", errInfo); + return map; + } + + /** + * 修改用户(系统用户列表修改) + */ + @RequestMapping(value="/editUserFuns") + @ResponseBody + public Object editUserFuns() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + FHLOG.save(Jurisdiction.getUsername(), "从系统用户中修改"+pd.getString("USERNAME")+"的小程序菜单权限"); //记录日志 + corpUsersService.editUserFuns(pd); //执行修改 + map.put("result", errInfo); + return map; + } + + /** + * 修改用户(个人资料修改) + */ + @RequestMapping(value="/editUserOwn") + @ResponseBody + public Object editUserOwn() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + if(!Jurisdiction.getUsername().equals(pd.getString("USERNAME"))){ //如果当前登录用户修改用户资料提交的用户名非本人 + FHLOG.save(Jurisdiction.getUsername(), "恶意修改用户资料:"+pd.getString("USERNAME")); + return null;//不能修改非本人的资料 + }else{ //如果当前登录用户修改用户资料提交的用户名是本人,则不能修改本人的角色ID + PageData upd = new PageData(); + upd = corpUsersService.findByUsername(pd); + pd.put("USER_ID", upd.getString("USER_ID")); //对ID还原本人ID,防止串改 + pd.put("ROLE_ID", upd.getString("ROLE_ID")); //对角色ID还原本人角色ID + pd.put("ROLE_IDS", Tools.notEmpty(upd.getString("ROLE_IDS"))?upd.get("ROLE_IDS"):""); //对角色ID还原本人副职角色ID + } + if(pd.getString("PASSWORD") != null && !"".equals(pd.getString("PASSWORD"))){ + pd.put("PASSWORD", new SimpleHash("SHA-1", pd.getString("USERNAME"), pd.getString("PASSWORD")).toString()); + } + corpUsersService.editUser(pd); //执行修改 + FHLOG.save(Jurisdiction.getUsername(), "从个人资料中修改"+pd.getString("USERNAME")+"的资料"); //记录日志 + map.put("result", errInfo); + return map; + } + + /** + * 修改用户密码() + */ + @RequestMapping(value="/editUserPwd") + @ResponseBody + public Object editUserPwd() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + String userName = Jurisdiction.getUsername(); + String userOldPwd = pd.getString("password"); + UsernamePasswordToken token = new UsernamePasswordToken(userName, new SimpleHash("SHA-1", userName, userOldPwd).toString()); + + Subject subject = SecurityUtils.getSubject(); + try { + subject.login(token); //这一步在调用login(token)方法时,它会走到MyRealm.doGetAuthenticationInfo()方法中 + }catch(UnknownAccountException uae){ + errInfo = "usererror"; + }catch(IncorrectCredentialsException ice){ + errInfo = "usererror"; + }catch(LockedAccountException lae){ + errInfo = "usererror"; + }catch(ExcessiveAttemptsException eae){ + errInfo = "usererror4"; + }catch (DisabledAccountException sae){ + errInfo = "usererror"; + }catch(AuthenticationException ae){ + errInfo = "usererror"; + } + + if("success".equals(errInfo)) { + if(subject.isAuthenticated()){ //密码验证成功 + String newPwd =new SimpleHash("SHA-1",userName, pd.getString("newpwd")).toString();//加密新密码 + PageData updateUserPd = new PageData(); + updateUserPd.put("USER_ID", Jurisdiction.getUSER_ID()); + updateUserPd.put("PASSWORD", newPwd); + corpUsersService.editPassword(updateUserPd); + FHLOG.save(userName, "从app修改密码中修改"+userName+"的密码"); //记录日志 + }else { + token.clear(); + errInfo = "usererror"; + } + }else { + errInfo="error"; + map.put("result", errInfo); + map.put("msg", "用户密码错误"); + return map; + } + /** + * 1.验证原始密码是否正确 + * 2.密码加密 + * 3.修改数据库 + * 4.增加日志 + */ + map.put("result", errInfo); + return map; + } + + /** + * @param page + * @throws Exception + */ + @RequestMapping(value="/resetPwd") + @ResponseBody + public Object resetPwd (Page page) throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + PageData pageData = corpUsersService.findById(pd); + //corpInfo + String pwd = new SimpleHash("SHA-1", pageData.getString("USERNAME"), "Aa@123456789").toString(); + PageData updateUser = new PageData(); + updateUser.put("PASSWORD", pwd); + updateUser.put("USER_ID", pageData.getString("USER_ID")); + corpUsersService.editPassword(updateUser); + + map.put("result", errInfo); + return map; + } + + /**判断用户名是否存在 + * @return + */ + @RequestMapping(value="/hasUser") + @ResponseBody + public Object hasUser() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + if(corpUsersService.findByUsername(pd) != null){ + errInfo = "fail"; + } + map.put("result", errInfo); //返回结果 + return map; + } + + /**判断邮箱是否存在 + * @return + */ + @RequestMapping(value="/hasEmail") + @ResponseBody + public Object hasEmail() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + if(corpUsersService.findByEmail(pd) != null){ + errInfo = "error"; + } + map.put("result", errInfo); //返回结果 + return map; + } + + /**判断编码是否存在 + * @return + */ + @RequestMapping(value="/hasNumber") + @ResponseBody + public Object hasNumber() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + if(corpUsersService.findByNumbe(pd) != null){ + errInfo = "error"; + } + map.put("result", errInfo); //返回结果 + return map; + } + + /**保存用户 + * @return + * @throws Exception + */ + @RequestMapping(value="/saveUser") + @ResponseBody + public Object saveUser() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("USER_ID", this.get32UUID()); //ID 主键 + pd.put("LAST_LOGIN", ""); //最后登录时间 + pd.put("IP", ""); //IP + pd.put("STATUS", "0"); //状态 + pd.put("SKIN", "pcoded-navbar navbar-image-3,navbar pcoded-header navbar-expand-lg navbar-light header-dark,"); //用户默认皮肤 + String userPwd = Tools.isEmpty(pd.get("PASSWORD"))?"Aa@123456789" : pd.getString("PASSWORD"); + pd.put("PASSWORD", new SimpleHash("SHA-1", pd.getString("USERNAME"), userPwd).toString()); //密码加密 + String[] userRole = pd.getString("roleIDs").split(";"); //处理多角色的用户 + pd.put("ROLE_ID",userRole[0]); + pd.put("PASSWORD",pd.getString("userPASSWORD")); + if(userRole.length>1){ + String ROLE_IDS =pd.getString("roleIDs").replaceAll(";",",").replaceAll(userRole[0]+',' ,""); + pd.put("ROLE_IDS",ROLE_IDS); + } + if(null == corpUsersService.findByUsername(pd)){ //判断用户名是否存在 + corpUsersService.saveUser(pd); //执行保存 + }else{ + map.put("result","failed"); + } + FHLOG.save(Jurisdiction.getUsername(), "新增用户:"+pd.getString("USERNAME")); //记录日志 + map.put("result", errInfo); //返回结果 + return map; + } + + /**删除用户 + * @return + */ + @RequestMapping(value="/deleteUser") + @ResponseBody + public Object deleteUser() throws Exception{ + Map map = new HashMap(); + PageData pd = new PageData(); + String errInfo = "success"; + pd = this.getPageData(); + FHLOG.save(Jurisdiction.getUsername(), "删除用户ID:"+pd.getString("USER_ID")); //记录日志 + corpUsersService.deleteUser(pd); //删除用户 + ueditorService.delete(pd); //删除副文本关联数据 + map.put("result", errInfo); //返回结果 + return map; + } + + /** + * 批量删除 + * @throws Exception + */ + @RequestMapping(value="/deleteAllUser") + @ResponseBody + public Object deleteAllUser() throws Exception{ + PageData pd = new PageData(); + Map map = new HashMap(); + pd = this.getPageData(); + String USER_IDS = pd.getString("USER_IDS"); + String errInfo = "success"; + if(Tools.notEmpty(USER_IDS)){ + String ArrayUSER_IDS[] = USER_IDS.split(","); + FHLOG.save(Jurisdiction.getUsername(), "批量删除用户"); //记录日志 + corpUsersService.deleteAllUser(ArrayUSER_IDS); //删除用户 + ueditorService.deleteAll(ArrayUSER_IDS); //删除副文本关联数据 + errInfo = "success"; + }else{ + errInfo = "error"; + } + map.put("result", errInfo); //返回结果 + return map; + } + + /**导出用户信息到EXCEL + * @return + * @throws Exception + */ + @RequestMapping(value="/excel") + public ModelAndView exportExcel() throws Exception{ + ModelAndView mv = new ModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + try{ + + /*检索条件*/ + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim()); + String STRARTTIME = pd.getString("STRARTTIME"); //开始时间 + String ENDTIME = pd.getString("ENDTIME"); //结束时间 + if(Tools.notEmpty(STRARTTIME))pd.put("STRARTTIME", STRARTTIME+" 00:00:00"); + if(Tools.notEmpty(ENDTIME))pd.put("ENDTIME", ENDTIME+" 00:00:00"); + + Map dataMap = new HashMap(); + List titles = new ArrayList(); + titles.add("用户名"); //1 + titles.add("编号"); //2 + titles.add("姓名"); //3 + titles.add("职位"); //4 + titles.add("手机"); //5 + titles.add("邮箱"); //6 + titles.add("最近登录"); //7 + titles.add("上次登录IP"); //8 + dataMap.put("titles", titles); + List userList = corpUsersService.listAllUser(pd); + List varList = new ArrayList(); + for(int i=0;i map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + if (null != file && !file.isEmpty()) { + String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1).toLowerCase(); + if (!"xls".equals(suffixName)) { + map.put("result", "fail"); + map.put("exception", "上传文件格式不正确"); + return map; + } + String filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE; //文件上传路径 + String fileName = FileUpload.fileUp(file, filePath, "userexcel"); //执行上传 + List listPd = (List)ObjectExcelRead.readExcel(filePath, fileName, 2, 0, 0); //执行读EXCEL操作,读出的数据导入List 2:从第3行开始;0:从第A列开始;0:第0个sheet + pd.put("LAST_LOGIN", ""); //最后登录时间 + pd.put("IP", ""); //IP + pd.put("STATUS", "0"); //状态 + pd.put("SKIN", "pcoded-navbar navbar-image-3,navbar pcoded-header navbar-expand-lg navbar-light header-dark,"); //默认皮肤 + pd.put("ROLE_ID", "fhadminzhuche"); //默认角色注册用户 + pd.put("ROLE_IDS", ""); //副职角色 + /** + * var0 :编号 + * var1 :姓名 + * var2 :手机 + * var3 :邮箱 + * var4 :备注 + */ + for(int i=0;i map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + if("admin".equals(pd.getString("USERNAME"))){return null;} //不能查看admin用户 + pd.put("ROLE_ID", "1"); + List roleList = roleService.listAllRolesByPId(pd); //列出所有系统用户角色 + map.put("fx", "user"); + pd = corpUsersService.findByUsername(pd); //根据ID读取 + String ROLE_IDS = pd.getString("ROLE_IDS"); //副职角色ID + if(Tools.notEmpty(ROLE_IDS)){ + String arryROLE_ID[] = ROLE_IDS.split(","); + for(int i=0;i map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + String USERNAME = pd.getString("USERNAME"); + if("admin".equals(USERNAME)){return null;} //不能查看admin用户 + pd.put("ROLE_ID", "1"); + List roleList = roleService.listAllRolesByPId(pd); //列出所有系统用户角色 + pd = corpUsersService.findByUsername(pd); //根据ID读取 + map.put("msg", "1"); + if(null == pd){ + PageData rpd = new PageData(); + rpd.put("RNUMBER", USERNAME); //用户名查不到数据时就把数据当作角色的编码去查询角色表 + rpd = roleService.getRoleByRnumber(rpd); + map.put("rpd", rpd); + map.put("msg", "2"); + } + map.put("pd", pd); + map.put("roleList", roleList); + map.put("result", errInfo); + return map; + } + + /**显示用户列表(弹窗选择用) + * @param page + * @return + * @throws Exception + */ + @RequestMapping(value="/listUsersForWindow") + @ResponseBody + public Object listUsersForWindow(Page page)throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim()); + String STRARTTIME = pd.getString("STRARTTIME"); //开始时间 + String ENDTIME = pd.getString("ENDTIME"); //结束时间 + if(Tools.notEmpty(STRARTTIME))pd.put("STRARTTIME", STRARTTIME+" 00:00:00"); + if(Tools.notEmpty(ENDTIME))pd.put("ENDTIME", ENDTIME+" 00:00:00"); + page.setPd(pd); + List userList = corpUsersService.listUsersBystaff(page); //列出用户列表(弹窗选择用) + pd.put("ROLE_ID", "1"); + List roleList = roleService.listAllRolesByPId(pd); //列出所有系统用户角色 + map.put("userList", userList); + map.put("roleList", roleList); + map.put("page", page); + map.put("pd", pd); + map.put("result", errInfo); + return map; + } + /**修改用户状态 STATUS + * @return + */ + @RequestMapping(value="/updateUserStatus") + @ResponseBody + public Object updateUserStatus() throws Exception{ + Map map = new HashMap(); + PageData pd = new PageData(); + String errInfo = "success"; + pd = this.getPageData(); + pd.put("STATUS",pd.getString("status")); + corpUsersService.updateUserStatus(pd); + FHLOG.save(Jurisdiction.getUsername(), "修改用户状态ID:"+pd.getString("USER_ID")); //记录日志 + map.put("result", errInfo); //返回结果 + return map; + } + +} diff --git a/src/main/java/com/zcloud/controller/system/ButtonrightsController.java b/src/main/java/com/zcloud/controller/system/ButtonrightsController.java index 2be7d301..d02e5a6d 100644 --- a/src/main/java/com/zcloud/controller/system/ButtonrightsController.java +++ b/src/main/java/com/zcloud/controller/system/ButtonrightsController.java @@ -1,9 +1,11 @@ package com.zcloud.controller.system; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import com.zcloud.service.bus.CorpInfoService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -28,53 +30,62 @@ import com.zcloud.util.Tools; @Controller @RequestMapping(value="/buttonrights") public class ButtonrightsController extends BaseController { - + @Autowired private ButtonrightsService buttonrightsService; @Autowired private RoleService roleService; + @Autowired + private CorpInfoService corpInfoService; @Autowired private FhButtonService fhButtonService; @Autowired private FHlogService FHLOG; - + /**列表 * @throws Exception */ @RequestMapping(value="/list") - @RequiresPermissions("buttonrights:list") @ResponseBody public Object list() throws Exception{ Map map = new HashMap(); String errInfo = "success"; - PageData pd = new PageData(); - pd = this.getPageData(); - if(Tools.isEmpty(pd.getString("ROLE_ID"))){ - pd.put("ROLE_ID", "1"); //默认列出第一组角色(初始设计系统用户组不能删除) - } + PageData pd = this.getPageData(); +// if(Tools.isEmpty(pd.getString("ROLE_ID"))){ +// pd.put("ROLE_ID", "1"); //默认列出第一组角色(初始设计系统用户组不能删除) +// } +// PageData fpd = new PageData(); +// fpd.put("ROLE_ID", "0"); + + + + String corpId = Jurisdiction.getCORPINFO_ID(); + pd.put("CORPINFO_ID", corpId); + PageData corp = corpInfoService.findById(pd); PageData fpd = new PageData(); - fpd.put("ROLE_ID", "0"); - List roleList = roleService.listAllRolesByPId(fpd); //列出组(页面横向排列的一级组) + fpd.put("CORPINFO_ID",corp.getString("ROLE_NAME")); + fpd.put("ROLE_ID",corp.getString("ROLE_NAME")); + pd.put("ROLE_ID",corp.getString("ROLE_NAME")); + Role roleList = roleService.getRoleById(corp.getString("ROLE_NAME")); //列出组(页面横向排列的一级组) List roleList_z = roleService.listAllRolesByPId(pd); //列出此组下架角色 List buttonlist = fhButtonService.listAll(pd); //列出所有按钮 List roleFhbuttonlist = buttonrightsService.listAll(pd); //列出所有角色按钮关联数据 pd = roleService.findById(pd); //取得点击的角色组(横排的) map.put("pd", pd); - map.put("roleList", roleList); + map.put("roleList", Collections.singletonList(roleList)); map.put("roleList_z", roleList_z); map.put("buttonlist", buttonlist); map.put("roleFhbuttonlist", roleFhbuttonlist); map.put("result", errInfo); return map; } - + /**点击按钮处理关联表 * @return * @throws Exception */ @RequestMapping(value="/upRb") @ResponseBody - @RequiresPermissions("buttonrights:edit") public Object updateRolebuttonrightd()throws Exception{ Map map = new HashMap(); PageData pd = new PageData(); @@ -90,5 +101,5 @@ public class ButtonrightsController extends BaseController { map.put("result", errInfo); return map; } - + } diff --git a/src/main/java/com/zcloud/controller/system/UsersController.java b/src/main/java/com/zcloud/controller/system/UsersController.java index b7de469d..6c49845d 100644 --- a/src/main/java/com/zcloud/controller/system/UsersController.java +++ b/src/main/java/com/zcloud/controller/system/UsersController.java @@ -1703,7 +1703,6 @@ public class UsersController extends BaseController { * * @param parentId 部门父节点id * @param departMap 全部部门信息 - * @param valName 部门名称 * @return 从子节点开始往上循序 */ public String getParentName(String parentId, Map departMap) { diff --git a/src/main/java/com/zcloud/entity/system/Role.java b/src/main/java/com/zcloud/entity/system/Role.java index b83ae519..369c8beb 100644 --- a/src/main/java/com/zcloud/entity/system/Role.java +++ b/src/main/java/com/zcloud/entity/system/Role.java @@ -15,6 +15,16 @@ public class Role { private String EDIT_QX; //修改权限(存放的除权后的菜单ID)有修改权限的菜单ID private String CHA_QX; //查看权限(存放的除权后的菜单ID)有查看权限的菜单ID private String RNUMBER; //编号(在处理类中新增的时候自动生成) + private String DEPT_TYPE; + + public String getDEPT_TYPE() { + return DEPT_TYPE; + } + + public void setDEPT_TYPE(String DEPT_TYPE) { + this.DEPT_TYPE = DEPT_TYPE; + } + private String Level; //用户等级 public String getROLE_ID() { diff --git a/src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpMenuMapper.java b/src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpMenuMapper.java new file mode 100644 index 00000000..7afb951d --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpMenuMapper.java @@ -0,0 +1,62 @@ +package com.zcloud.mapper.datasource.corpsystem; + +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.Menu; + +import java.util.List; + +/** + * 说明:菜单Mapper + * 作者:luoxiaobao + * 官网:www.qdkjchina.com + */ +public interface CorpMenuMapper { + + /**新增菜单 + * @param menu + */ + void addMenu(Menu menu); + + /**保存修改菜单 + * @param menu + */ + void edit(Menu menu); + + /** + * 通过菜单ID获取数据 + * @param pd + * @return + */ + PageData getMenuById(PageData pd); + + /**获取最大的菜单ID + * @param pd + * @return + */ + PageData findMaxId(PageData pd); + + /**通过ID获取其子一级菜单 + * @param parentId + * @return + */ + List listSubMenuByParentId(String parentId); + + /**获取所有菜单并填充每个菜单的子菜单列表(菜单管理) + * @param MENU_ID + * @return + */ + List listAllMenu(String MENU_ID); + + /**删除菜单 + * @param MENU_ID + */ + void deleteMenuById(String MENU_ID); + + /**保存菜单图标 + * @param pd + * @return + */ + void editicon(PageData pd); + + List listSubMenuAll(String MENU_ID); +} diff --git a/src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpRoleMapper.java b/src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpRoleMapper.java new file mode 100644 index 00000000..fe3585ae --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpRoleMapper.java @@ -0,0 +1,110 @@ +package com.zcloud.mapper.datasource.corpsystem; + + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.Role; + +import java.util.List; + +/** + * 说明:角色Mapper + * 作者:luoxiaobao + * 官网:www.qdkjchina.com + */ +public interface CorpRoleMapper { + + /**通过角色ID获取数据 + * @param pd + * @return + */ + PageData findById(PageData pd); + + /**通过id查找(返回角色对象) + * @param roleId + * @return + */ + Role getRoleById(String ROLE_ID); + + /**通过角色编码查找 + * @param pd + * @return + */ + PageData getRoleByRnumber(PageData pd); + + /**通过组ID获取组下级角色列表 + * @param pd + * @return + */ + List listAllRolesByPId(PageData pd); + + /**添加 + * @param pd + */ + void add(PageData pd); + + /**保存修改 + * @param pd + */ + void edit(PageData pd); + + /**删除角色 + * @param ROLE_ID + * @throws Exception + */ + void deleteRoleById(String ROLE_ID); + + /**给当前角色附加菜单权限 + * @param role + * @throws Exception + */ + void updateRoleRights(Role role); + + /**给全部子角色加菜单权限 + * @param pd + * @throws Exception + */ + void setAllRights(PageData pd); + + /**权限(增删改查) + * @param msg 区分增删改查 + * @param pd + * @throws Exception + */ + void addQx(PageData pd); + + /**权限(增删改查) + * @param msg 区分增删改查 + * @param pd + * @throws Exception + */ + void delQx(PageData pd); + + /**权限(增删改查) + * @param msg 区分增删改查 + * @param pd + * @throws Exception + */ + void editQx(PageData pd); + + /**权限(增删改查) + * @param msg 区分增删改查 + * @param pd + * @throws Exception + */ + void chaQx(PageData pd); + + /**通过角色ID数组获取角色列表 + * @param arryROLE_ID + * @throws Exception + */ + List listAllRolesByArryROLE_ID(String[] arryROLE_ID); + + /**角色列表(弹窗选择用) + * @param page + * @return + * @throws Exception + */ + List roleWindowlistPage(Page page); + +} diff --git a/src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpUsersMapper.java b/src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpUsersMapper.java new file mode 100644 index 00000000..3c0bb8d1 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/corpsystem/CorpUsersMapper.java @@ -0,0 +1,130 @@ +package com.zcloud.mapper.datasource.corpsystem; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.User; + +import java.util.List; + +/** + * 说明:用户Mapper + * 作者:luoxiaobao + * 官网:www.qdkjchina.com + */ +public interface CorpUsersMapper { + + /**通过用户获取数据 + * @param pd + * @return + */ + PageData findByUsername(PageData pd); + + /**用户列表 + * @param page + * @return + */ + List userlistPage(Page page); + + /**通过用户ID获取用户信息和角色信息 + * @param USER_ID + * @return + */ + User getUserAndRoleById(String USER_ID); + + /**通过邮箱获取数据 + * @param pd + * @return + * @throws Exception + */ + PageData findByEmail(PageData pd); + + /**通过编码获取数据 + * @param pd + * @return + * @throws Exception + */ + PageData findByNumbe(PageData pd); + + /**列出某角色下的所有用户 + * @param pd + * @return + * @throws Exception + */ + List listAllUserByRoldId(PageData pd); + + /**用户列表(全部) + * @param pd + * @return + * @throws Exception + */ + List listAllUser(PageData pd); + + /**用户列表(弹窗选择用) + * @param page + * @return + * @throws Exception + */ + List userBystafflistPage(Page page); + + /**通过用户ID获取数据 + * @param pd + * @return + * @throws Exception + */ + PageData findById(PageData pd); + + /**通过分公司ID获取数据 + * @param pd + * @return + * @throws Exception + */ + PageData findByCorpId(PageData pd); + + /**保存用户IP + * @param pd + */ + void saveIP(PageData pd); + + /**保存用户 + * @param pd + * @throws Exception + */ + void saveUser(PageData pd); + void editPassword(PageData pd); + + /**保存用户系统皮肤 + * @param pd + * @throws Exception + */ + void saveSkin(PageData pd); + + /**修改用户 + * @param pd + * @throws Exception + */ + void editUser(PageData pd); + + /**删除用户 + * @param pd + * @throws Exception + */ + void deleteUser(PageData pd); + + /**批量删除用户 + * @param pd + * @throws Exception + */ + void deleteAllUser(String[] USER_IDS); + + /**修改用户小程序权限 + * @param pd + * @throws Exception + */ + void editUserFuns(PageData pd); + Integer hasUserName (PageData pd); + + List listUserAndDept (PageData pd); + void updateUserStatus (PageData pd); + + void unLockUser(PageData pd); +} diff --git a/src/main/java/com/zcloud/service/system/corpsystem/CorpMenuService.java b/src/main/java/com/zcloud/service/system/corpsystem/CorpMenuService.java new file mode 100644 index 00000000..931731b8 --- /dev/null +++ b/src/main/java/com/zcloud/service/system/corpsystem/CorpMenuService.java @@ -0,0 +1,75 @@ +package com.zcloud.service.system.corpsystem; + +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.Menu; + +import java.util.List; + +/** + * 说明:菜单服务接口 + * 作者:luoxiaobao + * 官网:www.qdkjchina.com + */ +public interface CorpMenuService { + + /**新增菜单 + * @param menu + * @throws Exception + */ + public void addMenu(Menu menu) throws Exception; + + /**保存修改菜单 + * @param menu + * @throws Exception + */ + public void edit(Menu menu) throws Exception; + + /**获取最大的菜单ID + * @param pd + * @return + * @throws Exception + */ + public PageData findMaxId(PageData pd) throws Exception; + + /**获取所有菜单并填充每个菜单的子菜单列表(系统菜单列表) + * @param MENU_ID + * @return + * @throws Exception + */ + public List listAllMenuQx(String MENU_ID) throws Exception; + + /**通过ID获取其子一级菜单 + * @param parentId + * @return + * @throws Exception + */ + public List listSubMenuByParentId(String parentId)throws Exception; + + /**获取所有菜单并填充每个菜单的子菜单列表(菜单管理)( + * @param MENU_ID + * @return + * @throws Exception + */ + public List listAllMenu(String MENU_ID) throws Exception; + + /**获取所有菜单并填充每个菜单的子菜单列表(系统菜单列表) + * @param pd + * @return + * @throws Exception + */ + public PageData getMenuById(PageData pd) throws Exception; + + /**删除菜单 + * @param MENU_ID + * @throws Exception + */ + public void deleteMenuById(String MENU_ID) throws Exception; + + /**保存菜单图标 + * @param pd + * @throws Exception + */ + public void editicon(PageData pd) throws Exception; + public List listSubMenuAll()throws Exception; + +} diff --git a/src/main/java/com/zcloud/service/system/corpsystem/CorpRoleService.java b/src/main/java/com/zcloud/service/system/corpsystem/CorpRoleService.java new file mode 100644 index 00000000..753d1458 --- /dev/null +++ b/src/main/java/com/zcloud/service/system/corpsystem/CorpRoleService.java @@ -0,0 +1,94 @@ +package com.zcloud.service.system.corpsystem; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.Role; + +import java.util.List; + +/** + * 说明:角色服务接口 + * 作者:luoxiaobao + * 官网:www.qdkjchina.com + */ +public interface CorpRoleService { + + /**通过角色ID获取数据 + * @param pd + * @return + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception; + + /**通过id查找(返回角色对象) + * @param roleId + * @return + * @throws Exception + */ + public Role getRoleById(String ROLE_ID) throws Exception; + + /**通过组ID获取组下级角色列表 + * @param pd + * @return + * @throws Exception + */ + public List listAllRolesByPId(PageData pd) throws Exception; + + /**通过角色编码查找 + * @param pd + * @return + * @throws Exception + */ + public PageData getRoleByRnumber(PageData pd) throws Exception; + + /**添加 + * @param pd + * @throws Exception + */ + public void add(PageData pd) throws Exception; + + /**保存修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd) throws Exception; + + /**删除角色 + * @param ROLE_ID + * @throws Exception + */ + public void deleteRoleById(String ROLE_ID) throws Exception; + + /**给当前角色附加菜单权限 + * @param role + * @throws Exception + */ + public void updateRoleRights(Role role) throws Exception; + + /**给全部子角色加菜单权限 + * @param pd + * @throws Exception + */ + public void setAllRights(PageData pd) throws Exception; + + /**权限(增删改查) + * @param msg 区分增删改查 + * @param pd + * @throws Exception + */ + public void saveB4Button(String msg,PageData pd) throws Exception; + + /**通过角色ID数组获取角色列表 + * @param arryROLE_ID + * @throws Exception + */ + public List getRoleByArryROLE_ID(String[] arryROLE_ID)throws Exception; + + /**角色列表(弹窗选择用) + * @param page + * @return + * @throws Exception + */ + public List roleListWindow(Page page)throws Exception; + +} diff --git a/src/main/java/com/zcloud/service/system/corpsystem/CorpUsersService.java b/src/main/java/com/zcloud/service/system/corpsystem/CorpUsersService.java new file mode 100644 index 00000000..90e57b56 --- /dev/null +++ b/src/main/java/com/zcloud/service/system/corpsystem/CorpUsersService.java @@ -0,0 +1,133 @@ +package com.zcloud.service.system.corpsystem; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.User; + +import java.util.List; + +/** + * 说明:用户服务接口 + * 作者:luoxiaobao + * 官网:www.qdkjchina.com + */ +public interface CorpUsersService { + + /**通过用户名获取用户信息 + * @param pd + * @return + * @throws Exception + */ + public PageData findByUsername(PageData pd)throws Exception; + + /**通过用户ID获取用户信息 + * @param pd + * @return + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception; + + /**用户列表 + * @param page + * @return + * @throws Exception + */ + public List userlistPage(Page page)throws Exception; + + /**通过用户ID获取用户信息和角色信息 + * @param USER_ID + * @return + * @throws Exception + */ + public User getUserAndRoleById(String USER_ID) throws Exception; + + /**保存用户IP + * @param pd + * @throws Exception + */ + public void saveIP(PageData pd)throws Exception; + + /**通过邮箱获取数据 + * @param pd + * @return + * @throws Exception + */ + public PageData findByEmail(PageData pd)throws Exception; + + /**通过编码获取数据 + * @param pd + * @return + * @throws Exception + */ + public PageData findByNumbe(PageData pd) throws Exception; + + /**列出某角色下的所有用户 + * @param pd + * @return + * @throws Exception + */ + public List listAllUserByRoldId(PageData pd) throws Exception; + + /**用户列表(全部) + * @param pd + * @return + * @throws Exception + */ + public List listAllUser(PageData pd)throws Exception; + + /**用户列表(弹窗选择用) + * @param page + * @return + * @throws Exception + */ + public List listUsersBystaff(Page page)throws Exception; + + /**保存用户 + * @param pd + * @throws Exception + */ + public void saveUser(PageData pd)throws Exception; + + /**保存用户系统皮肤 + * @param pd + * @throws Exception + */ + public void saveSkin(PageData pd)throws Exception; + + /**修改用户 + * @param pd + * @throws Exception + */ + public void editUser(PageData pd)throws Exception; + public void editPassword(PageData pd)throws Exception; + + /**删除用户 + * @param pd + * @throws Exception + */ + public void deleteUser(PageData pd)throws Exception; + + /**批量删除用户 + * @param pd + * @throws Exception + */ + public void deleteAllUser(String[] USER_IDS)throws Exception; + + /**修改用户小程序权限 + * @param pd + * @throws Exception + */ + public void editUserFuns(PageData pd); + + public Integer hasUserName(PageData pd)throws Exception; + + public List listUserAndDept (PageData pd) throws Exception; + + /*** + * 修改用户状态 + * @param pd + * @return + * @throws Exception + */ + public void updateUserStatus (PageData pd) throws Exception; +} diff --git a/src/main/java/com/zcloud/service/system/corpsystem/impl/CorpMenuServiceImpl.java b/src/main/java/com/zcloud/service/system/corpsystem/impl/CorpMenuServiceImpl.java new file mode 100644 index 00000000..8b09cca3 --- /dev/null +++ b/src/main/java/com/zcloud/service/system/corpsystem/impl/CorpMenuServiceImpl.java @@ -0,0 +1,126 @@ +package com.zcloud.service.system.corpsystem.impl; + +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.Menu; +import com.zcloud.mapper.datasource.corpsystem.CorpMenuMapper; +import com.zcloud.service.system.corpsystem.CorpMenuService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:菜单服务接口实现类 + * 作者:luoxiaobao + * 官网:www.qdkjchina.com + */ +@Service +@Transactional //开启事物 +public class CorpMenuServiceImpl implements CorpMenuService { + + @Autowired + private CorpMenuMapper corpMenuMapper; + + /**新增菜单 + * @param menu + * @throws Exception + */ + @CacheEvict(value="menucache", allEntries=true) + public void addMenu(Menu menu) throws Exception{ + corpMenuMapper.addMenu(menu); + } + + /**保存修改菜单 + * @param menu + * @throws Exception + */ + @CacheEvict(value="menucache", allEntries=true) + public void edit(Menu menu) throws Exception{ + corpMenuMapper.edit(menu); + } + + /** + * 通过菜单ID获取数据 + * @param pd + * @return + * @throws Exception + */ + public PageData getMenuById(PageData pd) throws Exception { + return corpMenuMapper.getMenuById(pd); + } + + /**获取最大的菜单ID + * @param pd + * @return + * @throws Exception + */ + public PageData findMaxId(PageData pd) throws Exception{ + return corpMenuMapper.findMaxId(pd); + } + + /** + * 通过ID获取其子一级菜单 + * @param parentId + * @return + * @throws Exception + */ + @Cacheable(key="'menu-'+#parentId",value="menucache") + public List listSubMenuByParentId(String parentId) throws Exception { + return corpMenuMapper.listSubMenuByParentId(parentId); + } + + /** + * 获取所有菜单并填充每个菜单的子菜单列表(菜单管理)(递归处理) + * @param MENU_ID + * @return + * @throws Exception + */ + public List listAllMenu(String MENU_ID) throws Exception { + List menuList = this.listSubMenuByParentId(MENU_ID); + for(Menu menu : menuList){ + menu.setMENU_URL("menu_edit.html?MENU_ID="+menu.getMENU_ID()); + menu.setSubMenu(this.listAllMenu(menu.getMENU_ID())); + menu.setTarget("treeFrame"); + } + return menuList; + } + + /** + * 获取所有菜单并填充每个菜单的子菜单列表(系统菜单列表)(递归处理) + * @param MENU_ID + * @return + * @throws Exception + */ + public List listAllMenuQx(String MENU_ID) throws Exception { + List menuList = this.listSubMenuByParentId(MENU_ID); + for(Menu menu : menuList){ + menu.setSubMenu(this.listAllMenuQx(menu.getMENU_ID())); + menu.setTarget("treeFrame"); + } + return menuList; + } + + /**删除菜单 + * @param MENU_ID + * @throws Exception + */ + @CacheEvict(value="menucache", allEntries=true) + public void deleteMenuById(String MENU_ID) throws Exception{ + corpMenuMapper.deleteMenuById(MENU_ID); + } + + /**保存菜单图标 + * @param pd + * @throws Exception + */ + @CacheEvict(value="menucache", allEntries=true) + public void editicon(PageData pd) throws Exception{ + corpMenuMapper.editicon(pd); + } + public List listSubMenuAll()throws Exception{ + return corpMenuMapper.listSubMenuAll(""); + } +} diff --git a/src/main/java/com/zcloud/service/system/corpsystem/impl/CorpRoleServiceImpl.java b/src/main/java/com/zcloud/service/system/corpsystem/impl/CorpRoleServiceImpl.java new file mode 100644 index 00000000..1f4442cc --- /dev/null +++ b/src/main/java/com/zcloud/service/system/corpsystem/impl/CorpRoleServiceImpl.java @@ -0,0 +1,136 @@ +package com.zcloud.service.system.corpsystem.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.Role; +import com.zcloud.mapper.datasource.corpsystem.CorpRoleMapper; +import com.zcloud.service.system.corpsystem.CorpRoleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:角色服务接口实现类 + * 作者:luoxiaobao + * 官网:www.qdkjchina.com + */ +@Service +@Transactional //开启事物 +public class CorpRoleServiceImpl implements CorpRoleService { + + @Autowired + private CorpRoleMapper corpRoleMapper; + + /**通过角色ID获取数据 + * @param pd + * @return + * @throws Exception + */ + public PageData findById(PageData pd) throws Exception { + return corpRoleMapper.findById(pd); + } + + /**通过id查找(返回角色对象) + * @param roleId + * @return + * @throws Exception + */ + public Role getRoleById(String ROLE_ID) throws Exception{ + return corpRoleMapper.getRoleById(ROLE_ID); + } + + /**通过角色编码查找 + * @param pd + * @return + * @throws Exception + */ + public PageData getRoleByRnumber(PageData pd) throws Exception{ + return corpRoleMapper.getRoleByRnumber(pd); + } + + /**通过组ID获取组下级角色列表 + * @param pd + * @return + * @throws Exception + */ + public List listAllRolesByPId(PageData pd) throws Exception { + return corpRoleMapper.listAllRolesByPId(pd); + } + + /**添加 + * @param pd + * @throws Exception + */ + public void add(PageData pd) throws Exception{ + corpRoleMapper.add( pd); + } + + /**保存修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd) throws Exception{ + corpRoleMapper.edit( pd); + } + + /**删除角色 + * @param ROLE_ID + * @throws Exception + */ + public void deleteRoleById(String ROLE_ID) throws Exception{ + corpRoleMapper.deleteRoleById(ROLE_ID); + } + + /**给当前角色附加菜单权限 + * @param role + * @throws Exception + */ + public void updateRoleRights(Role role) throws Exception{ + corpRoleMapper.updateRoleRights(role); + } + + /**给全部子角色加菜单权限 + * @param pd + * @throws Exception + */ + public void setAllRights(PageData pd) throws Exception{ + corpRoleMapper.setAllRights(pd); + } + + /**权限(增删改查) + * @param msg 区分增删改查 + * @param pd + * @throws Exception + */ + public void saveB4Button(String msg,PageData pd) throws Exception{ + if("add_qx".equals(msg)){ + corpRoleMapper.addQx(pd); + }else if("del_qx".equals(msg)){ + corpRoleMapper.delQx(pd); + }else if("edit_qx".equals(msg)){ + corpRoleMapper.editQx(pd); + }else if("cha_qx".equals(msg)){ + corpRoleMapper.chaQx(pd); + } + } + + /**通过角色ID数组获取角色列表 + * @param arryROLE_ID + * @throws Exception + */ + public List getRoleByArryROLE_ID(String[] arryROLE_ID)throws Exception{ + return corpRoleMapper.listAllRolesByArryROLE_ID(arryROLE_ID); + } + + /**角色列表(弹窗选择用) + * @param page + * @return + * @throws Exception + */ + public List roleListWindow(Page page)throws Exception{ + return corpRoleMapper.roleWindowlistPage(page); + } + +} diff --git a/src/main/java/com/zcloud/service/system/corpsystem/impl/CorpUsersServiceImpl.java b/src/main/java/com/zcloud/service/system/corpsystem/impl/CorpUsersServiceImpl.java new file mode 100644 index 00000000..ccc6e72a --- /dev/null +++ b/src/main/java/com/zcloud/service/system/corpsystem/impl/CorpUsersServiceImpl.java @@ -0,0 +1,177 @@ +package com.zcloud.service.system.corpsystem.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.entity.system.User; +import com.zcloud.mapper.datasource.corpsystem.CorpUsersMapper; +import com.zcloud.service.system.corpsystem.CorpUsersService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 说明:用户服务接口实现类 + * 作者:luoxiaobao + * 官网:www.qdkjchina.com + */ +@Service +@Transactional //开启事物 +public class CorpUsersServiceImpl implements CorpUsersService { + + @Autowired + private CorpUsersMapper corpUsersMapper; + + /**通过用户名获取用户信息 + * @param pd + * @return + * @throws Exception + */ + public PageData findByUsername(PageData pd) throws Exception { + return corpUsersMapper.findByUsername(pd); + } + + /**通过用户ID获取用户信息 + * @param pd + * @return + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception{ + return corpUsersMapper.findById(pd); + } + + /**用户列表 + * @param page + * @return + * @throws Exception + */ + public List userlistPage(Page page) throws Exception { + return corpUsersMapper.userlistPage(page); + } + + /**通过用户ID获取用户信息和角色信息 + * @param USER_ID + * @return + * @throws Exception + */ + public User getUserAndRoleById(String USER_ID) throws Exception { + return corpUsersMapper.getUserAndRoleById(USER_ID); + } + + /**保存用户IP + * @param pd + * @throws Exception + */ + public void saveIP(PageData pd) throws Exception { + corpUsersMapper.saveIP(pd); + } + + /**通过邮箱获取数据 + * @param pd + * @return + * @throws Exception + */ + public PageData findByEmail(PageData pd) throws Exception { + return corpUsersMapper.findByEmail(pd); + } + + /**通过编码获取数据 + * @param pd + * @return + * @throws Exception + */ + public PageData findByNumbe(PageData pd) throws Exception { + return corpUsersMapper.findByNumbe(pd); + } + + /**列出某角色下的所有用户 + * @param pd + * @return + * @throws Exception + */ + public List listAllUserByRoldId(PageData pd) throws Exception{ + return corpUsersMapper.listAllUserByRoldId(pd); + } + + /**用户列表(全部) + * @param pd + * @return + * @throws Exception + */ + public List listAllUser(PageData pd)throws Exception{ + return corpUsersMapper.listAllUser(pd); + } + + /**用户列表(弹窗选择用) + * @param page + * @return + * @throws Exception + */ + public List listUsersBystaff(Page page)throws Exception{ + return corpUsersMapper.userBystafflistPage(page); + } + + /**保存用户 + * @param pd + * @throws Exception + */ + public void saveUser(PageData pd)throws Exception { + corpUsersMapper.saveUser(pd); + } + + /**保存用户系统皮肤 + * @param pd + * @throws Exception + */ + public void saveSkin(PageData pd)throws Exception{ + corpUsersMapper.saveSkin(pd); + } + + /**修改用户 + * @param pd + * @throws Exception + */ + public void editUser(PageData pd)throws Exception{ + corpUsersMapper.editUser(pd); + } + public void editPassword(PageData pd)throws Exception{ + corpUsersMapper.editPassword(pd); + } + + /**删除用户 + * @param pd + * @throws Exception + */ + public void deleteUser(PageData pd)throws Exception{ + corpUsersMapper.deleteUser(pd); + } + + /**批量删除用户 + * @param pd + * @throws Exception + */ + public void deleteAllUser(String[] USER_IDS)throws Exception{ + corpUsersMapper.deleteAllUser(USER_IDS); + } + + /**修改用户小程序权限 + * @param pd + * @throws Exception + */ + public void editUserFuns(PageData pd) { + corpUsersMapper.editUserFuns(pd); + } + + @Override + public Integer hasUserName(PageData pd) throws Exception { + return corpUsersMapper.hasUserName(pd); + } + + public List listUserAndDept (PageData pd) throws Exception{ + return corpUsersMapper.listUserAndDept(pd); + } + public void updateUserStatus (PageData pd) throws Exception{ + corpUsersMapper.updateUserStatus(pd); + } +} diff --git a/src/main/java/com/zcloud/util/Const.java b/src/main/java/com/zcloud/util/Const.java index b1d017c3..f3c56e21 100644 --- a/src/main/java/com/zcloud/util/Const.java +++ b/src/main/java/com/zcloud/util/Const.java @@ -8,6 +8,8 @@ package com.zcloud.util; public class Const { public static final String SESSION_USER = "SESSION_USER"; //session用的用户 + public static final String SESSION_DEPT = "SESSION_DEPT"; //session用的用户 + public static final String SESSION_USERROL = "SESSION_USERROL"; //用户对象(包含角色信息) public static final String SESSION_ROLE_RIGHTS = "SESSION_ROLE_RIGHTS"; //角色菜单权限 public static final String SHIROSET = "SHIROSET"; //菜单权限标识 diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index 5bb49ecc..e9b3d2d3 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -1,13 +1,13 @@ datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver -datasource.no1.url=jdbc:mysql://39.101.130.96:33068/qa-gwj-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 +datasource.no1.url=jdbc:mysql://192.168.0.17:3306/qa-gwj-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 datasource.no1.username=root -datasource.no1.password=Mysql@zcloud88888 +datasource.no1.password=root datasource.no2.driver-class-name: com.mysql.cj.jdbc.Driver -datasource.no2.url=jdbc:mysql://39.101.130.96:33068/qa-gwj-regulatory?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 +datasource.no2.url=jdbc:mysql://192.168.0.17:3306/qa-gwj-regulatory?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8 datasource.no2.username=root -datasource.no2.password=Mysql@zcloud88888 +datasource.no2.password=root #druid??? diff --git a/src/main/resources/mybatis/datasource/corpsystem/CorpMenuMapper.xml b/src/main/resources/mybatis/datasource/corpsystem/CorpMenuMapper.xml new file mode 100644 index 00000000..24f3cd6b --- /dev/null +++ b/src/main/resources/mybatis/datasource/corpsystem/CorpMenuMapper.xml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SYS_MENU + + + + + MENU_ID, + MENU_NAME, + MENU_URL, + PARENT_ID, + MENU_ICON, + SHIRO_KEY, + MENU_ORDER, + MENU_STATE, + MENU_TYPE, + COMPONENT, + SHOW_MODEL + + + + + #{MENU_ID}, + #{MENU_NAME}, + #{MENU_URL}, + #{PARENT_ID}, + #{MENU_ICON}, + #{SHIRO_KEY}, + #{MENU_ORDER}, + #{MENU_STATE}, + #{MENU_TYPE}, + #{COMPONENT}, + #{SHOW_MODEL} + + + + + insert into + + ( + + ) values ( + + ) + + + + + update + + set + MENU_NAME =#{MENU_NAME}, + MENU_URL =#{MENU_URL} , + MENU_ORDER=#{MENU_ORDER}, + MENU_STATE=#{MENU_STATE}, + SHIRO_KEY=#{SHIRO_KEY}, + MENU_TYPE =#{MENU_TYPE}, + COMPONENT=#{COMPONENT}, + SHOW_MODEL=#{SHOW_MODEL} + where + MENU_ID=#{MENU_ID} + + + + + + + + + + + + + + delete from + + where MENU_ID=#{MENU_ID} + + + + + update + + set + MENU_ICON=#{MENU_ICON} + where + MENU_ID=#{MENU_ID} + + + + diff --git a/src/main/resources/mybatis/datasource/corpsystem/CorpRoleMapper.xml b/src/main/resources/mybatis/datasource/corpsystem/CorpRoleMapper.xml new file mode 100644 index 00000000..00d9bf33 --- /dev/null +++ b/src/main/resources/mybatis/datasource/corpsystem/CorpRoleMapper.xml @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + SYS_ROLE + + + + + ROLE_ID, + ROLE_NAME, + RIGHTS, + PARENT_ID, + ADD_QX, + DEL_QX, + EDIT_QX, + CHA_QX, + DEPT_TYPE, + RNUMBER, + LEVEL, + PRIMARYNUM + + + + + #{ROLE_ID}, + #{ROLE_NAME}, + #{RIGHTS}, + #{PARENT_ID}, + #{ADD_QX}, + #{DEL_QX}, + #{EDIT_QX}, + #{CHA_QX}, + #{DEPT_TYPE}, + #{RNUMBER}, + #{LEVEL}, + #{PRIMARYNUM} + + + + + + + + + + + + + + + + + insert into + + ( + + ) values ( + + ) + + + + + update + + set ROLE_NAME = #{ROLE_NAME}, + DEPT_TYPE = #{DEPT_TYPE}, + PRIMARYNUM = #{PRIMARYNUM}, + LEVEL = #{LEVEL} + where ROLE_ID = #{ROLE_ID} + + + + + delete from + + where ROLE_ID=#{ROLE_ID} + + + + + update + + set RIGHTS=#{RIGHTS} + where ROLE_ID=#{ROLE_ID} + + + + + update + + set RIGHTS=#{rights} + where PARENT_ID=#{ROLE_ID} + + + + + update + + set ADD_QX=#{value} + where ROLE_ID=#{ROLE_ID} + + + + + update + + set DEL_QX=#{value} + where ROLE_ID=#{ROLE_ID} + + + + + update + + set EDIT_QX=#{value} + where ROLE_ID=#{ROLE_ID} + + + + + update + + set CHA_QX=#{value} + where ROLE_ID=#{ROLE_ID} + + + + + + + + + diff --git a/src/main/resources/mybatis/datasource/corpsystem/CorpUsersMapper.xml b/src/main/resources/mybatis/datasource/corpsystem/CorpUsersMapper.xml new file mode 100644 index 00000000..63d5f9de --- /dev/null +++ b/src/main/resources/mybatis/datasource/corpsystem/CorpUsersMapper.xml @@ -0,0 +1,549 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SYS_USER + + + + + SYS_ROLE + + + + + USER_ID, + USERNAME, + PASSWORD, + NAME, + ROLE_ID, + LAST_LOGIN, + IP, + STATUS, + BZ, + SKIN, + EMAIL, + NUMBER, + PHONE, + ROLE_IDS, + FUN_IDS, + TYPE, + LEVEL, + PROVINCE, + CITY, + COUNTRY, + VILLAGE, + SEX, + SORT, + JOB_LEVEL, + JOB + + + + + #{USER_ID}, + #{USERNAME}, + #{PASSWORD}, + #{NAME}, + #{ROLE_ID}, + #{LAST_LOGIN}, + #{IP}, + #{STATUS}, + #{BZ}, + #{SKIN}, + #{EMAIL}, + #{NUMBER}, + #{PHONE}, + #{ROLE_IDS}, + #{DEPARTMENT_ID}, + #{FUN_IDS}, + #{TYPE}, + #{LEVEL}, + #{PROVINCE}, + #{CITY}, + #{COUNTRY}, + #{VILLAGE}, + #{SEX}, + #{SORT}, + #{JOB_LEVEL}, + #{JOB} + + + + + + + + + + + + + + + + + + + + + + + insert into ( + + ) values ( + + ) + + + + + update + + set NAME = #{NAME}, + DEPARTMENT_ID = #{DEPARTMENT_ID}, + ROLE_ID = #{ROLE_ID}, + ROLE_IDS = #{ROLE_IDS}, + BZ = #{BZ}, + EMAIL = #{EMAIL}, + NUMBER = #{NUMBER}, + PHONE = #{PHONE}, + LEVEL=#{LEVEL}, + TYPE=#{TYPE}, + PROVINCE=#{PROVINCE}, + CITY=#{CITY}, + COUNTRY=#{COUNTRY}, + VILLAGE=#{VILLAGE} + + ,PASSWORD = #{PASSWORD} + + where + USER_ID = #{USER_ID} + + + update + + set PASSWORD = #{PASSWORD} + where + USER_ID = #{USER_ID} + + + + + + + + + + + + + + update + + set + IP = #{IP}, + LAST_LOGIN = #{LAST_LOGIN} + where + USERNAME = #{USERNAME} + + + + + update + + set + SKIN = #{SKIN} + where USERNAME = #{USERNAME} + + + + + delete from + + where + USER_ID = #{USER_ID} + and + USER_ID != '1' + + + + + delete from + + where + USER_ID in + + #{item} + + and + USER_ID != '1' + + + + + + + + update + + set FUN_IDS = #{FUN_IDS} + where + USER_ID = #{USER_ID} + + + + + + update + + set + STATUS = #{STATUS} + where USER_ID = #{USER_ID} + + + + + update + + set + STATUS = #{STATUS}, + ERROR_COUNT = #{ERROR_COUNT} + where USER_ID = #{USER_ID} + + From e8653b1870d0b6a3b9c981ee4222d0b0a3258c0d Mon Sep 17 00:00:00 2001 From: dearlin <1261008090@qq.com> Date: Tue, 28 Nov 2023 15:26:20 +0800 Subject: [PATCH 02/39] =?UTF-8?q?add:=20=E5=88=86=E5=85=AC=E5=8F=B8?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86=EF=BC=88=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=9D=83=E9=99=90=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/zcloud/controller/bus/CorpInfoController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/zcloud/controller/bus/CorpInfoController.java b/src/main/java/com/zcloud/controller/bus/CorpInfoController.java index 9c96a3ea..5b4cacd9 100644 --- a/src/main/java/com/zcloud/controller/bus/CorpInfoController.java +++ b/src/main/java/com/zcloud/controller/bus/CorpInfoController.java @@ -236,6 +236,7 @@ public class CorpInfoController extends BaseController { * @throws Exception */ @RequestMapping(value="/goEdit") + @RequiresPermissions("corpinfo_edit_self:list") @ResponseBody public Object goEdit() throws Exception{ Map map = new HashMap(); From 2856aa062615ab0470329f73138a7916570b515f Mon Sep 17 00:00:00 2001 From: limingyu Date: Thu, 7 Dec 2023 10:30:43 +0800 Subject: [PATCH 03/39] =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=97=B6=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=9B=BE=E7=89=87=E5=92=8C=E5=90=8E=E7=AB=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/LoginController.java | 14 +++++ .../datasource/system/CorpPathMapper.java | 13 ++++ .../service/system/CorpPathService.java | 25 ++++++++ .../system/impl/CorpPathServiceImpl.java | 60 +++++++++++++++++++ .../datasource/system/CorpPathMapper.xml | 53 ++++++++++++++++ 5 files changed, 165 insertions(+) create mode 100644 src/main/java/com/zcloud/mapper/datasource/system/CorpPathMapper.java create mode 100644 src/main/java/com/zcloud/service/system/CorpPathService.java create mode 100644 src/main/java/com/zcloud/service/system/impl/CorpPathServiceImpl.java create mode 100644 src/main/resources/mybatis/datasource/system/CorpPathMapper.xml diff --git a/src/main/java/com/zcloud/controller/system/LoginController.java b/src/main/java/com/zcloud/controller/system/LoginController.java index d94ab3e4..9b09aaef 100644 --- a/src/main/java/com/zcloud/controller/system/LoginController.java +++ b/src/main/java/com/zcloud/controller/system/LoginController.java @@ -71,6 +71,9 @@ public class LoginController extends BaseController { @Autowired private PhotoService photoService; + @Autowired + private CorpPathService corpPathService; + /** * 请求登录验证用户接口 * @@ -253,6 +256,17 @@ public class LoginController extends BaseController { session.setAttribute(Const.ISSUPERVISE, dpd.getString("ISSUPERVISE")); //把当前用户放入session FHLOG.save(USERNAME, "成功登录系统", ip); //记录日志 + + //查询该用户或企业的图片和后端地址 + if (!Tools.isEmpty(pd.getString("CORPINFO_ID")) && !pd.getString("CORPINFO_ID").equals("1")) { + PageData pathData = corpPathService.getCorpPathByCorpId(pd); + map.put("picPath",pathData.getString("PIC_PATH")); + map.put("backEndPath", pathData.getString("BACK_END_PATH")); + } else { + PageData pathData = corpPathService.getCorpPathByPersonInfo(pd); + map.put("picPath", pathData.getString("PIC_PATH")); + map.put("backEndPath", pathData.getString("BACK_END_PATH")); + } } } else { token.clear(); diff --git a/src/main/java/com/zcloud/mapper/datasource/system/CorpPathMapper.java b/src/main/java/com/zcloud/mapper/datasource/system/CorpPathMapper.java new file mode 100644 index 00000000..cba8a7f9 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/system/CorpPathMapper.java @@ -0,0 +1,13 @@ +package com.zcloud.mapper.datasource.system; + +import com.zcloud.entity.PageData; + +/** + * 企业图片地址、后端地址访问表 + */ +public interface CorpPathMapper { + + PageData getCorpPathByCorpId(PageData pd); + + PageData getCorpPathByPersonInfo(PageData pd); +} diff --git a/src/main/java/com/zcloud/service/system/CorpPathService.java b/src/main/java/com/zcloud/service/system/CorpPathService.java new file mode 100644 index 00000000..11abaa48 --- /dev/null +++ b/src/main/java/com/zcloud/service/system/CorpPathService.java @@ -0,0 +1,25 @@ +package com.zcloud.service.system; + +import com.zcloud.entity.PageData; + +/** + * 企业图片地址、后端地址访问表 + */ +public interface CorpPathService { + + /** + * 根据企业id获取企业图片、后端路径访问地址 + * @param pd + * @return + * @throws Exception + */ + PageData getCorpPathByCorpId(PageData pd) throws Exception; + + /** + * 根据人员信息获取对应企业图片、后端路径访问地址 + * @param pd + * @return + * @throws Exception + */ + PageData getCorpPathByPersonInfo(PageData pd) throws Exception; +} diff --git a/src/main/java/com/zcloud/service/system/impl/CorpPathServiceImpl.java b/src/main/java/com/zcloud/service/system/impl/CorpPathServiceImpl.java new file mode 100644 index 00000000..10c7e473 --- /dev/null +++ b/src/main/java/com/zcloud/service/system/impl/CorpPathServiceImpl.java @@ -0,0 +1,60 @@ +package com.zcloud.service.system.impl; + +import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.system.CorpPathMapper; +import com.zcloud.service.system.CorpPathService; +import com.zcloud.util.Tools; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +/** + * 企业图片地址、后端地址访问表 + */ +@Service +public class CorpPathServiceImpl implements CorpPathService { + @Autowired + private CorpPathMapper corpPathMapper; + + @Value("${corp.default.pic-path}") + private String defaultPicPath; + + @Value("${corp.default.back-end-path}") + private String defaultBackEndPath; + + /** + * 根据企业id获取企业图片、后端路径访问地址 + * @param pd + * @return + * @throws Exception + */ + @Override + public PageData getCorpPathByCorpId(PageData pd) throws Exception { + PageData data = corpPathMapper.getCorpPathByCorpId(pd); + if (Tools.isEmpty(data)) { + PageData result = new PageData(); + result.put("PIC_PATH",defaultPicPath); + result.put("BACK_END_PATH", defaultBackEndPath); + return result; + } + return data; + } + + /** + * 根据人员信息获取企业图片、后端路径访问地址 + * @param pd + * @return + * @throws Exception + */ + @Override + public PageData getCorpPathByPersonInfo(PageData pd) throws Exception { + PageData data = corpPathMapper.getCorpPathByPersonInfo(pd); + if ("1".equals(pd.getString("USER_ID")) || Tools.isEmpty(data)) { + PageData result = new PageData(); + result.put("PIC_PATH",defaultPicPath); + result.put("BACK_END_PATH", defaultBackEndPath); + return result; + } + return data; + } +} diff --git a/src/main/resources/mybatis/datasource/system/CorpPathMapper.xml b/src/main/resources/mybatis/datasource/system/CorpPathMapper.xml new file mode 100644 index 00000000..e19a4a9d --- /dev/null +++ b/src/main/resources/mybatis/datasource/system/CorpPathMapper.xml @@ -0,0 +1,53 @@ + + + + + + + SYS_CORP_PATH + + + + + CORP_PATH_ID, + CORPINFO_ID, + PIC_PATH, + BACK_END_PATH + + + + + f.CORP_PATH_ID, + f.CORPINFO_ID, + f.PIC_PATH, + f.BACK_END_PATH + + + + + #{CORP_PATH_ID}, + #{CORPINFO_ID}, + #{PIC_PATH}, + #{BACK_END_PATH} + + + + + + + + From cd71673e7c4d9fd66f8e1110c289d5da7115b698 Mon Sep 17 00:00:00 2001 From: limingyu Date: Thu, 7 Dec 2023 13:50:02 +0800 Subject: [PATCH 04/39] =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=97=B6=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=9B=BE=E7=89=87=E5=92=8C=E5=90=8E=E7=AB=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=9C=B0=E5=9D=802?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-dev.properties | 3 +++ src/main/resources/application-local.properties | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index 5bb49ecc..33812d34 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -61,6 +61,9 @@ spring.main.banner-mode=off # #qa-regulatory-gwj.api.url=http://192.168.0.79:8008 +corp.default.pic-path=https://qgqy.qhdsafety.com/file/ +corp.default.back-end-path=http://192.168.151.57:8092/ + preventionxgf.api.url=http://192.168.0.31:8992/qa-prevention-xgf/ qa-regulatory-gwj.api.url=http://192.168.0.31:8992/qa-regulatory-gwj/ #????? diff --git a/src/main/resources/application-local.properties b/src/main/resources/application-local.properties index 13026235..3862ddd4 100644 --- a/src/main/resources/application-local.properties +++ b/src/main/resources/application-local.properties @@ -64,6 +64,9 @@ spring.main.banner-mode=off preventionxgf.api.url=http://192.168.0.79:8088/ qa-regulatory-gwj.api.url=http://192.168.0.79:8092/ +corp.default.pic-path=https://qgqy.qhdsafety.com/file/ +corp.default.back-end-path=http://192.168.151.57:8092/ + #????? smb.host=39.103.224.166 smb.port=22 From 6937054d440079d8164f5251210bf30bea243716 Mon Sep 17 00:00:00 2001 From: limingyu Date: Fri, 15 Dec 2023 13:59:11 +0800 Subject: [PATCH 05/39] =?UTF-8?q?=E4=B8=80=E5=85=AC=E5=8F=B8=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E7=AB=AF=E9=A9=BE=E9=A9=B6=E8=88=B1=E5=8D=B1=E9=99=A9?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=BB=9F=E8=AE=A1=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/HomeHighRiskWorkController.java | 22 +- .../highriskwork/HighWorkMapper.java | 12 + .../service/highriskwork/HighWorkService.java | 24 + .../impl/HighWorkServiceImpl.java | 21 + .../highriskwork/HighWorkMapper.xml | 515 ++++++++++++++++++ 5 files changed, 591 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zcloud/controller/home/HomeHighRiskWorkController.java b/src/main/java/com/zcloud/controller/home/HomeHighRiskWorkController.java index c30e063c..71ddef6f 100644 --- a/src/main/java/com/zcloud/controller/home/HomeHighRiskWorkController.java +++ b/src/main/java/com/zcloud/controller/home/HomeHighRiskWorkController.java @@ -11,6 +11,7 @@ import com.zcloud.service.system.DepartmentService; import com.zcloud.service.system.DictionariesService; import com.zcloud.service.system.UsersService; import com.zcloud.util.Jurisdiction; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -48,7 +49,12 @@ public class HomeHighRiskWorkController extends BaseController { /*风险管控 数据统计*/ //获取高危作业统计数据(申请数[COUNTAPPLY],审批中[COUNTAPPROVE],归档[COUNTARCHIVE]) - PageData data = highworkService.statisticsHighRiskWorkByState(pd); + PageData data = new PageData(); + if (StringUtils.equals("035958e685cf4850bc40151c5e0617a6",pd.getString("CORPINFO_ID"))) { //一公司 + data = highworkService.statisticsHighRiskWorkByStateFirst(pd); + } else { + data = highworkService.statisticsHighRiskWorkByState(pd); + } map.put("pd", data); map.put("result", errInfo); @@ -70,7 +76,12 @@ public class HomeHighRiskWorkController extends BaseController { pd = this.getPageData(); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业 page.setPd(pd); - List varList = highworkService.listHighRiskWork(page); + List varList = new ArrayList<>(); + if (StringUtils.equals("035958e685cf4850bc40151c5e0617a6",pd.getString("CORPINFO_ID"))) { // 一公司 + varList = highworkService.listHighRiskWorkFirst(page); + } else { + varList = highworkService.listHighRiskWork(page); + } map.put("varList", varList); map.put("result", errInfo); return map; @@ -93,7 +104,12 @@ public class HomeHighRiskWorkController extends BaseController { Map chartData = new HashMap(); List legendData = Arrays.asList(new String[]{"动火作业", "临时用电作业", "盲板作业", "高处作业", "有限空间作业", "吊装作业"}); - List workChart = highworkService.statisticsAllHighRiskWork(pd); //统计高危作业里各作业数 + List workChart = new ArrayList<>(); + if (StringUtils.equals("035958e685cf4850bc40151c5e0617a6",pd.getString("CORPINFO_ID"))) { //一公司 + workChart = highworkService.statisticsAllHighRiskWorkFirst(pd); //统计高危作业里各作业数 + } else { + workChart = highworkService.statisticsAllHighRiskWork(pd); //统计高危作业里各作业数 + } List seriesData = new ArrayList(); for (int i = 0; i < legendData.size(); i++) { PageData pie = new PageData(); diff --git a/src/main/java/com/zcloud/mapper/datasource/highriskwork/HighWorkMapper.java b/src/main/java/com/zcloud/mapper/datasource/highriskwork/HighWorkMapper.java index 092cbf84..7cc81fa2 100644 --- a/src/main/java/com/zcloud/mapper/datasource/highriskwork/HighWorkMapper.java +++ b/src/main/java/com/zcloud/mapper/datasource/highriskwork/HighWorkMapper.java @@ -100,5 +100,17 @@ public interface HighWorkMapper{ List listAllHighRiskWorkLocation(PageData pd); void editacceptancapplication(PageData pd); + + List listHighRiskWorkFirst(Page page); + + PageData statisticsHighRiskWorkByStateFirst(PageData pd); + + /** + * 统计高危作业里各作业数(一公司) + * @param pd + * @return + * @throws Exception + */ + List statisticsAllHighRiskWorkFirst(PageData pd); } diff --git a/src/main/java/com/zcloud/service/highriskwork/HighWorkService.java b/src/main/java/com/zcloud/service/highriskwork/HighWorkService.java index efb6cfe7..635369d9 100644 --- a/src/main/java/com/zcloud/service/highriskwork/HighWorkService.java +++ b/src/main/java/com/zcloud/service/highriskwork/HighWorkService.java @@ -103,5 +103,29 @@ public interface HighWorkService{ * @throws Exception */ List listAllHighRiskWorkLocation(PageData pd)throws Exception; + + /** + * 作业实时情况展示(一公司) + * @param page + * @return + * @throws Exception + */ + List listHighRiskWorkFirst(Page page)throws Exception; + + /** + * 获取高危作业统计数据(申请数[COUNTAPPLY],审批中[COUNTAPPROVE],归档[COUNTARCHIVE])(一公司) + * @param pd + * @return + * @throws Exception + */ + PageData statisticsHighRiskWorkByStateFirst(PageData pd)throws Exception; + + /** + * 统计高危作业里各作业数(一公司) + * @param pd + * @return + * @throws Exception + */ + List statisticsAllHighRiskWorkFirst(PageData pd)throws Exception; } diff --git a/src/main/java/com/zcloud/service/highriskwork/impl/HighWorkServiceImpl.java b/src/main/java/com/zcloud/service/highriskwork/impl/HighWorkServiceImpl.java index 15fd4ce5..11068f77 100644 --- a/src/main/java/com/zcloud/service/highriskwork/impl/HighWorkServiceImpl.java +++ b/src/main/java/com/zcloud/service/highriskwork/impl/HighWorkServiceImpl.java @@ -176,5 +176,26 @@ public class HighWorkServiceImpl implements HighWorkService { public List listAllHighRiskWorkLocation(PageData pd) throws Exception { return highworkMapper.listAllHighRiskWorkLocation(pd); } + + @Override + public List listHighRiskWorkFirst(Page page) throws Exception { + return highworkMapper.listHighRiskWorkFirst(page); + } + + @Override + public PageData statisticsHighRiskWorkByStateFirst(PageData pd) throws Exception { + return highworkMapper.statisticsHighRiskWorkByStateFirst(pd); + } + + /** + * 统计高危作业里各作业数(一公司) + * @param pd + * @return + * @throws Exception + */ + @Override + public List statisticsAllHighRiskWorkFirst(PageData pd) throws Exception { + return highworkMapper.statisticsAllHighRiskWorkFirst(pd); + } } diff --git a/src/main/resources/mybatis/datasource/highriskwork/HighWorkMapper.xml b/src/main/resources/mybatis/datasource/highriskwork/HighWorkMapper.xml index 8851147b..aa62c068 100644 --- a/src/main/resources/mybatis/datasource/highriskwork/HighWorkMapper.xml +++ b/src/main/resources/mybatis/datasource/highriskwork/HighWorkMapper.xml @@ -877,4 +877,519 @@ ) f + + + + + + + From 6997c26a5f5ecec0d4741d0db00f321d07dafd02 Mon Sep 17 00:00:00 2001 From: limingyu Date: Fri, 15 Dec 2023 15:09:16 +0800 Subject: [PATCH 06/39] =?UTF-8?q?=E4=B8=80=E5=85=AC=E5=8F=B8=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E7=AB=AF=E9=A9=BE=E9=A9=B6=E8=88=B1=E5=8D=B1=E9=99=A9?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=BB=9F=E8=AE=A1=E6=98=BE=E7=A4=BA2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ppHotWorkApplicationDelayedController.java | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/zcloud/controller/app/highriskwork/AppHotWorkApplicationDelayedController.java b/src/main/java/com/zcloud/controller/app/highriskwork/AppHotWorkApplicationDelayedController.java index 548935fb..81a82b4e 100644 --- a/src/main/java/com/zcloud/controller/app/highriskwork/AppHotWorkApplicationDelayedController.java +++ b/src/main/java/com/zcloud/controller/app/highriskwork/AppHotWorkApplicationDelayedController.java @@ -69,38 +69,38 @@ public class AppHotWorkApplicationDelayedController extends BaseController { map.put("msg", "文件格式不正确!"); return map; } - Image srcImg = ImageIO.read(file.getInputStream()); - //获取图片的宽 - int srcImgWidth = srcImg.getWidth(null); - //获取图片的高 - int srcImgHeight = srcImg.getHeight(null); - - BufferedImage bufImg = new BufferedImage(srcImgWidth, srcImgHeight, BufferedImage.TYPE_INT_RGB); - // 加水印 - //创建画笔 - Graphics2D g = bufImg.createGraphics(); - //srcImg 为上面获取到的原始图片的图片对象 - g.drawImage(srcImg, 0, 0, srcImgWidth, srcImgHeight, null); - //根据图片的背景设置水印颜色 - g.setColor(new Color(255,255,255,128)); - //设置字体 画笔字体样式为微软雅黑,加粗,文字大小为60pt - g.setFont(new Font("微软雅黑", Font.BOLD, 20)); - //设置水印的坐标 - int x=(srcImgWidth - WaterMarkUtil.getWatermarkLength(DateUtil.date2Str(new Date()), g)) / 2; - int y=srcImgHeight / 2; - //画出水印 第一个参数是水印内容,第二个参数是x轴坐标,第三个参数是y轴坐标 - g.drawString(DateUtil.date2Str(new Date()), x, y); - g.dispose(); - //将加完水印的图片暂存到内存中 - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - ImageIO.write(bufImg, suffixName, bos); - ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); - +// Image srcImg = ImageIO.read(file.getInputStream()); +// //获取图片的宽 +// int srcImgWidth = srcImg.getWidth(null); +// //获取图片的高 +// int srcImgHeight = srcImg.getHeight(null); +// +// BufferedImage bufImg = new BufferedImage(srcImgWidth, srcImgHeight, BufferedImage.TYPE_INT_RGB); +// // 加水印 +// //创建画笔 +// Graphics2D g = bufImg.createGraphics(); +// //srcImg 为上面获取到的原始图片的图片对象 +// g.drawImage(srcImg, 0, 0, srcImgWidth, srcImgHeight, null); +// //根据图片的背景设置水印颜色 +// g.setColor(new Color(255,255,255,128)); +// //设置字体 画笔字体样式为微软雅黑,加粗,文字大小为60pt +// g.setFont(new Font("微软雅黑", Font.BOLD, 20)); +// //设置水印的坐标 +// int x=(srcImgWidth - WaterMarkUtil.getWatermarkLength(DateUtil.date2Str(new Date()), g)) / 2; +// int y=srcImgHeight / 2; +// //画出水印 第一个参数是水印内容,第二个参数是x轴坐标,第三个参数是y轴坐标 +// g.drawString(DateUtil.date2Str(new Date()), x, y); +// g.dispose(); +// //将加完水印的图片暂存到内存中 +// ByteArrayOutputStream bos = new ByteArrayOutputStream(); +// ImageIO.write(bufImg, suffixName, bos); +// ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); +// String ffile = DateUtil.getDays(); String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); -// Smb.sshSftp(file, fileName, Const.FILEPATHYHTP + corpInfoId + "/" + ffile); - //通过流的方式上传文件 - Smb.sshSftpForInput(bis, fileName, Const.FILEPATHYHTP + corpInfoId + "/" + ffile); + Smb.sshSftp(file, fileName, Const.FILEPATHYHTP + corpInfoId + "/" + ffile); +// 通过流的方式上传文件 +// Smb.sshSftpForInput(bis, fileName, Const.FILEPATHYHTP + corpInfoId + "/" + ffile); pd.put("FILEPATH",Const.FILEPATHYHTP + corpInfoId + "/" + ffile + "/" + fileName); } hotworkapplicationdelayedService.save(pd); From d59a9f1dfe20d4739f109ed433107940a3840ca9 Mon Sep 17 00:00:00 2001 From: zhaoyu Date: Mon, 18 Dec 2023 10:25:17 +0800 Subject: [PATCH 07/39] =?UTF-8?q?=E9=87=8D=E7=82=B9=E5=B7=A5=E7=A8=8B?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/AppKeyProjectsController.java | 34 ++++ .../dsno2/keyProjects/OutSourcedMapper.java | 7 + .../keyProjects/OutSourcedService.java | 7 + .../impl/OutSourcedServiceImpl.java | 5 + .../keyProjects/KeyprojectHiddenMapper.xml | 2 + .../dsno2/keyProjects/OutSourcedMapper.xml | 152 +++++++++++++++--- 6 files changed, 181 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyProjectsController.java b/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyProjectsController.java index 3de397ac..ef4c4627 100644 --- a/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyProjectsController.java +++ b/src/main/java/com/zcloud/controller/keyProjects/app/AppKeyProjectsController.java @@ -156,4 +156,38 @@ public class AppKeyProjectsController extends BaseController { map.put("result", errInfo); return map; } + + + /** 隐患列表 查询进行中的重点工程以及排序 + * @throws Exception + */ + @RequestMapping(value="/listHiddenOutsourced") + @ResponseBody + public Object listHiddenOutsourced(Page page) throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim()); + String UserId = pd.getString("UserId"); + if(!StringUtils.equals("1",UserId)){ + String CORPINFO_ID = pd.getString("CORPINFO_ID"); +// -- 河港机械 河港港工 河港检测 + if(!StringUtils.equals(CORPINFO_ID,"1e6dbbe16004402f8d2c0e52afd9a676") + &&!StringUtils.equals(CORPINFO_ID,"3a854eefa7894e06aaa1a2611bca80f6")&& + !StringUtils.equals(CORPINFO_ID,"020578a4c1f04bc692ee25145c2efbe5") + &&!StringUtils.equals(CORPINFO_ID,"90966974de3c4b83aca6f8fd6432d5c2")){ + pd.put("DeptId",outsourcedService.getDeptId(UserId)); + pd.put("UserId",UserId); + + } + } + page.setPd(pd); + List varList = outsourcedService.listHiddenOutsourced(page); //列出OutSourced列表 + map.put("varList", varList); + map.put("page", page); + map.put("result", errInfo); + return map; + } } diff --git a/src/main/java/com/zcloud/mapper/dsno2/keyProjects/OutSourcedMapper.java b/src/main/java/com/zcloud/mapper/dsno2/keyProjects/OutSourcedMapper.java index 569023c7..b90f812a 100644 --- a/src/main/java/com/zcloud/mapper/dsno2/keyProjects/OutSourcedMapper.java +++ b/src/main/java/com/zcloud/mapper/dsno2/keyProjects/OutSourcedMapper.java @@ -75,5 +75,12 @@ public interface OutSourcedMapper{ PageData jieshuOutSourced(PageData pd); void updateState(PageData pd); + + /** 重点工程隐患 列表 + * @param page + * @throws Exception + */ + List hiddenOutsourcedlistPage(Page page); + } diff --git a/src/main/java/com/zcloud/service/keyProjects/OutSourcedService.java b/src/main/java/com/zcloud/service/keyProjects/OutSourcedService.java index bf05b77d..ac3cfe77 100644 --- a/src/main/java/com/zcloud/service/keyProjects/OutSourcedService.java +++ b/src/main/java/com/zcloud/service/keyProjects/OutSourcedService.java @@ -76,5 +76,12 @@ public interface OutSourcedService{ PageData jieshuOutSourced(PageData pd); void updateState(PageData pd); + + /** 查询隐患的重点工程列表 排序规则不一致 + * @param page + * @throws Exception + */ + public List listHiddenOutsourced(Page page)throws Exception; + } diff --git a/src/main/java/com/zcloud/service/keyProjects/impl/OutSourcedServiceImpl.java b/src/main/java/com/zcloud/service/keyProjects/impl/OutSourcedServiceImpl.java index af090e91..1431e8e7 100644 --- a/src/main/java/com/zcloud/service/keyProjects/impl/OutSourcedServiceImpl.java +++ b/src/main/java/com/zcloud/service/keyProjects/impl/OutSourcedServiceImpl.java @@ -106,5 +106,10 @@ public class OutSourcedServiceImpl implements OutSourcedService { pd.put("OPERATTIME", DateUtil.date2Str(new Date())); outsourcedMapper.updateState(pd); } + + @Override + public List listHiddenOutsourced(Page page) throws Exception { + return outsourcedMapper.hiddenOutsourcedlistPage(page); + } } diff --git a/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml b/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml index 5030e522..ee2e4acf 100644 --- a/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml +++ b/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml @@ -1533,6 +1533,7 @@ f.ISDELETE = '0' AND f.SOURCE IN ( '4', '5', '1' ) AND ifnull(bo.OUTSOURCED_ID,boai.OUTSOURCED_ID) IS NOT NULL + AND (bo.ISDELETE = '0' or boai.ISDELETE = '0') and f.ISPUNISH is null and ( bo.PUNISH_THE_PERSON LIKE CONCAT( CONCAT( '%', #{loginUserId} ), '%' ) @@ -1554,6 +1555,7 @@ AND f.STATE = '2' AND f.CREATOR = #{loginUserId} AND ifnull(bo.OUTSOURCED_ID,boai.OUTSOURCED_ID) IS NOT NULL + AND (bo.ISDELETE = '0' or boai.ISDELETE = '0') ) t)CF_COUNT from `qa-gwj-regulatory`.bus_aiwarning f where f.ISDELETE = '0' diff --git a/src/main/resources/mybatis/dsno2/keyProjects/OutSourcedMapper.xml b/src/main/resources/mybatis/dsno2/keyProjects/OutSourcedMapper.xml index 7f2e8852..05eb3bb8 100644 --- a/src/main/resources/mybatis/dsno2/keyProjects/OutSourcedMapper.xml +++ b/src/main/resources/mybatis/dsno2/keyProjects/OutSourcedMapper.xml @@ -295,16 +295,13 @@ b.UNITS_NAME as UNITS_NAME, isu.NAME as AIWARNING_PEOPLE, pci.NAME Q_COMPETENT_DEPT_NAME, - (select count(1) from `qa-gwj-prevention`.BUS_KEYPROJECTCHECK c where c.OUTSOURCED_ID = f.OUTSOURCED_ID) as CHECK_COUNT, + cc.co as CHECK_COUNT, (select count(1) from `qa-gwj-regulatory`.BUS_AIWARNING a left join bus_videomanager avid on avid.VIDEOMANAGER_ID = a.VIDEOMANAGER_ID where avid.OUTSOURCED_ID= f.OUTSOURCED_ID and a.ISDELETE = '0') as AI_COUNT, (select count(1) from `qa-gwj-regulatory`.BUS_VIDEOMANAGER v where v.OUTSOURCED_ID = f.OUTSOURCED_ID and v.ISDELETE = '0') as VIDEO_COUNT, (SELECT count( 1 ) FROM `qa-gwj-prevention`.BUS_KEYPROJECTPUNISH k left join `qa-gwj-prevention`.bus_keyprojectcheck kjc on kjc.KEYPROJECTCHECK_ID = k.KEYPROJECTCHECK_ID WHERE kjc.OUTSOURCED_ID =f.OUTSOURCED_ID AND k.ISDELETE = '0' ) as KEY_COUNT, vua.NAME OUTSOURCED_CREATOR_NAME, ifnull(vac.CORP_NAME,'秦港股份有限公司') CORP_NAME, p.`NAME` as UNITS_PIC_NAME - - ,ifnull(dbsl.co,0) as co - from f left join bus_units b using (UNITS_ID) @@ -315,25 +312,7 @@ LEFT JOIN `qa-gwj-prevention`.vi_user_all vua on f.CREATOR = vua.USER_ID LEFT JOIN `qa-gwj-regulatory`.vi_all_corp vac on vua.CORPINFO_ID = vac.CORPINFO_ID left join `qa-gwj-regulatory`.bus_personnelmanagement p on p.PERSONNELMANAGEMENT_ID = f.UNITS_PIC - -- 这个判断是隐患管理排序以及隐患管理的角标 - - left join (SELECT t.OUTSOURCED_ID,COUNT( distinct t.HIDDEN_ID) co FROM ( - SELECT - f.HIDDEN_ID,ifnull(bo.OUTSOURCED_ID,boai.OUTSOURCED_ID) OUTSOURCED_ID - FROM - `qa-gwj-prevention`.BUS_KEYPROJECT_HIDDEN f - LEFT JOIN `qa-gwj-prevention`.bus_keyprojectcheck keycheck ON keycheck.KEYPROJECTCHECK_ID = f.FOREIGN_ID - LEFT JOIN `qa-gwj-regulatory`.BUS_OUTSOURCED bo ON keycheck.OUTSOURCED_ID = bo.OUTSOURCED_ID - LEFT JOIN `qa-gwj-regulatory`.BUS_OUTSOURCED boai ON f.FOREIGN_ID = boai.OUTSOURCED_ID - LEFT JOIN `qa-gwj-prevention`.BUS_KEYPROJECTPUNISH pu ON pu.HIDDEN_ID = f.HIDDEN_ID - WHERE - f.ISDELETE = '0' - AND f.SOURCE IN ( '4', '5', '1' ) - AND f.STATE = '2' - AND f.CREATOR = #{pd.UserId} - AND ifnull(bo.OUTSOURCED_ID,boai.OUTSOURCED_ID) IS NOT NULL - ) t GROUP BY t.OUTSOURCED_ID ) dbsl on dbsl.OUTSOURCED_ID = f.OUTSOURCED_ID - + LEFT JOIN ( select count(c.KEYPROJECTCHECK_ID) co, c.OUTSOURCED_ID from `qa-gwj-prevention`.BUS_KEYPROJECTCHECK c where c.ISDELETE = '0' group by c.OUTSOURCED_ID ) cc on cc.OUTSOURCED_ID = f.OUTSOURCED_ID where f.ISDELETE = '0' and @@ -396,9 +375,7 @@ ) ORDER BY - - dbsl.co DESC, - + cc.co DESC, f.OPERATTIME DESC @@ -697,4 +674,127 @@ where OUTSOURCED_ID = #{OUTSOURCED_ID} + + + + From 63d831eba934a409b6cae9371ff2150304507cf7 Mon Sep 17 00:00:00 2001 From: zhaoyu Date: Mon, 18 Dec 2023 14:23:18 +0800 Subject: [PATCH 08/39] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A7=92=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../keyProjects/KeyprojectHiddenMapper.xml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml b/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml index ee2e4acf..022c4347 100644 --- a/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml +++ b/src/main/resources/mybatis/datasource/keyProjects/KeyprojectHiddenMapper.xml @@ -1556,7 +1556,20 @@ AND f.CREATOR = #{loginUserId} AND ifnull(bo.OUTSOURCED_ID,boai.OUTSOURCED_ID) IS NOT NULL AND (bo.ISDELETE = '0' or boai.ISDELETE = '0') - ) t)CF_COUNT + ) t)CF_COUNT, + (SELECT + COUNT( DISTINCT t.OUTSOURCED_ID ) +FROM + ( + SELECT + b.OUTSOURCED_ID + FROM + `qa-gwj-regulatory`.BUS_OUTSOURCED b + WHERE + b.ISDELETE = '0' + AND ( b.STATE = '-1' OR b.STATE = '-2' ) + AND b.CREATOR = #{loginUserId} + ) t) GC_COUNT from `qa-gwj-regulatory`.bus_aiwarning f where f.ISDELETE = '0' and f.STATUS = 0 From a0dcdb61d3ff40fa502be12ae19c9c2256efad03 Mon Sep 17 00:00:00 2001 From: liujun Date: Mon, 18 Dec 2023 18:54:50 +0800 Subject: [PATCH 09/39] =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=96=B9=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E5=8F=98=E9=9D=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/api/ApiXgfUserController.java | 39 +++ .../zcloud/controller/api/dto/XgfUserDto.java | 4 + .../controller/xgf/XgfUserController.java | 36 +++ .../datasource/xgf/XgfUserDetailsMapper.java | 58 ++++ .../mapper/datasource/xgf/XgfUserMapper.java | 58 ++++ .../zcloud/service/xgf/XgfUserService.java | 17 ++ .../service/xgf/impl/XgfUserServiceImpl.java | 71 +++++ .../datasource/xgf/XgfUserDetailsMapper.xml | 286 ++++++++++++++++++ .../mybatis/datasource/xgf/XgfUserMapper.xml | 150 +++++++++ 9 files changed, 719 insertions(+) create mode 100644 src/main/java/com/zcloud/controller/api/ApiXgfUserController.java create mode 100644 src/main/java/com/zcloud/controller/api/dto/XgfUserDto.java create mode 100644 src/main/java/com/zcloud/controller/xgf/XgfUserController.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserDetailsMapper.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java create mode 100644 src/main/java/com/zcloud/service/xgf/XgfUserService.java create mode 100644 src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java create mode 100644 src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml create mode 100644 src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml diff --git a/src/main/java/com/zcloud/controller/api/ApiXgfUserController.java b/src/main/java/com/zcloud/controller/api/ApiXgfUserController.java new file mode 100644 index 00000000..9ab58769 --- /dev/null +++ b/src/main/java/com/zcloud/controller/api/ApiXgfUserController.java @@ -0,0 +1,39 @@ +package com.zcloud.controller.api; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.PageData; +import com.zcloud.service.xgf.XgfUserService; +import com.zcloud.util.Warden; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Controller +@RequestMapping("/openApi/xfgUser") +public class ApiXgfUserController extends BaseController { + + @Resource + private XgfUserService xgfUserService; + + @RequestMapping(value = "/synchronizationUserInfo") + @ResponseBody + public Object synchronizationUserInfo() throws Exception { + try { + PageData request = this.getPageData(); + System.out.println(request.getString("infoList")); + List infoList = Warden.getList(request.getString("infoList")); + xgfUserService.init(request); + Map response = new HashMap(); + response.put("result", "response"); + return response; + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("系统异常"); + } + } +} diff --git a/src/main/java/com/zcloud/controller/api/dto/XgfUserDto.java b/src/main/java/com/zcloud/controller/api/dto/XgfUserDto.java new file mode 100644 index 00000000..60948602 --- /dev/null +++ b/src/main/java/com/zcloud/controller/api/dto/XgfUserDto.java @@ -0,0 +1,4 @@ +package com.zcloud.controller.api.dto; + +public class XgfUserDto { +} diff --git a/src/main/java/com/zcloud/controller/xgf/XgfUserController.java b/src/main/java/com/zcloud/controller/xgf/XgfUserController.java new file mode 100644 index 00000000..b71515a5 --- /dev/null +++ b/src/main/java/com/zcloud/controller/xgf/XgfUserController.java @@ -0,0 +1,36 @@ +package com.zcloud.controller.xgf; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.service.system.UsersService; +import com.zcloud.service.xgf.XgfUserService; +import com.zcloud.util.HttpClientService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +@Controller +@RequestMapping("/xgf/user") +public class XgfUserController extends BaseController { + + @Resource + private XgfUserService xgfUserService; + + @RequestMapping(value = "/list") + @ResponseBody + public Object getLevels(Page page) throws Exception { + PageData request = this.getPageData(); + page.setPd(request); + xgfUserService.list(page); + PageData response = new PageData(); + response.put("result", "success"); + response.put("page", page); + response.put("data", request); + return response; + } +} diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserDetailsMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserDetailsMapper.java new file mode 100644 index 00000000..9ac6f5d0 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserDetailsMapper.java @@ -0,0 +1,58 @@ +package com.zcloud.mapper.datasource.xgf; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +public interface XgfUserDetailsMapper { + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**批量删除 + * @param pd + * @throws Exception + */ + void deleteAll(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + /**列表 + * @param page + * @throws Exception + */ + List listPage(Page page); + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + + /**列表(根据多选ID查询数据) + * @param pd + * @throws Exception + */ + public List listByIds(PageData pd); + +} diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java new file mode 100644 index 00000000..f6edc42e --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java @@ -0,0 +1,58 @@ +package com.zcloud.mapper.datasource.xgf; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +public interface XgfUserMapper { + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**批量删除 + * @param pd + * @throws Exception + */ + void deleteAll(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + /**列表 + * @param page + * @throws Exception + */ + List listPage(Page page); + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + + /**列表(根据多选ID查询数据) + * @param pd + * @throws Exception + */ + public List listByIds(PageData pd); + +} diff --git a/src/main/java/com/zcloud/service/xgf/XgfUserService.java b/src/main/java/com/zcloud/service/xgf/XgfUserService.java new file mode 100644 index 00000000..1148c58d --- /dev/null +++ b/src/main/java/com/zcloud/service/xgf/XgfUserService.java @@ -0,0 +1,17 @@ +package com.zcloud.service.xgf; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +public interface XgfUserService { + + void save(PageData pd) throws Exception; + + void saveDetail(PageData pd) throws Exception; + + List list(Page page) throws Exception; + + void init(PageData request); +} diff --git a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java new file mode 100644 index 00000000..9cbbd1bf --- /dev/null +++ b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java @@ -0,0 +1,71 @@ +package com.zcloud.service.xgf.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.xgf.XgfUserDetailsMapper; +import com.zcloud.mapper.datasource.xgf.XgfUserMapper; +import com.zcloud.service.xgf.XgfUserService; +import com.zcloud.util.Warden; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class XgfUserServiceImpl implements XgfUserService { + + @Resource + private XgfUserMapper xgfUserMapper; + + @Resource + private XgfUserDetailsMapper xgfUserDetailsMapper; + + @Override + public void save(PageData pd) throws Exception { + xgfUserMapper.save(pd); + } + + @Override + public void saveDetail(PageData pd) throws Exception { + xgfUserDetailsMapper.save(pd); + } + + @Override + public List list(Page page) throws Exception { + return xgfUserDetailsMapper.listPage(page); + } + + @Override + @Transactional + public void init(PageData request) { + List list = Warden.getList(request.getString("infoList")); + for (PageData x : list) { + try { + PageData condition = new PageData(); + if (StringUtils.isNotBlank(x.getString("USER_ID"))) { + condition.put("USER_ID", x.getString("USER_ID")); + PageData entity = xgfUserMapper.findById(condition); + if (entity == null || entity.size() <= 0) { + x.put("XGF_USER_ID", x.get("USER_ID")); + x.put("XGF_USER_DETAILS_ID", x.get("XGF_USER_ID")); + x.put("ISDELETE","0"); + xgfUserMapper.save(x); + xgfUserDetailsMapper.save(x); + } else { + x.put("XGF_USER_ID", x.get("USER_ID")); + x.put("XGF_USER_DETAILS_ID", x.get("XGF_USER_ID")); + x.put("ISDELETE","0"); + xgfUserMapper.edit(x); + xgfUserDetailsMapper.edit(x); + } + } + + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("保存数据失败"); + } + } + } +} diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml new file mode 100644 index 00000000..66ab9833 --- /dev/null +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml @@ -0,0 +1,286 @@ + + + + + + + XGF_USER_DETAILS + + + + + f.XFG_USER_DETAILS_ID, + f.XGF_USER_ID, + f.XGF_USER_NAME, + f.BELONG_TO_CORP, + f.BELONG_TO_CORP_NAME, + f.PHONE, + f.CREAT_TIME, + f.DEPART_STATE, + f.ISDELETE, + f.AGE, + f.HKLOCAL, + f.ADDRESS, + f.DEGREE_OF_EDUCATION, + f.DEGREE_OF_EDUCATION_NAME, + f.CORP_START_DATE, + f.POST_ID, + f.POST_NAME, + f.WORK_SIGN, + f.JOINED_DATE, + f.WORK_DATE, + f.PHOTO, + f.DATE_OF_BIRTH, + f.ISPAY, + f.ISPAY_NUMBER, + f.IS_SAFETY_TELL, + f.IS_SAFETY_TIME, + f.IS_INJURIES_PAY, + f.IS_SIGN_LABOR, + f.SEX, + f.ENTRY_DATE, + f.PERSON_WORK_TYPE, + f.PERSON_WORK_TYPE_NAME, + f.NATIONALITY, + f.NATIONALITY_NAME, + f.POLITICAL_TIME, + f.POLITICAL_STATUS, + f.POLITICAL_STATUS_NAME, + f.IS_INJURIES_PAY_TIME, + f.IS_LEVEL_THREE, + f.IS_BODY_ADAPT, + f.IS_SPECIAL_JOB, + f.CORPINFO_ID + + + + + XFG_USER_DETAILS_ID, + XGF_USER_ID, + XGF_USER_NAME, + BELONG_TO_CORP, + BELONG_TO_CORP_NAME, + PHONE, + CREAT_TIME, + DEPART_STATE, + ISDELETE, + AGE, + HKLOCAL, + ADDRESS, + DEGREE_OF_EDUCATION, + DEGREE_OF_EDUCATION_NAME, + CORP_START_DATE, + POST_ID, + POST_NAME, + WORK_SIGN, + JOINED_DATE, + WORK_DATE, + PHOTO, + DATE_OF_BIRTH, + ISPAY, + ISPAY_NUMBER, + IS_SAFETY_TELL, + IS_SAFETY_TIME, + IS_INJURIES_PAY, + IS_SIGN_LABOR, + SEX, + ENTRY_DATE, + PERSON_WORK_TYPE, + PERSON_WORK_TYPE_NAME, + NATIONALITY, + NATIONALITY_NAME, + POLITICAL_TIME, + POLITICAL_STATUS, + POLITICAL_STATUS_NAME, + IS_INJURIES_PAY_TIME, + IS_LEVEL_THREE, + IS_BODY_ADAPT, + IS_SPECIAL_JOB, + CORPINFO_ID + + + + + #{XFG_USER_DETAILS_ID} + , + #{XGF_USER_ID}, + #{XGF_USER_NAME}, + #{BELONG_TO_CORP}, + #{BELONG_TO_CORP_NAME}, + #{PHONE}, + #{CREAT_TIME}, + #{DEPART_STATE}, + #{ISDELETE}, + #{AGE}, + #{HKLOCAL}, + #{ADDRESS}, + #{DEGREE_OF_EDUCATION}, + #{DEGREE_OF_EDUCATION_NAME}, + #{CORP_START_DATE}, + #{POST_ID}, + #{POST_NAME}, + #{WORK_SIGN}, + #{JOINED_DATE}, + #{WORK_DATE}, + #{PHOTO}, + #{DATE_OF_BIRTH}, + #{ISPAY}, + #{ISPAY_NUMBER}, + #{IS_SAFETY_TELL}, + #{IS_SAFETY_TIME}, + #{IS_INJURIES_PAY}, + #{IS_SIGN_LABOR}, + #{SEX}, + #{ENTRY_DATE}, + #{PERSON_WORK_TYPE}, + #{PERSON_WORK_TYPE_NAME}, + #{NATIONALITY}, + #{NATIONALITY_NAME}, + #{POLITICAL_TIME}, + #{POLITICAL_STATUS}, + #{POLITICAL_STATUS_NAME}, + #{IS_INJURIES_PAY_TIME}, + #{IS_LEVEL_THREE}, + #{IS_BODY_ADAPT}, + #{IS_SPECIAL_JOB}, + #{CORPINFO_ID} + + + + + insert into + + ( + + ) values ( + + ) + + + + + update + + set + ISDELETE = '1' + where + XGF_USER_ID = #{XGF_USER_ID} + + + + + update + + set + XFG_USER_DETAILS_ID = #{XFG_USER_DETAILS_ID}, + XGF_USER_ID = #{XGF_USER_ID}, + XGF_USER_NAME = #{XGF_USER_NAME}, + BELONG_TO_CORP = #{BELONG_TO_CORP}, + BELONG_TO_CORP_NAME = #{BELONG_TO_CORP_NAME}, + PHONE = #{PHONE}, + CREAT_TIME = #{CREAT_TIME}, + DEPART_STATE = #{DEPART_STATE}, + ISDELETE = #{ISDELETE}, + AGE = #{AGE}, + HKLOCAL = #{HKLOCAL}, + ADDRESS = #{ADDRESS}, + DEGREE_OF_EDUCATION = #{DEGREE_OF_EDUCATION},}, + DEGREE_OF_EDUCATION_NAME = #{DEGREE_OF_EDUCATION_NAME}, + CORP_START_DATE = #{CORP_START_DATE}, + POST_ID = #{POST_ID}, + POST_NAME = #{POST_NAME}, + WORK_SIGN = #{WORK_SIGN}, + JOINED_DATE = #{JOINED_DATE}, + WORK_DATE = #{WORK_DATE}, + PHOTO = #{PHOTO}, + DATE_OF_BIRTH = #{DATE_OF_BIRTH}, + ISPAY = #{ISPAY}, + ISPAY_NUMBER = #{ISPAY_NUMBER}, + IS_SAFETY_TELL = #{IS_SAFETY_TELL}, + IS_SAFETY_TIME = #{IS_SAFETY_TIME}, + IS_INJURIES_PAY = #{IS_INJURIES_PAY}, + IS_SIGN_LABOR = #{IS_SIGN_LABOR}, + SEX = #{SEX}, + ENTRY_DATE = #{ENTRY_DATE}, + PERSON_WORK_TYPE = #{PERSON_WORK_TYPE}, + PERSON_WORK_TYPE_NAME = #{PERSON_WORK_TYPE_NAME}, + NATIONALITY = #{NATIONALITY}, + NATIONALITY_NAME = #{NATIONALITY_NAME}, + POLITICAL_TIME = #{POLITICAL_TIME}, + POLITICAL_STATUS = #{POLITICAL_STATUS}, + POLITICAL_STATUS_NAME = #{POLITICAL_STATUS_NAME}, + IS_INJURIES_PAY_TIME = #{IS_INJURIES_PAY_TIME}, + IS_LEVEL_THREE = #{IS_LEVEL_THREE}, + IS_BODY_ADAPT = #{IS_BODY_ADAPT}, + IS_SPECIAL_JOB = #{IS_SPECIAL_JOB}, + CORPINFO_ID = #{CORPINFO_ID} + where + XFG_USER_DETAILS_ID = #{XFG_USER_DETAILS_ID} + + + + + + + + + + + + + + update + + set + ISDELETE = '1', + OPERATOR = #{OPERATOR}, + OPERATTIME = #{OPERATTIME} + where + XFG_USER_DETAILS_ID in + + #{item} + + + + + + + diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml new file mode 100644 index 00000000..c723207c --- /dev/null +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml @@ -0,0 +1,150 @@ + + + + + + + XGF_USER + + + + + f.XGF_USER_ID, + f.USERNAME, + f.NAME, + f.VALID_FLAG, + f.BELONG_TO_CORP, + f.BELONG_TO_CORP_NAME, + f.ISDELETE, + f.CREATED_TIME, + f.CORPINFO_ID + + + + + XGF_USER_ID, + USERNAME, + NAME, + VALID_FLAG, + BELONG_TO_CORP, + BELONG_TO_CORP_NAME, + ISDELETE, + CREATED_TIME, + CORPINFO_ID + + + + + #{XGF_USER_ID}, + #{USERNAME}, + #{NAME}, + #{VALID_FLAG}, + #{BELONG_TO_CORP}, + #{BELONG_TO_CORP_NAME}, + #{ISDELETE}, + #{CREATED_TIME}, + #{CORPINFO_ID} + + + + + insert into + + ( + + ) values ( + + ) + + + + + update + + set + ISDELETE = '1' + where + XGF_USER_ID = #{XGF_USER_ID} + + + + + update + + set + USERNAME = #{USERNAME}, + NAME = #{NAME}, + VALID_FLAG = #{VALID_FLAG}, + BELONG_TO_CORP = #{BELONG_TO_CORP}, + BELONG_TO_CORP_NAME = #{BELONG_TO_CORP_NAME}, + ISDELETE = #{ISDELETE}, + CREATED_TIME = #{CREATED_TIME}, + CORPINFO_ID = #{CORPINFO_ID} + where + XGF_USER_ID = #{XGF_USER_ID} + + + + + + + + + + + + + + update + + set + ISDELETE = '1', + OPERATOR = #{OPERATOR}, + OPERATTIME = #{OPERATTIME} + where + SPECIALEQUIPMENT_ID in + + #{item} + + + + + + + From cfb4c2dd8e33e00814367a86a788448272a64e9f Mon Sep 17 00:00:00 2001 From: liujun Date: Mon, 18 Dec 2023 19:58:52 +0800 Subject: [PATCH 10/39] =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=96=B9=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E5=8F=98=E9=9D=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/api/ApiXgfUserController.java | 16 +++++++++- .../mapper/datasource/xgf/XgfUserMapper.java | 1 - .../zcloud/service/xgf/XgfUserService.java | 2 ++ .../service/xgf/impl/XgfUserServiceImpl.java | 32 +++++++++++++++++-- .../datasource/xgf/XgfUserDetailsMapper.xml | 13 ++++---- .../mybatis/datasource/xgf/XgfUserMapper.xml | 18 ++++++++--- 6 files changed, 65 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zcloud/controller/api/ApiXgfUserController.java b/src/main/java/com/zcloud/controller/api/ApiXgfUserController.java index 9ab58769..6cbe7b7d 100644 --- a/src/main/java/com/zcloud/controller/api/ApiXgfUserController.java +++ b/src/main/java/com/zcloud/controller/api/ApiXgfUserController.java @@ -25,7 +25,6 @@ public class ApiXgfUserController extends BaseController { public Object synchronizationUserInfo() throws Exception { try { PageData request = this.getPageData(); - System.out.println(request.getString("infoList")); List infoList = Warden.getList(request.getString("infoList")); xgfUserService.init(request); Map response = new HashMap(); @@ -36,4 +35,19 @@ public class ApiXgfUserController extends BaseController { throw new RuntimeException("系统异常"); } } + + @RequestMapping(value = "/approvalApplication") + @ResponseBody + public Object approvalApplication() throws Exception{ + try { + PageData request = this.getPageData(); + xgfUserService.approvalApplication(request); + Map response = new HashMap(); + response.put("result", "response"); + return response; + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("系统异常"); + } + } } diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java index f6edc42e..869d1efe 100644 --- a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java @@ -54,5 +54,4 @@ public interface XgfUserMapper { * @throws Exception */ public List listByIds(PageData pd); - } diff --git a/src/main/java/com/zcloud/service/xgf/XgfUserService.java b/src/main/java/com/zcloud/service/xgf/XgfUserService.java index 1148c58d..95dd7356 100644 --- a/src/main/java/com/zcloud/service/xgf/XgfUserService.java +++ b/src/main/java/com/zcloud/service/xgf/XgfUserService.java @@ -14,4 +14,6 @@ public interface XgfUserService { List list(Page page) throws Exception; void init(PageData request); + + void approvalApplication(PageData request) throws Exception; } diff --git a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java index 9cbbd1bf..4a028a93 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java @@ -5,12 +5,14 @@ import com.zcloud.entity.PageData; import com.zcloud.mapper.datasource.xgf.XgfUserDetailsMapper; import com.zcloud.mapper.datasource.xgf.XgfUserMapper; import com.zcloud.service.xgf.XgfUserService; +import com.zcloud.util.DateUtil; import com.zcloud.util.Warden; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Arrays; import java.util.List; @Service @@ -45,18 +47,23 @@ public class XgfUserServiceImpl implements XgfUserService { try { PageData condition = new PageData(); if (StringUtils.isNotBlank(x.getString("USER_ID"))) { - condition.put("USER_ID", x.getString("USER_ID")); + condition.put("XGF_USER_ID", x.getString("USER_ID")); PageData entity = xgfUserMapper.findById(condition); if (entity == null || entity.size() <= 0) { x.put("XGF_USER_ID", x.get("USER_ID")); - x.put("XGF_USER_DETAILS_ID", x.get("XGF_USER_ID")); + x.put("XGF_USER_DETAILS_ID", x.get("USER_ID")); x.put("ISDELETE","0"); + x.put("VALID_FLAG","1"); + x.put("STATUS","2"); + x.put("CREATED_TIME", DateUtil.getTime()); + x.put("OPERATOR_TIME",DateUtil.getTime()); xgfUserMapper.save(x); xgfUserDetailsMapper.save(x); } else { x.put("XGF_USER_ID", x.get("USER_ID")); - x.put("XGF_USER_DETAILS_ID", x.get("XGF_USER_ID")); + x.put("XFG_USER_DETAILS_ID", x.get("USER_ID")); x.put("ISDELETE","0"); + x.put("OPERATOR_TIME",DateUtil.getTime()); xgfUserMapper.edit(x); xgfUserDetailsMapper.edit(x); } @@ -68,4 +75,23 @@ public class XgfUserServiceImpl implements XgfUserService { } } } + + @Override + public void approvalApplication(PageData request) throws Exception { + List list = Arrays.asList(request.getString("xgf_user_ids").split(",")) ; + + PageData condition = new PageData(); + condition.put("XGF_USER_IDS", list); + List entities = xgfUserMapper.listByIds(condition); + for (PageData x : entities) { + x.put("VALID_FLAG","0"); + x.put("STATUS","1"); + xgfUserMapper.edit(x); + } + PageData pd = new PageData(); + pd.put("XGF_USER_ID", request.getString("XGF_USER_ID")); + pd.put("ISDELETE", "1"); + xgfUserMapper.edit(pd); + xgfUserDetailsMapper.edit(pd); + } } diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml index 66ab9833..57865957 100644 --- a/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml @@ -9,7 +9,7 @@ - f.XFG_USER_DETAILS_ID, + f.XGF_USER_DETAILS_ID, f.XGF_USER_ID, f.XGF_USER_NAME, f.BELONG_TO_CORP, @@ -55,7 +55,7 @@ - XFG_USER_DETAILS_ID, + XGF_USER_DETAILS_ID, XGF_USER_ID, XGF_USER_NAME, BELONG_TO_CORP, @@ -101,8 +101,7 @@ - #{XFG_USER_DETAILS_ID} - , + #{XGF_USER_DETAILS_ID}, #{XGF_USER_ID}, #{XGF_USER_NAME}, #{BELONG_TO_CORP}, @@ -172,7 +171,7 @@ update set - XFG_USER_DETAILS_ID = #{XFG_USER_DETAILS_ID}, + XGF_USER_DETAILS_ID = #{XGF_USER_DETAILS_ID}, XGF_USER_ID = #{XGF_USER_ID}, XGF_USER_NAME = #{XGF_USER_NAME}, BELONG_TO_CORP = #{BELONG_TO_CORP}, @@ -184,7 +183,7 @@ AGE = #{AGE}, HKLOCAL = #{HKLOCAL}, ADDRESS = #{ADDRESS}, - DEGREE_OF_EDUCATION = #{DEGREE_OF_EDUCATION},}, + DEGREE_OF_EDUCATION = #{DEGREE_OF_EDUCATION}, DEGREE_OF_EDUCATION_NAME = #{DEGREE_OF_EDUCATION_NAME}, CORP_START_DATE = #{CORP_START_DATE}, POST_ID = #{POST_ID}, @@ -215,7 +214,7 @@ IS_SPECIAL_JOB = #{IS_SPECIAL_JOB}, CORPINFO_ID = #{CORPINFO_ID} where - XFG_USER_DETAILS_ID = #{XFG_USER_DETAILS_ID} + XGF_USER_DETAILS_ID = #{XGF_USER_DETAILS_ID} diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml index c723207c..0dbafc9c 100644 --- a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml @@ -17,7 +17,9 @@ f.BELONG_TO_CORP_NAME, f.ISDELETE, f.CREATED_TIME, - f.CORPINFO_ID + f.CORPINFO_ID, + f.STATUS, + f.OPERATOR_TIME @@ -30,7 +32,9 @@ BELONG_TO_CORP_NAME, ISDELETE, CREATED_TIME, - CORPINFO_ID + CORPINFO_ID, + STATUS, + OPERATOR_TIME @@ -43,7 +47,9 @@ #{BELONG_TO_CORP_NAME}, #{ISDELETE}, #{CREATED_TIME}, - #{CORPINFO_ID} + #{CORPINFO_ID}, + #{STATUS}, + #{OPERATOR_TIME} @@ -79,7 +85,9 @@ BELONG_TO_CORP_NAME = #{BELONG_TO_CORP_NAME}, ISDELETE = #{ISDELETE}, CREATED_TIME = #{CREATED_TIME}, - CORPINFO_ID = #{CORPINFO_ID} + CORPINFO_ID = #{CORPINFO_ID}, + STATUS = #{STATUS}, + OPERATOR_TIME = #{OPERATOR_TIME} where XGF_USER_ID = #{XGF_USER_ID} @@ -142,7 +150,7 @@ f where f.ISDELETE = '0' and XGF_USER_ID in - + #{item} From 6d497732422a94b13ed8cf3029484564f017ad0a Mon Sep 17 00:00:00 2001 From: liujun Date: Mon, 18 Dec 2023 20:24:02 +0800 Subject: [PATCH 11/39] =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=96=B9=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E5=8F=98=E9=9D=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/xgf/TrainUsersController.java | 230 +++++++++ .../xgf/TrainingBatchController.java | 400 +++++++++++++++ .../datasource/xgf/FlowDetailMapper.java | 16 + .../mapper/datasource/xgf/FlowMapper.java | 16 + .../datasource/xgf/TrainUsersMapper.java | 129 +++++ .../datasource/xgf/TrainingBatchMapper.java | 78 +++ .../mapper/datasource/xgf/XgfUserMapper.java | 10 + .../zcloud/service/xgf/TrainUsersService.java | 99 ++++ .../service/xgf/TrainingBatchService.java | 91 ++++ .../xgf/impl/TrainUsersServiceImpl.java | 305 +++++++++++ .../xgf/impl/TrainingBatchServiceImpl.java | 341 +++++++++++++ .../datasource/xgf/FlowDetailMapper.xml | 132 +++++ .../mybatis/datasource/xgf/FlowMapper.xml | 91 ++++ .../datasource/xgf/TrainUsersMapper.xml | 482 ++++++++++++++++++ .../datasource/xgf/TrainingBatchMapper.xml | 421 +++++++++++++++ .../mybatis/datasource/xgf/XgfUserMapper.xml | 34 ++ 16 files changed, 2875 insertions(+) create mode 100644 src/main/java/com/zcloud/controller/xgf/TrainUsersController.java create mode 100644 src/main/java/com/zcloud/controller/xgf/TrainingBatchController.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/xgf/FlowDetailMapper.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/xgf/FlowMapper.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/xgf/TrainUsersMapper.java create mode 100644 src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java create mode 100644 src/main/java/com/zcloud/service/xgf/TrainUsersService.java create mode 100644 src/main/java/com/zcloud/service/xgf/TrainingBatchService.java create mode 100644 src/main/java/com/zcloud/service/xgf/impl/TrainUsersServiceImpl.java create mode 100644 src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java create mode 100644 src/main/resources/mybatis/datasource/xgf/FlowDetailMapper.xml create mode 100644 src/main/resources/mybatis/datasource/xgf/FlowMapper.xml create mode 100644 src/main/resources/mybatis/datasource/xgf/TrainUsersMapper.xml create mode 100644 src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml diff --git a/src/main/java/com/zcloud/controller/xgf/TrainUsersController.java b/src/main/java/com/zcloud/controller/xgf/TrainUsersController.java new file mode 100644 index 00000000..450e6f57 --- /dev/null +++ b/src/main/java/com/zcloud/controller/xgf/TrainUsersController.java @@ -0,0 +1,230 @@ +package com.zcloud.controller.xgf; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.service.xgf.TrainUsersService; +import com.zcloud.util.ObjectExcelView; +import com.zcloud.util.Tools; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 说明:原来: 现在入场告知培训 + * 作者:luoxiaobao + * 时间:2023-09-27 + * 官网:www.zcloudchina.com + */ +@Controller +@RequestMapping("/trainusers") +public class TrainUsersController extends BaseController { + + @Autowired + private TrainUsersService trainusersService; + + /**新增 + * @param + * @throws Exception + */ + @RequestMapping(value="/add") + @RequiresPermissions("trainusers:add") + @ResponseBody + public Object add() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("TRAINUSERS_ID", this.get32UUID()); //主键 + pd.put("STEP_STATUS", "0"); + trainusersService.save(pd); + map.put("result", errInfo); + return map; + } + + /**删除 + * @param out + * @throws Exception + */ + @RequestMapping(value="/delete") + @RequiresPermissions("trainusers:del") + @ResponseBody + public Object delete() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + trainusersService.delete(pd); + map.put("result", errInfo); //返回结果 + return map; + } + + /**修改 + * @param + * @throws Exception + */ + @RequestMapping(value="/edit") + @RequiresPermissions("trainusers:edit") + @ResponseBody + public Object edit() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + trainusersService.edit(pd); + map.put("result", errInfo); + return map; + } + + /**列表 + * @param page + * @throws Exception + */ + @RequestMapping(value="/list") + @RequiresPermissions("trainusers:list") + @ResponseBody + public Object list(Page page) throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim()); + page.setPd(pd); + List varList = trainusersService.list(page); //列出TrainUsers列表 + map.put("varList", varList); + map.put("page", page); + map.put("result", errInfo); + return map; + } + + /**去修改页面获取数据 + * @param + * @throws Exception + */ + @RequestMapping(value="/goEdit") + @RequiresPermissions("trainusers:edit") + @ResponseBody + public Object goEdit() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd = trainusersService.findById(pd); //根据ID读取 + map.put("pd", pd); + map.put("result", errInfo); + return map; + } + + /**批量删除 + * @param + * @throws Exception + */ + @RequestMapping(value="/deleteAll") + @RequiresPermissions("trainusers:del") + @ResponseBody + public Object deleteAll() throws Exception{ + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + String DATA_IDS = pd.getString("DATA_IDS"); + if(Tools.notEmpty(DATA_IDS)){ + String ArrayDATA_IDS[] = DATA_IDS.split(","); + trainusersService.deleteAll(ArrayDATA_IDS); + errInfo = "success"; + }else{ + errInfo = "error"; + } + map.put("result", errInfo); //返回结果 + return map; + } + + /**导出到excel + * @param + * @throws Exception + */ + @RequestMapping(value="/excel") + @RequiresPermissions("toExcel") + public ModelAndView exportExcel() throws Exception{ + ModelAndView mv = new ModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + Map dataMap = new HashMap(); + List titles = new ArrayList(); + titles.add("备注1"); //1 + titles.add("培训批次"); //2 + titles.add("用户ID"); //3 + titles.add("培训开始时间"); //4 + titles.add("培训结束时间"); //5 + titles.add("培训状态0未培训1培训中2培训通过-1培训未通过"); //6 + titles.add("培训企业"); //7 + titles.add("流动类型"); //8 + titles.add("安全监督部"); //9 + titles.add("主管部门"); //10 + titles.add("主管部门审批状态"); //11 + titles.add("主管部门审批意见"); //12 + titles.add("管理部门审批状态"); //13 + titles.add("管理部门审批意见"); //14 + dataMap.put("titles", titles); + List varOList = trainusersService.listAll(pd); + List varList = new ArrayList(); + for(int i=0;i map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + trainusersService.approveUser(pd); + map.put("result", errInfo); + return map; + } + @RequestMapping(value = "/getUserinfoList") + @ResponseBody + public Object getUserinfoList() throws Exception { + Map map = new HashMap<>(); + PageData pd = new PageData(); + pd = this.getPageData(); + List list = trainusersService.findinfoByCondition(pd); + map.put("list", list); + map.put("result", "success"); + return map; + } + +} diff --git a/src/main/java/com/zcloud/controller/xgf/TrainingBatchController.java b/src/main/java/com/zcloud/controller/xgf/TrainingBatchController.java new file mode 100644 index 00000000..98beb39a --- /dev/null +++ b/src/main/java/com/zcloud/controller/xgf/TrainingBatchController.java @@ -0,0 +1,400 @@ +package com.zcloud.controller.xgf; + +import com.alibaba.fastjson.JSONObject; +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.service.system.UsersService; +import com.zcloud.service.xgf.TrainingBatchService; +import com.zcloud.util.*; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import java.util.*; + +/** + * 说明:培训批次管理 + * 作者:luoxiaobao + * 时间:2023-05-08 + * 官网:www.zcloudchina.com + */ +@Controller +@RequestMapping("/trainingbatch") +public class TrainingBatchController extends BaseController { + + @Autowired + private TrainingBatchService trainingbatchService; + + @Autowired + private UsersService usersService; + + @Value("${prevention.api.url}") + private String preventionUrl; + + /** + * 新增 + * + * @param + * @throws Exception + */ + @RequestMapping(value = "/add") + @RequiresPermissions("trainingbatch:add") + @ResponseBody + public Object add() throws Exception { + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + trainingbatchService.save(pd); + map.put("result", errInfo); + return map; + } + + /** + * 删除 + * + * @param out + * @throws Exception + */ + @RequestMapping(value = "/delete") + @RequiresPermissions("trainingbatch:del") + @ResponseBody + public Object delete() throws Exception { + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + trainingbatchService.delete(pd); + map.put("result", errInfo); //返回结果 + return map; + } + + /** + * 修改 + * + * @param + * @throws Exception + */ + @RequestMapping(value = "/edit") + @RequiresPermissions("trainingbatch:edit") + @ResponseBody + public Object edit() throws Exception { + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + trainingbatchService.edit(pd); + map.put("result", errInfo); + return map; + } + + /** + * 列表 + * + * @param page + * @throws Exception + */ + @RequestMapping(value = "/list") + @RequiresPermissions("trainingbatch:list") + @ResponseBody + public Object list(Page page) throws Exception { + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim()); + page.setPd(pd); + List varList = trainingbatchService.list(page); //列出TrainingBatch列表 + for (PageData x : varList) { + PageData condition = new PageData(); + condition.put("USER_ID", x.getString("SUPERVISION_USER_ID")); + Map result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); + if (result != null) { + x.put("SUPERVISION_USER_NAME", result.get("NAME")); + } + condition.clear(); + condition.put("DEPARTMENT_ID", x.getString("SUPERVISION")); + result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); + if (result != null) { + x.put("SUPERVISION_DEPT_NAME", result.get("NAME")); + } + + condition.clear(); + condition.put("USER_ID", x.getString("MANAGER_USER_ID")); + result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); + if (result != null) { + x.put("MANAGER_USER_NAME", result.get("NAME")); + } + condition.clear(); + condition.put("DEPARTMENT_ID", x.getString("MANAGER")); + result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); + if (result != null) { + x.put("MANAGER_DEPT_NAME", result.get("NAME")); + } + + condition.clear(); + condition.put("USER_ID", x.getString("TERRITORIALITY_USER_ID")); + result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); + if (result != null) { + x.put("ERRITORIALITY_USER_NAME", result.get("NAME")); + } + condition.clear(); + condition.put("DEPARTMENT_ID", x.getString("TERRITORIALITY")); + result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); + if (result != null) { + x.put("ERRITORIALITY_DEPT_NAME", result.get("NAME")); + } + } + map.put("varList", varList); + map.put("page", page); + map.put("result", errInfo); + return map; + } + + /** + * 列表 + * + * @param page + * @throws Exception + */ + @RequestMapping(value = "/userList") + @RequiresPermissions("trainingbatch:list") + @ResponseBody + public Object userList(Page page) throws Exception { + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim()); + page.setPd(pd); + List varList = usersService.flowlistPage(page); //列出TrainingBatch列表 + map.put("varList", varList); + map.put("page", page); + map.put("result", errInfo); + return map; + } + + /** + * 列表 + * + * @param page + * @throws Exception + */ + @RequestMapping(value = "/batchUserList") + @RequiresPermissions("trainingbatch:list") + @ResponseBody + public Object batchUserList(Page page) throws Exception { + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim()); + page.setPd(pd); + List varList = trainingbatchService.batchUserlistPage(page); //列出TrainingBatch列表 + + for (PageData x : varList) { + PageData condition = new PageData(); + condition.put("USER_ID", x.getString("SUPERVISION_USER_ID")); + Map result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); + if (result != null) { + x.put("SUPERVISION_USER_NAME", result.get("NAME")); + } + condition.clear(); + condition.put("DEPARTMENT_ID", x.getString("SUPERVISION")); + result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); + if (result != null) { + x.put("SUPERVISION_DEPT_NAME", result.get("NAME")); + } + + condition.clear(); + condition.put("USER_ID", x.getString("MANAGER_USER_ID")); + result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); + if (result != null) { + x.put("MANAGER_USER_NAME", result.get("NAME")); + } + condition.clear(); + condition.put("DEPARTMENT_ID", x.getString("MANAGER")); + result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); + if (result != null) { + x.put("MANAGER_DEPT_NAME", result.get("NAME")); + } + + condition.clear(); + condition.put("USER_ID", x.getString("TERRITORIALITY_USER_ID")); + result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); + if (result != null) { + x.put("ERRITORIALITY_USER_NAME", result.get("NAME")); + } + condition.clear(); + condition.put("DEPARTMENT_ID", x.getString("TERRITORIALITY")); + result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); + if (result != null) { + x.put("ERRITORIALITY_DEPT_NAME", result.get("NAME")); + } + } + map.put("varList", varList); + map.put("page", page); + map.put("result", errInfo); + return map; + } + + /** + * 去修改页面获取数据 + * + * @param + * @throws Exception + */ + @RequestMapping(value = "/goEdit") + @RequiresPermissions("trainingbatch:edit") + @ResponseBody + public Object goEdit() throws Exception { + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + pd = trainingbatchService.findById(pd); //根据ID读取 + map.put("pd", pd); + map.put("result", errInfo); + return map; + } + + /** + * 批量删除 + * + * @param + * @throws Exception + */ + @RequestMapping(value = "/deleteAll") + @RequiresPermissions("trainingbatch:del") + @ResponseBody + public Object deleteAll() throws Exception { + Map map = new HashMap(); + String errInfo = "success"; + PageData pd = new PageData(); + pd = this.getPageData(); + String DATA_IDS = pd.getString("DATA_IDS"); + if (Tools.notEmpty(DATA_IDS)) { + String ArrayDATA_IDS[] = DATA_IDS.split(","); + trainingbatchService.deleteAll(ArrayDATA_IDS); + errInfo = "success"; + } else { + errInfo = "error"; + } + map.put("result", errInfo); //返回结果 + return map; + } + + /** + * 导出到excel + * + * @param + * @throws Exception + */ + @RequestMapping(value = "/excel") + @RequiresPermissions("toExcel") + public ModelAndView exportExcel() throws Exception { + ModelAndView mv = new ModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + Map dataMap = new HashMap(); + List titles = new ArrayList(); + titles.add("创建人"); //1 + titles.add("创建时间"); //2 + titles.add("修改人"); //3 + titles.add("修改时间"); //4 + titles.add("是否删除"); //5 + titles.add("批次名称"); //6 + titles.add("所属企业"); //7 + titles.add("培训人数"); //8 + titles.add("培训企业"); //9 + dataMap.put("titles", titles); + List varOList = trainingbatchService.listAll(pd); + List varList = new ArrayList(); + for (int i = 0; i < varOList.size(); i++) { + PageData vpd = new PageData(); + vpd.put("var1", varOList.get(i).getString("CREATOR")); //1 + vpd.put("var2", varOList.get(i).getString("CREATTIME")); //2 + vpd.put("var3", varOList.get(i).getString("OPERATOR")); //3 + vpd.put("var4", varOList.get(i).getString("OPERATTIME")); //4 + vpd.put("var5", varOList.get(i).get("ISDELETE").toString()); //5 + vpd.put("var6", varOList.get(i).getString("BATCH_NAME")); //6 + vpd.put("var7", varOList.get(i).getString("CORPINFO_ID")); //7 + vpd.put("var8", varOList.get(i).get("USER_COUNT").toString()); //8 + vpd.put("var9", varOList.get(i).getString("TRAIN_CORP_DEPT")); //9 + varList.add(vpd); + } + dataMap.put("varList", varList); + ObjectExcelView erv = new ObjectExcelView(); + mv = new ModelAndView(erv, dataMap); + return mv; + } + + @RequestMapping(value = "/sendMessage") + @ResponseBody + @Transactional + public Object sendMessage() throws Exception { + PageData request = this.getPageData(); + List list = Warden.getList(request.getString("list")); + List userList = new ArrayList<>(); + for (PageData x : list) { + PageData entity = usersService.getById(x); + Map map = new HashMap<>(entity); + for (Object key : map.keySet()) { + map.putIfAbsent(key, ""); + } + entity.put("CORPINFO_ID", request.get("corp_id")); + userList.add(entity); + // 更新用户信息 + PageData info = usersService.findById(entity); + info.put("EMPLOYER", request.get("corp_id")); + info.put("EMPLOYER_NAME", request.get("corp_name")); + info.put("EMPLOY_FLAG", "1"); + usersService.editUser(info); + } + + PageData info = new PageData(); + info.put("infoList", JSONObject.toJSON(userList)); + HttpClientUtil.doPost(preventionUrl + "/xfgUser/synchronizationUserInfo", info); + + Map response = new HashMap<>(); + response.put("result", "success"); + return response; + } + + @RequestMapping(value = "/submitApplication") + @ResponseBody + @Transactional + public Object submitApplication() throws Exception{ + PageData request = this.getPageData(); + + PageData info = new PageData(); + info.put("xgf_user_ids",request.get("xgf_user_ids")); + HttpClientUtil.doPost(preventionUrl + "/xfgUser/approvalApplication", info); + + List list = Arrays.asList(request.getString("xgf_user_ids").split(",")); + PageData condition = new PageData(); + for (String x : list) { + condition.put("USER_ID", x); + PageData entity = usersService.findById(condition); + entity.put("EMPLOY_FLAG", "2"); + usersService.editUser(entity); + } + + Map response = new HashMap<>(); + response.put("result", "success"); + return response; + } + +} diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/FlowDetailMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/FlowDetailMapper.java new file mode 100644 index 00000000..37ab6211 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/FlowDetailMapper.java @@ -0,0 +1,16 @@ +package com.zcloud.mapper.datasource.xgf; + +import com.zcloud.entity.PageData; + +public interface FlowDetailMapper { + + void save(PageData flow); + + void delete(PageData flow); + + void edit(PageData flow); + + PageData findById(PageData flow); + + PageData selectOne(PageData condition); +} diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/FlowMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/FlowMapper.java new file mode 100644 index 00000000..160baf67 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/FlowMapper.java @@ -0,0 +1,16 @@ +package com.zcloud.mapper.datasource.xgf; + +import com.zcloud.entity.PageData; + +public interface FlowMapper { + + void save(PageData flow); + + void delete(PageData flow); + + void edit(PageData flow); + + PageData findById(PageData flow); + + PageData findByCondition(PageData condition); +} diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/TrainUsersMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/TrainUsersMapper.java new file mode 100644 index 00000000..bafeb394 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/TrainUsersMapper.java @@ -0,0 +1,129 @@ +package com.zcloud.mapper.datasource.xgf; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:培训学员 + * 作者:luoxiaobao + * 时间:2023-05-08 + * 官网:www.zcloudchina.com + */ +public interface TrainUsersMapper{ + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + /**固定服务人员培训管理列表 + * @param page + * @throws Exception + */ + List datalistPage(Page page); + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + void deleteAll(String[] ArrayDATA_IDS); + + void updateStatusByFlowTrain(PageData pd); + + List unflowlistPage(Page page); + + void updateStatus(PageData pd); + + /** + * 固定服务人员培训管理培训申请记录 + * @param page + * @return + */ + List trainApplicationRecordList(Page page); + + /** + * 固定服务人员培训管理查看 + * @param pd + * @return + */ + PageData trainView(PageData pd); + + + + + /** + * 安全监督部 审核 + * @param pd + * @return + */ + Integer approveSupervision(PageData pd); + /** + * 主管部门 审核 + * @param pd + * @return + */ + Integer approveManager(PageData pd); + /** + * 安全监督部 审核 + * @param pd + * @return + */ + Integer approveTerritoriality(PageData pd); + + /** + * 根据培训批次id 获取 这次培训中审批完成的次数 + * @param pd + * @return + */ + List getApproveCountByGbatchId(PageData pd ); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData getPdById(PageData pd); + + + /** + * 查询和这个批次完成评审的 数量 和 传过来的对比 + */ + Integer getCountByWanchengPingshen(PageData pd); + + void graduation(PageData condition); + void graduationstudent(PageData condition); + + + + void updateDate(PageData condition); + + List findinfoByCondition(PageData pd); + +} + diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java new file mode 100644 index 00000000..ef808ece --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java @@ -0,0 +1,78 @@ +package com.zcloud.mapper.datasource.xgf; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:培训批次管理 + * 作者:luoxiaobao + * 时间:2023-05-08 + * 官网:www.zcloudchina.com + */ +public interface TrainingBatchMapper{ + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + void audit(PageData pd); + + /**列表 + * @param page + * @throws Exception + */ + List datalistPage(Page page); + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + void deleteAll(String[] ArrayDATA_IDS); + + /** + * 获取编号 + * @param pd + * @return + */ + PageData getCode(PageData pd); + + List batchUserlistPage(Page page); + + List passUserlistPage(Page page); + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findAndTimeById(PageData pd); + + void graduation(PageData condition); +} + diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java index 869d1efe..28c25a77 100644 --- a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java @@ -54,4 +54,14 @@ public interface XgfUserMapper { * @throws Exception */ public List listByIds(PageData pd); + + void updateStatusByUnflowTrain(PageData pd); + + void bantchUpdateStatus(int i, String[] userids); + + void updateStatusByFlowTrain(PageData pd); + + void graduation(PageData condition); + + void graduationstudent(PageData condition); } diff --git a/src/main/java/com/zcloud/service/xgf/TrainUsersService.java b/src/main/java/com/zcloud/service/xgf/TrainUsersService.java new file mode 100644 index 00000000..b04c88f0 --- /dev/null +++ b/src/main/java/com/zcloud/service/xgf/TrainUsersService.java @@ -0,0 +1,99 @@ +package com.zcloud.service.xgf; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** +import java.util.List; + +/** + * 说明:培训学员 + * 作者:luoxiaobao + * 时间:2023-05-08 + * 官网:www.zcloudchina.com + */ +public interface TrainUsersService{ + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception; + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception; + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception; + + /**固定服务人员培训管理列表 + + /**列表 + * @param page + * @throws Exception + */ + public List list(Page page)throws Exception; + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception; + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception; + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + + /** + * 固定服务人员培训管理查看 + * @param pd + * @return + */ + public PageData trainView(PageData pd) throws Exception; + + /** + * 培训申请记录 + * @param pd + * @return + */ + public List trainApplicationRecordList(Page page); + + + /**固定人员列表 + * @param page + * @throws Exception + */ + public List unflowlist(Page page)throws Exception; + + /**审核 + * @param pd + * @throws Exception + */ + public void audit(PageData pd)throws Exception; + + + /**新增 + * @param pd + * @throws Exception + */ + public Integer approveUser(PageData pd)throws Exception; + List findinfoByCondition(PageData condition) throws Exception; + +} + diff --git a/src/main/java/com/zcloud/service/xgf/TrainingBatchService.java b/src/main/java/com/zcloud/service/xgf/TrainingBatchService.java new file mode 100644 index 00000000..2c55d312 --- /dev/null +++ b/src/main/java/com/zcloud/service/xgf/TrainingBatchService.java @@ -0,0 +1,91 @@ +package com.zcloud.service.xgf; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 说明:培训批次管理 + * 作者:luoxiaobao + * 时间:2023-05-08 + * 官网:www.zcloudchina.com + */ +public interface TrainingBatchService{ + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception; + + public void unflowTrain(PageData pd)throws Exception; + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception; + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception; + + /**审核 + * @param pd + * @throws Exception + */ + void audit(PageData pd)throws Exception; + + /**列表 + * @param page + * @throws Exception + */ + public List list(Page page)throws Exception; + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception; + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception; + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + + /** + * 获取编号 + * @param pd + * @return + */ + public PageData getCode(PageData pd) throws Exception; + + /**批次内人员列表 + * @param page + * @throws Exception + */ + public List batchUserlistPage(Page page)throws Exception; + + List passUserlistPage(Page page) throws Exception; + + void graduation(PageData condition); + + void openClass(PageData condition); + + void openStudentClass(PageData condition); + + void updateClassMessage(PageData condition); + + void saveFlow(PageData request) throws Exception; +} + diff --git a/src/main/java/com/zcloud/service/xgf/impl/TrainUsersServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/TrainUsersServiceImpl.java new file mode 100644 index 00000000..786487f8 --- /dev/null +++ b/src/main/java/com/zcloud/service/xgf/impl/TrainUsersServiceImpl.java @@ -0,0 +1,305 @@ +package com.zcloud.service.xgf.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.system.UsersMapper; +import com.zcloud.mapper.datasource.xgf.*; +import com.zcloud.service.xgf.TrainUsersService; +import com.zcloud.util.DateUtil; +import com.zcloud.util.Tools; +import com.zcloud.util.Warden; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + * 说明:培训学员 + * 作者:luoxiaobao + * 时间:2023-05-08 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class TrainUsersServiceImpl implements TrainUsersService { + + @Resource + private TrainUsersMapper trainusersMapper; + + @Resource + private TrainingBatchMapper trainingBatchMapper; + @Resource + private XgfUserMapper xgfUserMapper; + + @Resource + private FlowDetailMapper flowDetailMapper; + + @Resource + private FlowMapper flowMapper; + + /** + * 新增 + * + * @param pd + * @throws Exception + */ + public void save(PageData pd) throws Exception { + trainusersMapper.save(pd); + } + + /** + * 删除 + * + * @param pd + * @throws Exception + */ + public void delete(PageData pd) throws Exception { + trainusersMapper.delete(pd); + } + + /** + * 修改 + * + * @param pd + * @throws Exception + */ + public void edit(PageData pd) throws Exception { + trainusersMapper.edit(pd); + } + + /** + * 列表 + * + * @param page + * @throws Exception + */ + public List list(Page page) throws Exception { + return trainusersMapper.datalistPage(page); + } + + /** + * 列表(全部) + * + * @param pd + * @throws Exception + */ + public List listAll(PageData pd) throws Exception { + return trainusersMapper.listAll(pd); + } + + /** + * 通过id获取数据 + * + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd) throws Exception { + return trainusersMapper.findById(pd); + } + + /** + * 批量删除 + * + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS) throws Exception { + trainusersMapper.deleteAll(ArrayDATA_IDS); + } + + /** + * 固定服务人员培训管理查看 + * + * @param pd + * @return + * @throws Exception + */ + @Override + public PageData trainView(PageData pd) throws Exception { + return trainusersMapper.trainView(pd); + } + + @Override + public List trainApplicationRecordList(Page page) { + return trainusersMapper.trainApplicationRecordList(page); + } + + + public List unflowlist(Page page) throws Exception { + return trainusersMapper.unflowlistPage(page); + } + + public void audit(PageData pd) throws Exception { + if (Integer.parseInt(pd.getString("AUDIT_STATUS")) == -1) { + + } else if (Integer.parseInt(pd.getString("AUDIT_STATUS")) == 1) { + pd.put("STATUS", 2); + pd.put("END_DATE", DateUtil.date2Str(new Date())); + xgfUserMapper.updateStatusByUnflowTrain(pd); + trainusersMapper.updateStatus(pd); + } + } + + @Override + public Integer approveUser(PageData pd) throws Exception { + String type = pd.getString("type"); //1、集团单位,2、企业端,3、监管端 + String TRAINUSERS_ID = pd.getString("TRAINUSERS_ID"); //培训批次 详情id + String STATE = pd.getString("IS_STATE"); // 审批状态 0:不合格;1:合格; + + String OPINION = pd.getString("OPINION"); // 审批意见 + Integer userCount = Integer.parseInt(pd.getString("USER_COUNT")); // 批次的人数 + String[] userids = new String[1]; // 被审批人 + userids[0] = pd.getString("USER_ID"); + PageData trainusersPd = trainusersMapper.getPdById(pd); //培训 详情信息 + PageData appPd = new PageData(); + appPd.put("TRAINUSERS_ID", trainusersPd.getString("TRAINUSERS_ID")); + appPd.put("STATUS", "1"); + /*2023-12-06 liu jun 需求便跟*/ + PageData batch = trainingBatchMapper.findById(pd); + // 如果 + if ("0".equals(STATE)) { + appPd.put("STATUS", "-1"); + userids[0] = pd.getString("USER_ID"); + xgfUserMapper.bantchUpdateStatus(0, userids); + } + if (trainusersPd.get("STEP_STATUS") == null || trainusersPd.get("STEP_STATUS").equals("0")) { + if (pd.getString("loginUserId").equals(batch.getString("TERRITORIALITY_USER_ID"))) { + appPd.put("TERRITORIALITY_STATE", STATE); + appPd.put("TERRITORIALITY_OPINION", OPINION); + appPd.put("TERRITORIALITY_TIME", DateUtil.getTime()); + appPd.put("STEP_STATUS", "1"); + trainusersMapper.approveTerritoriality(appPd); + } else { + throw new RuntimeException("当前用户不是集团单位指定审批人,无法进行审批"); + } + } + if (trainusersPd.get("STEP_STATUS") != null && trainusersPd.get("STEP_STATUS").equals("1")) { + if (pd.getString("loginUserId").equals(batch.getString("MANAGER_USER_ID"))) { + appPd.put("MANAGER_STATE", STATE); + appPd.put("MANAGER_OPINION", OPINION); + appPd.put("MANAGER_TIME", DateUtil.getTime()); + appPd.put("STEP_STATUS", "2"); + trainusersMapper.approveManager(appPd); + } else { + throw new RuntimeException("当前用户不是股份主管部门指定审批人,无法进行审批"); + } + } + if (trainusersPd.get("STEP_STATUS") != null && trainusersPd.get("STEP_STATUS").equals("2")) { + if (pd.getString("loginUserId").equals(batch.getString("SUPERVISION_USER_ID"))) { + appPd.put("SUPERVISION_STATE", STATE); + appPd.put("SUPERVISION_OPINION", OPINION); + appPd.put("SUPERVISION_TIME", DateUtil.getTime()); + appPd.put("STEP_STATUS", "3"); + trainusersMapper.approveSupervision(appPd); + } else { + throw new RuntimeException("当前用户不是股份安监部门,无法进行审批"); + } + } + + /** 如果审批全部通过 */ + Integer stateCountInt = 0; //审批了几次, 如果是审批了3次.这个人审批完成 + Integer stateTongguoInt = 0; //审批通过次数 + String sate1 = trainusersPd.getString("SUPERVISION_STATE"); + String sate2 = trainusersPd.getString("MANAGER_STATE"); + String sate3 = trainusersPd.getString("TERRITORIALITY_STATE"); + if (!Tools.isEmpty(sate1)) { //如果有审批状态 就是审批过的数据 + stateCountInt++; + } + if (!Tools.isEmpty(sate2)) { //如果有审批状态 就是审批过的数据 + stateCountInt++; + } + if (!Tools.isEmpty(sate3)) { //如果有审批状态 就是审批过的数据 + stateCountInt++; + } + if ("1".equals(sate1)) { + stateTongguoInt++; + } + if ("1".equals(sate2)) { + stateTongguoInt++; + } + if ("1".equals(sate3)) { + stateTongguoInt++; + } + + //如果其中一个人打回,则结束审批流程 + if ("0".equals(STATE)) { + stateCountInt = 3; + } + if (3 == stateCountInt) { //这个人的审批全部 + PageData statePd = new PageData(); + statePd.put("TRAINUSERS_ID", TRAINUSERS_ID); + String STATUS = "-1"; //培训状态0未培训1培训中2培训通过-1培训未通过 + if (3 == stateTongguoInt) { + STATUS = "2"; + statePd.put("STATUS", STATUS); + trainusersMapper.updateStatus(statePd); + } + } + // 这个批次全部审批完成 + Integer wanchengPingshen = trainusersMapper.getCountByWanchengPingshen(trainusersPd); + + if (wanchengPingshen == userCount) { //已经审批的数据量 和 批次的人数一致的时候,修改批次的状态 + PageData trainingBatchPd = trainingBatchMapper.findById(trainusersPd); + trainingBatchPd.put("AUDIT_STATUS", "2"); //业务修改 ,现在只有 2培训中 3培训完成 + trainingBatchMapper.edit(trainingBatchPd); + } + + /*保存审批流*/ + PageData condition = new PageData(); + condition.put("FOREIGN_KEY", trainusersPd.getString("TRAININGBATCH_ID")); + PageData flow = flowMapper.findByCondition(condition); + if (flow == null) { + System.out.println("历史数据======不做处理"); + } else { + condition.clear(); + condition.put("FLOW_ID", flow.getString("FLOW_ID")); + condition.put("FOREIGN_KEY", trainusersPd.getString("TRAINUSERS_ID")); + condition.put("STEP_FLAG", "1"); + PageData step = flowDetailMapper.selectOne(condition); + if (step == null) { + condition.clear(); + condition.put("FLOW_ID", flow.getString("FLOW_ID")); + condition.put("PARENT_ID", "0"); + step = flowDetailMapper.selectOne(condition); + } + step.put("STEP_FLAG", "0"); + flowDetailMapper.edit(step); + + PageData nextStep = new PageData(); + nextStep.put("FLOW_DETAIL_ID", Warden.get32UUID()); + nextStep.put("FLOW_ID", flow.getString("FLOW_ID")); + nextStep.put("STEP_FLAG", "1"); + nextStep.put("PARENT_ID", step.getString("FLOW_DETAIL_ID")); + nextStep.put("FOREIGN_KEY", trainusersPd.getString("TRAINUSERS_ID")); + nextStep.put("STEP_NAME", "培训审核"); + nextStep.put("SORT", (Integer) step.get("SORT") + 1); + nextStep.put("CREATE_TIME", DateUtil.date2Str(new Date())); + nextStep.put("APPROVER_ID", pd.getString("APPROVER_ID")); + nextStep.put("APPROVER_NAME", pd.getString("APPROVER_NAME")); + nextStep.put("APPROVER_OPINION", OPINION); + nextStep.put("APPROVER_TIME", DateUtil.getTime()); + nextStep.put("APPROVER_CORPINFO_ID", pd.getString("APPROVER_CORPINFO_ID")); + nextStep.put("APPROVER_CORPINFO_NAME", pd.getString("APPROVER_CORPINFO_NAME")); + nextStep.put("PASS_FLAG", STATE); + if (3 == stateCountInt) { + nextStep.put("IS_END", "1"); + } else { + nextStep.put("IS_END", "0"); + } + nextStep.put("ISDELETE", "0"); + nextStep.put("FOREIGN_KEY", trainusersPd.getString("TRAINUSERS_ID")); + flowDetailMapper.save(nextStep); + } + + return 0; + } + + @Override + public List findinfoByCondition(PageData condition) throws Exception { + return trainusersMapper.findinfoByCondition(condition); + } +} + diff --git a/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java new file mode 100644 index 00000000..5b6132fb --- /dev/null +++ b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java @@ -0,0 +1,341 @@ +package com.zcloud.service.xgf.impl; + +import com.zcloud.entity.Page; +import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.system.UsersMapper; +import com.zcloud.mapper.datasource.xgf.*; +import com.zcloud.service.xgf.TrainingBatchService; +import com.zcloud.util.*; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.text.DecimalFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 说明:培训批次管理 + * 作者:luoxiaobao + * 时间:2023-05-08 + * 官网:www.zcloudchina.com + */ +@Service +@Transactional //开启事物 +public class TrainingBatchServiceImpl implements TrainingBatchService { + + @Resource + private TrainingBatchMapper trainingbatchMapper; + + @Resource + private TrainUsersMapper trainUsersMapper; + + @Resource + private XgfUserMapper xgfUserMapper; + + @Resource + private FlowMapper flowMapper; + + @Resource + private FlowDetailMapper flowDetailMapper; + + @Value("${prevention.api.url}") + private String preventionUrl; + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception{ + /* 保存主题信息 */ + String batch_id=UuidUtil.get32UUID(); + String train_area=pd.getString("TRAIN_AREA"); + pd.put("TRAININGBATCH_ID", batch_id); //主键 + pd.put("CREATOR", Jurisdiction.getUsername()); //添加人 + pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 + pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 + pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 + pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); + pd.put("ISDELETE", 0); //是否删除 1-是 0-否 + + Calendar calendar = Calendar.getInstance(); + DecimalFormat dft=new DecimalFormat("00"); + int year = calendar.get(Calendar.YEAR); + String month = dft.format(calendar.get(Calendar.MONTH) + 1); + pd.put("CREATDATE",year + "-" + month); + PageData cpd = trainingbatchMapper.getCode(pd); //根据ID读取 + String code = year + "-" + month + "-" + dft.format((Integer.parseInt(cpd.get("code").toString())+1)); + pd.put("BATCH_NAME",code); + + trainingbatchMapper.save(pd); + + String ArrayDATA_IDS[] = pd.getString("users").split(","); + Arrays.asList(ArrayDATA_IDS).forEach(id -> { + PageData user = new PageData(); + user.put("TRAINUSERS_ID", UuidUtil.get32UUID()); + user.put("TRAININGBATCH_ID", batch_id); + user.put("USER_ID", id); + user.put("TRAIN_AREA", train_area); + user.put("STATUS", 0); + user.put("SUPERVISION_STATE", 9); + user.put("MANAGER_STATE", 9); + user.put("TERRITORIALITY_STATE", 9); + user.put("STEP_STATUS", "0"); + trainUsersMapper.save(user); + }); + xgfUserMapper.bantchUpdateStatus(9,ArrayDATA_IDS); + + /* 保存审批流程信息 */ + PageData flow = new PageData(); + flow.put("FLOW_ID", Warden.get32UUID()); + flow.put("TYPE", "0"); + flow.put("CREATOR",Jurisdiction.getUSER_ID()); + flow.put("CREATOR_NAME",Jurisdiction.getName()); + flow.put("CREATOR_TIME", DateUtil.getTime()); + flow.put("VALID_FLAG", "1"); + flow.put("FOREIGN_KEY",pd.getString("TRAININGBATCH_ID")); + flow.put("ISDELETE", "0"); + flowMapper.save(flow); + /* 保存审批流程明细信息 */ + PageData flowDetail = new PageData(); + flowDetail.put("FLOW_DETAIL_ID", Warden.get32UUID()); + flowDetail.put("FLOW_ID", flow.getString("FLOW_ID")); + flowDetail.put("STEP_FLAG", "1"); + flowDetail.put("SORT",0); + flowDetail.put("APPROVER_ID",Jurisdiction.getUSER_ID()); + flowDetail.put("APPROVER_NAME",Jurisdiction.getName()); + flowDetail.put("APPROVER_TIME", DateUtil.getTime()); + flowDetail.put("APPROVER_CORPINFO_ID",Jurisdiction.getCORPINFO_ID()); + // TODO 未完成 + flowDetail.put("APPROVER_CORPINFO_NAME",""); + flowDetail.put("PASS_FLAG", "1"); + flowDetail.put("END_FLAG", "0"); + flowDetail.put("ISDELETE", "0"); + flowDetail.put("PARENT_ID","0"); + flowDetailMapper.save(flowDetail); + } + + /**固定人员培训 + * @param pd + * @throws Exception + */ + public void unflowTrain(PageData pd)throws Exception{ + PageData trainBatch = new PageData(); + String batch_id = UuidUtil.get32UUID(); + trainBatch.put("TRAININGBATCH_ID", batch_id); //主键 + trainBatch.put("CREATOR", pd.getString("TRAIN_CORP_LEADER_NAME")); //添加人 + trainBatch.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 + trainBatch.put("OPERATOR", pd.getString("TRAIN_CORP_LEADER_NAME")); //修改人 + trainBatch.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 + trainBatch.put("ISDELETE", 0); //是否删除 1-是 0-否 + trainBatch.put("TYPE", 1); + trainBatch.put("USER_COUNT", pd.getString("USER_COUNT")); + trainBatch.put("AUDIT_STATUS", 0); + trainBatch.put("TRAIN_CORP_DEPT", pd.getString("TRAIN_CORP_DEPT")); + trainBatch.put("TRAIN_CORP_LEADER", pd.getString("TRAIN_CORP_LEADER")); + + Calendar calendar = Calendar.getInstance(); + DecimalFormat dft = new DecimalFormat("00"); + int year = calendar.get(Calendar.YEAR); + String month = dft.format(calendar.get(Calendar.MONTH) + 1); + trainBatch.put("CREATDATE", year + "-" + month); + PageData cpd = trainingbatchMapper.getCode(trainBatch); //根据ID读取 + String code = year + "-" + month + "-" + dft.format((Integer.parseInt(cpd.get("code").toString()) + 1)); + trainBatch.put("BATCH_NAME", code); + + trainingbatchMapper.save(trainBatch); + trainBatch.put("AUDIT_STATUS", "2"); + this.audit(trainBatch); + + String ArrayDATA_IDS[] = pd.getString("users").split(","); + Arrays.asList(ArrayDATA_IDS).forEach(id -> { + PageData user = new PageData(); + user.put("TRAINUSERS_ID", UuidUtil.get32UUID()); + user.put("TRAININGBATCH_ID", batch_id); + user.put("USER_ID", id); + user.put("TRAIN_CORPINFO_ID", pd.getString("FIRST_PARTY_ID")); + user.put("STATUS", 1); + user.put("START_DATE", DateUtil.date2Str(new Date())); + user.put("SUPERVISION_STATE", 9); + user.put("MANAGER_STATE", 9); + user.put("TERRITORIALITY_STATE", 9); + user.put("STEP_STATUS", "0"); + trainUsersMapper.save(user); + }); + xgfUserMapper.bantchUpdateStatus(1,ArrayDATA_IDS); + + } + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception{ + trainingbatchMapper.delete(pd); + } + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception{ + trainingbatchMapper.edit(pd); + } + + public void audit(PageData pd)throws Exception{ + if(Integer.parseInt(pd.getString("AUDIT_STATUS")) == -1){ + pd.put("STATUS",0); + pd.put("ENTRUST_TIME", DateUtil.date2Str(new Date())); + xgfUserMapper.updateStatusByFlowTrain(pd); + trainingbatchMapper.audit(pd); + }else if(Integer.parseInt(pd.getString("AUDIT_STATUS")) == 2){ + pd.put("STATUS",1); + pd.put("START_DATE",DateUtil.date2Str(new Date())); + pd.put("AUDIT_TIME", DateUtil.date2Str(new Date())); + xgfUserMapper.updateStatusByFlowTrain(pd); + trainUsersMapper.updateStatusByFlowTrain(pd); + trainingbatchMapper.audit(pd); + }else if(Integer.parseInt(pd.getString("AUDIT_STATUS")) == 3){ + pd.put("STATUS",2); + pd.put("END_DATE",DateUtil.date2Str(new Date())); + pd.put("VERIFY_TIME",DateUtil.date2Str(new Date())); + xgfUserMapper.updateStatusByFlowTrain(pd); + trainUsersMapper.updateStatusByFlowTrain(pd); + trainingbatchMapper.audit(pd); + }else{ + pd.put("ENTRUST_TIME", DateUtil.date2Str(new Date())); + trainingbatchMapper.audit(pd); + } + } + + /**列表 + * @param page + * @throws Exception + */ + public List list(Page page)throws Exception{ + return trainingbatchMapper.datalistPage(page); + } + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception{ + return trainingbatchMapper.listAll(pd); + } + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception{ + return trainingbatchMapper.findById(pd); + } + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ + trainingbatchMapper.deleteAll(ArrayDATA_IDS); + } + + /** + * 获取编号 + * @param pd + * @return + */ + @Override + public PageData getCode(PageData pd) throws Exception{ + return trainingbatchMapper.getCode(pd); + } + + public List batchUserlistPage(Page page)throws Exception{ + return trainingbatchMapper.batchUserlistPage(page); + } + + @Override + public List passUserlistPage(Page page) throws Exception { + return trainingbatchMapper.passUserlistPage(page); + } + + @Override + public void graduation(PageData condition) { + trainingbatchMapper.graduation(condition); + xgfUserMapper.graduation(condition); + } + + @Override + public void openClass(PageData info) { + List list = Warden.getList(info.getString("list")); + PageData condition = new PageData(); + condition.put("STATUS",info.getString("userStatus")); + condition.put("list", list.stream().filter(n -> "1".equals(n.getString("STATUS"))).map(n -> n.getString("USER_ID")).collect(Collectors.toList())); + xgfUserMapper.graduation(condition); + + condition.clear(); + condition.put("STATUS",info.getString("detailsStatus")); + condition.put("list",list.stream().filter(n -> "1".equals(n.getString("STATUS"))).map(n -> n.getString("TRAINUSERS_ID")).collect(Collectors.toList())); + trainUsersMapper.graduation(condition); + + } + + @Override + public void openStudentClass(PageData info) { +// List list = Warden.getList(info.getString("list")); + PageData condition = new PageData(); + condition.put("STATUS",info.getString("userStatus")); + condition.put("USER_ID", info.getString("USER_ID")); + xgfUserMapper.graduationstudent(condition); + + condition.clear(); + condition.put("STATUS",info.getString("detailsStatus")); + condition.put("TRAINUSERS_ID", info.getString("TRAINUSERS_ID")); + trainUsersMapper.graduationstudent(condition); + + } + + @Override + public void updateClassMessage(PageData info) { + List list = Warden.getList(info.getString("list")); + PageData condition = new PageData(); + condition.put("list", list.stream().map(n -> n.getString("TRAINUSERS_ID")).collect(Collectors.toList())); + if (StringUtils.isNotEmpty(info.getString("START_DATE"))){ + condition.put("START_DATE",DateUtil.getTime()); + } + if (StringUtils.isNotEmpty(info.getString("END_DATE"))){ + condition.put("END_DATE",DateUtil.getTime()); + } + trainUsersMapper.updateDate(condition); + } + + @Override + public void saveFlow(PageData request) throws Exception { + /* 保存审批流程明细信息 */ + PageData condition = new PageData(); + condition.put("FLOW_ID", request.getString("FLOW_ID")); + condition.put("STEP_FLAG", "1"); + PageData flow = flowDetailMapper.selectOne(condition); + flow.put("STEP_FLAG", "0"); + flowDetailMapper.edit(flow); + PageData next_flow = new PageData(); + next_flow.put("FLOW_DETAIL_ID", Warden.get32UUID()); + next_flow.put("FLOW_ID", flow.getString("FLOW_ID")); + next_flow.put("STEP_FLAG", "1"); + next_flow.put("SORT",(Integer)flow.get("SORT")+1); + next_flow.put("APPROVER_ID",request.get("APPROVER_ID")); + next_flow.put("APPROVER_NAME",request.get("APPROVER_NAME")); + next_flow.put("APPROVER_TIME", DateUtil.getTime()); + next_flow.put("APPROVER_CORPINFO_ID",request.get("APPROVER_CORPINFO_ID")); + next_flow.put("APPROVER_CORPINFO_NAME",request.get("APPROVER_CORPINFO_NAME")); + next_flow.put("PASS_FLAG", "1"); + next_flow.put("END_FLAG", "0"); + next_flow.put("ISDELETE", "0"); + next_flow.put("PARENT_ID",flow.getString("FLOW_DETAIL_ID")); + flowDetailMapper.save(next_flow); + } +} + diff --git a/src/main/resources/mybatis/datasource/xgf/FlowDetailMapper.xml b/src/main/resources/mybatis/datasource/xgf/FlowDetailMapper.xml new file mode 100644 index 00000000..c3e402d7 --- /dev/null +++ b/src/main/resources/mybatis/datasource/xgf/FlowDetailMapper.xml @@ -0,0 +1,132 @@ + + + + + + + BUS_FLOW_DETAIL + + + + + SYS_DICTIONARIES + + + + + f.FLOW_DETAIL_ID, + f.FLOW_ID, + f.STEP_FLAG, + F.STEP_NAME, + f.APPROVER_ID, + f.APPROVER_NAME, + f.APPROVER_OPINION, + f.APPROVER_CORPINFO_ID, + f.APPROVER_CORPINFO_NAME, + f.APPROVER_TIME, + f.PASS_FLAG, + f.END_FLAG, + f.ISDELETE, + f.PARENT_ID, + f.FOREIGN_KEY + + + + + FLOW_DETAIL_ID, + FLOW_ID, + STEP_FLAG, + STEP_NAME, + APPROVER_ID, + APPROVER_NAME, + APPROVER_OPINION, + APPROVER_CORPINFO_ID, + APPROVER_CORPINFO_NAME, + APPROVER_TIME, + PASS_FLAG, + END_FLAG, + ISDELETE, + PARENT_ID, + FOREIGN_KEY + + + + + #{FLOW_DETAIL_ID}, + #{FLOW_ID}, + #{STEP_FLAG}, + #{STEP_NAME}, + #{APPROVER_ID}, + #{APPROVER_NAME}, + #{APPROVER_OPINION}, + #{APPROVER_CORPINFO_ID}, + #{APPROVER_CORPINFO_NAME}, + #{APPROVER_TIME}, + #{PASS_FLAG}, + #{END_FLAG}, + #{ISDELETE}, + #{PARENT_ID}, + #{FOREIGN_KEY} + + + + + insert into + + ( + + ) values ( + + ) + + + + + update + + set + ISDELETE = '1' + where + FLOW_DETAIL_ID = #{FLOW_DETAIL_ID} + + + + + update BUS_FLOW_DETAIL + set FLOW_ID = #{FLOW_ID}, + STEP_FLAG = #{STEP_FLAG}, + APPROVER_ID = #{APPROVER_ID}, + APPROVER_NAME = #{APPROVER_NAME}, + APPROVER_OPINION = #{APPROVER_OPINION}, + APPROVER_CORPINFO_NAME = #{APPROVER_CORPINFO_NAME}, + APPROVER_TIME = #{APPROVER_TIME}, + PASS_FLAG = #{PASS_FLAG}, + END_FLAG = #{END_FLAG}, + ISDELETE = #{ISDELETE}, + PARENT_ID = #{PARENT_ID}, + FOREIGN_ID = #{FOREIGN_ID}, + STEP_NAME = #{STEP_NAME}, + where FLOW_DETAIL_ID = #{FLOW_DETAIL_ID} + + + + + diff --git a/src/main/resources/mybatis/datasource/xgf/FlowMapper.xml b/src/main/resources/mybatis/datasource/xgf/FlowMapper.xml new file mode 100644 index 00000000..978c5797 --- /dev/null +++ b/src/main/resources/mybatis/datasource/xgf/FlowMapper.xml @@ -0,0 +1,91 @@ + + + + + + + BUS_FLOW + + + + + SYS_DICTIONARIES + + + + + f.FLOW_ID, + f.TYPE, + f.CREATOR, + f.CREATOR_NAME, + f.CREATOR_TIME, + f.VALID_FLAG, + f.FOREIGN_KEY + + + + + FLOW_ID, + TYPE, + CREATOR, + CREATOR_NAME, + CREATOR_TIME, + VALID_FLAG, + FOREIGN_KEY + + + + + #{FLOW_ID}, + #{TYPE}, + #{CREATOR}, + #{CREATOR_NAME}, + #{CREATOR_TIME}, + #{VALID_FLAG}, + #{FOREIGN_KEY} + + + + + insert into + + ( + + ) values ( + + ) + + + + + update + + set + ISDELETE = '1' + where + FLOW_ID = #{FLOW_ID} + + + + + update BUS_FLOW set + TYPE = #{TYPE}, + CREATOR = #{CREATOR}, + CREATOR_NAME = #{CREATOR_NAME}, + CREATOR_TIME = #{CREATOR_TIME}, + VALID_FLAG = #{VALID_FLAG}, + FOREIGN_KEY = FOREIGN_KEY + where + FLOW_ID = #{FLOW_ID} + + + + + diff --git a/src/main/resources/mybatis/datasource/xgf/TrainUsersMapper.xml b/src/main/resources/mybatis/datasource/xgf/TrainUsersMapper.xml new file mode 100644 index 00000000..1486b8ba --- /dev/null +++ b/src/main/resources/mybatis/datasource/xgf/TrainUsersMapper.xml @@ -0,0 +1,482 @@ + + + + + + + BUS_TRAINUSERS + + + + + SYS_DICTIONARIES + + + + + f.TRAININGBATCH_ID, + f.USER_ID, + f.START_DATE, + f.END_DATE, + f.STATUS, + f.TRAIN_CORPINFO_ID, + f.TRAIN_AREA, + f.SUPERVISION_STATE, + f.SUPERVISION_OPINION, + f.SUPERVISION_TIME, + f.MANAGER_STATE, + f.MANAGER_OPINION, + f.MANAGER_TIME, + f.TERRITORIALITY_STATE, + f.TERRITORIALITY_OPINION, + f.TERRITORIALITY_TIME, + f.TRAINUSERS_ID, + f.STEP_STATUS + + + + + TRAININGBATCH_ID, + USER_ID, + START_DATE, + END_DATE, + STATUS, + TRAIN_CORPINFO_ID, + TRAIN_AREA, + SUPERVISION_STATE, + SUPERVISION_OPINION, + SUPERVISION_TIME, + MANAGER_STATE, + MANAGER_OPINION, + MANAGER_TIME, + TERRITORIALITY_STATE, + TERRITORIALITY_OPINION, + TERRITORIALITY_TIME, + TRAINUSERS_ID, + STEP_STATUS + + + + + #{TRAININGBATCH_ID}, + #{USER_ID}, + #{START_DATE}, + #{END_DATE}, + #{STATUS}, + #{TRAIN_CORPINFO_ID}, + #{TRAIN_AREA}, + #{SUPERVISION_STATE}, + #{SUPERVISION_OPINION}, + #{SUPERVISION_TINE}, + #{MANAGER_STATE}, + #{MANAGER_OPINION}, + #{MANAGER_TIME}, + #{TERRITORIALITY_STATE}, + #{TERRITORIALITY_OPINION}, + #{TERRITORIALITY_TIME}, + #{TRAINUSERS_ID}, + #{STEP_STATUS} + + + + + insert into + + ( + + ) values ( + + ) + + + + + update + + set + ISDELETE = '1' + where + TRAINUSERS_ID = #{TRAINUSERS_ID} + + + + + update + + set + TRAININGBATCH_ID = #{TRAININGBATCH_ID}, + USER_ID = #{USER_ID}, + START_DATE = #{START_DATE}, + END_DATE = #{END_DATE}, + STATUS = #{STATUS}, + TRAIN_AREA = #{TRAIN_AREA}, + STEP_STATUS = #{STEP_STATUS}, + TRAINUSERS_ID = TRAINUSERS_ID + where + TRAINUSERS_ID = #{TRAINUSERS_ID} + + + + + + + + + + + + + + + + update + + set + ISDELETE = '1' + where + TRAINUSERS_ID in + + #{item} + + + + + + update + + set STATUS = #{STATUS}, + + START_DATE = #{START_DATE}, + + + END_DATE = #{END_DATE}, + + TRAININGBATCH_ID = #{TRAININGBATCH_ID} + where + TRAININGBATCH_ID = #{TRAININGBATCH_ID} + + + + + + + + + + update + set STATUS = #{STATUS}, + + START_DATE = #{START_DATE}, + + + END_DATE = #{END_DATE}, + + TRAINUSERS_ID = #{TRAINUSERS_ID} + where + TRAINUSERS_ID = #{TRAINUSERS_ID} + + + + + + + + update + set + SUPERVISION_STATE = #{SUPERVISION_STATE}, + + STATUS = #{STATUS}, + + SUPERVISION_OPINION = #{SUPERVISION_OPINION}, + SUPERVISION_TIME= #{SUPERVISION_TIME}, + STEP_STATUS = #{STEP_STATUS} + where + TRAINUSERS_ID = #{TRAINUSERS_ID} + + + update + set + MANAGER_STATE= #{MANAGER_STATE}, + + STATUS = #{STATUS}, + + MANAGER_OPINION = #{MANAGER_OPINION}, + MANAGER_TIME = #{MANAGER_TIME}, + STEP_STATUS = #{STEP_STATUS} + where + TRAINUSERS_ID = #{TRAINUSERS_ID} + + + update + set + TERRITORIALITY_STATE = #{TERRITORIALITY_STATE}, + + STATUS = #{STATUS}, + + TERRITORIALITY_OPINION = #{TERRITORIALITY_OPINION}, + TERRITORIALITY_TIME = #{TERRITORIALITY_TIME}, + STEP_STATUS = #{STEP_STATUS} + where + TRAINUSERS_ID = #{TRAINUSERS_ID} + + + update bus_trainusers a set a.STATUS = #{STATUS} where a.TRAINUSERS_ID in + + #{item} + ; + + + + update bus_trainusers a set a.STATUS = #{STATUS} where a.TRAINUSERS_ID = #{TRAINUSERS_ID} + + + update bus_trainusers a set + + a.START_DATE = #{START_DATE} + + + a.END_DATE = #{END_DATE} + + where a.TRAINUSERS_ID in + + #{item} + ; + + + + + + + + + + + + + diff --git a/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml new file mode 100644 index 00000000..ece65330 --- /dev/null +++ b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml @@ -0,0 +1,421 @@ + + + + + + + BUS_TRAININGBATCH + + + + + SYS_DICTIONARIES + + + + + f.CREATOR, + f.CREATTIME, + f.OPERATOR, + f.OPERATTIME, + f.ISDELETE, + f.BATCH_NAME, + f.CORPINFO_ID, + f.USER_COUNT, + f.TRAIN_CORP_DEPT, + f.TRAIN_CORP_LEADER, + f.DESCR, + f.TRAIN_AREA, + f.MANAGER, + f.MANAGER_USER_ID, + f.AUDIT_STATUS, + f.TRAININGBATCH_ID, + f.SUPERVISION, + f.SUPERVISION_USER_ID, + f.TERRITORIALITY, + f.TERRITORIALITY_USER_ID + + + + + CREATOR, + CREATTIME, + OPERATOR, + OPERATTIME, + ISDELETE, + BATCH_NAME, + CORPINFO_ID, + USER_COUNT, + TRAIN_CORP_DEPT, + TRAIN_CORP_LEADER, + DESCR, + TRAIN_AREA, + MANAGER, + MANAGER_USER_ID, + AUDIT_STATUS, + TYPE, + TRAININGBATCH_ID, + SUPERVISION, + SUPERVISION_USER_ID, + TERRITORIALITY, + TERRITORIALITY_USER_ID + + + + + #{CREATOR}, + #{CREATTIME}, + #{OPERATOR}, + #{OPERATTIME}, + #{ISDELETE}, + #{BATCH_NAME}, + #{CORPINFO_ID}, + #{USER_COUNT}, + #{TRAIN_CORP_DEPT}, + #{TRAIN_CORP_LEADER}, + #{DESCR}, + #{TRAIN_AREA}, + #{MANAGER}, + #{MANAGER_USER_ID}, + #{AUDIT_STATUS}, + #{TYPE}, + #{TRAININGBATCH_ID}, + #{SUPERVISION}, + #{SUPERVISION_USER_ID}, + #{TERRITORIALITY}, + #{TERRITORIALITY_USER_ID} + + + + + insert into + + ( + + ) values ( + + ) + + + + + update + + set + ISDELETE = '1' + where + TRAININGBATCH_ID = #{TRAININGBATCH_ID} + + + + + update + + set + OPERATOR = #{OPERATOR}, + OPERATTIME = #{OPERATTIME}, + AUDIT_STATUS = #{AUDIT_STATUS}, + TRAIN_CORP_DEPT = #{TRAIN_CORP_DEPT}, + TRAIN_CORP_LEADER = #{TRAIN_CORP_LEADER}, + ENTRUST_TIME = #{ENTRUST_TIME}, + VERIFY_TIME = #{VERIFY_TIME} + where + TRAININGBATCH_ID = #{TRAININGBATCH_ID} + + + + + update + + set + AUDIT_STATUS = #{AUDIT_STATUS}, + + TRAIN_CORP_DEPT = #{TRAIN_CORP_DEPT}, + + + TRAIN_CORP_LEADER = #{TRAIN_CORP_LEADER}, + + + ENTRUST_TIME = #{ENTRUST_TIME}, + + + AUDIT_TIME = #{AUDIT_TIME}, + + + VERIFY_TIME = #{VERIFY_TIME}, + + + AUDIT_DESCR = #{AUDIT_DESCR}, + + + CORP_AUDIT_DESCR = #{CORP_AUDIT_DESCR}, + + TRAININGBATCH_ID = #{TRAININGBATCH_ID} + where + TRAININGBATCH_ID = #{TRAININGBATCH_ID} + + + update bus_trainusers a set a.STATUS = '2' where a.USER_ID in + + #{item} + ; + + + + + + + + + + + + + + update + + set + ISDELETE = '1' + where + TRAININGBATCH_ID in + + #{item} + + + + + + + + + + + + diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml index 0dbafc9c..fbb2f490 100644 --- a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml @@ -92,6 +92,40 @@ XGF_USER_ID = #{XGF_USER_ID} + + update + + set STATUS = #{STATUS} + where + XGF_USER_ID in (select USER_ID from bus_trainusers bu where bu.TRAINUSERS_ID = #{TRAINUSERS_ID}) + + + update + + set STATUS = #{STATUS} + where + XGF_USER_ID in + + #{item} + + + + update + + set STATUS = #{STATUS} + where + XGF_USER_ID in (select USER_ID from bus_trainusers bu where bu.TRAININGBATCH_ID = #{TRAININGBATCH_ID}) + + + update bus_trainusers a set a.STATUS = #{STATUS} where a.TRAINUSERS_ID in + + #{item} + ; + + + update bus_trainusers a set a.STATUS = #{STATUS} where a.TRAINUSERS_ID = #{TRAINUSERS_ID} + + + + + diff --git a/src/main/resources/mybatis/dsno2/keyProjects/VideoManagerMapper.xml b/src/main/resources/mybatis/dsno2/keyProjects/VideoManagerMapper.xml index fb13f861..b6cefcf0 100644 --- a/src/main/resources/mybatis/dsno2/keyProjects/VideoManagerMapper.xml +++ b/src/main/resources/mybatis/dsno2/keyProjects/VideoManagerMapper.xml @@ -291,4 +291,23 @@ where OUTSOURCED_ID = #{OUTSOURCED_ID} + + + + From d5f729cdbe6a461ffbe1b70d97dffcbf7f8608e4 Mon Sep 17 00:00:00 2001 From: liujun Date: Tue, 19 Dec 2023 15:01:44 +0800 Subject: [PATCH 13/39] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xgf/TrainingBatchController.java | 209 +----------------- .../controller/xgf/XgfUserController.java | 16 +- .../mapper/datasource/xgf/XgfUserMapper.java | 2 + .../zcloud/service/xgf/XgfUserService.java | 4 + .../xgf/impl/TrainingBatchServiceImpl.java | 4 +- .../service/xgf/impl/XgfUserServiceImpl.java | 67 ++++-- .../com/zcloud/util/HttpClientService.java | 37 ---- .../datasource/xgf/TrainingBatchMapper.xml | 20 +- .../mybatis/datasource/xgf/XgfUserMapper.xml | 23 +- 9 files changed, 108 insertions(+), 274 deletions(-) diff --git a/src/main/java/com/zcloud/controller/xgf/TrainingBatchController.java b/src/main/java/com/zcloud/controller/xgf/TrainingBatchController.java index 98beb39a..feb476ac 100644 --- a/src/main/java/com/zcloud/controller/xgf/TrainingBatchController.java +++ b/src/main/java/com/zcloud/controller/xgf/TrainingBatchController.java @@ -1,20 +1,16 @@ package com.zcloud.controller.xgf; -import com.alibaba.fastjson.JSONObject; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; -import com.zcloud.service.system.UsersService; import com.zcloud.service.xgf.TrainingBatchService; +import com.zcloud.service.xgf.XgfUserService; import com.zcloud.util.*; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.servlet.ModelAndView; import java.util.*; @@ -29,13 +25,10 @@ import java.util.*; public class TrainingBatchController extends BaseController { @Autowired - private TrainingBatchService trainingbatchService; + private TrainingBatchService trainingbatchService; @Autowired - private UsersService usersService; - - @Value("${prevention.api.url}") - private String preventionUrl; + private XgfUserService xgfUserService; /** * 新增 @@ -59,8 +52,6 @@ public class TrainingBatchController extends BaseController { /** * 删除 * - * @param out - * @throws Exception */ @RequestMapping(value = "/delete") @RequiresPermissions("trainingbatch:del") @@ -113,46 +104,6 @@ public class TrainingBatchController extends BaseController { if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim()); page.setPd(pd); List varList = trainingbatchService.list(page); //列出TrainingBatch列表 - for (PageData x : varList) { - PageData condition = new PageData(); - condition.put("USER_ID", x.getString("SUPERVISION_USER_ID")); - Map result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); - if (result != null) { - x.put("SUPERVISION_USER_NAME", result.get("NAME")); - } - condition.clear(); - condition.put("DEPARTMENT_ID", x.getString("SUPERVISION")); - result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); - if (result != null) { - x.put("SUPERVISION_DEPT_NAME", result.get("NAME")); - } - - condition.clear(); - condition.put("USER_ID", x.getString("MANAGER_USER_ID")); - result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); - if (result != null) { - x.put("MANAGER_USER_NAME", result.get("NAME")); - } - condition.clear(); - condition.put("DEPARTMENT_ID", x.getString("MANAGER")); - result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); - if (result != null) { - x.put("MANAGER_DEPT_NAME", result.get("NAME")); - } - - condition.clear(); - condition.put("USER_ID", x.getString("TERRITORIALITY_USER_ID")); - result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); - if (result != null) { - x.put("ERRITORIALITY_USER_NAME", result.get("NAME")); - } - condition.clear(); - condition.put("DEPARTMENT_ID", x.getString("TERRITORIALITY")); - result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); - if (result != null) { - x.put("ERRITORIALITY_DEPT_NAME", result.get("NAME")); - } - } map.put("varList", varList); map.put("page", page); map.put("result", errInfo); @@ -177,7 +128,7 @@ public class TrainingBatchController extends BaseController { String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim()); page.setPd(pd); - List varList = usersService.flowlistPage(page); //列出TrainingBatch列表 + List varList = xgfUserService.flowlistPage(page); //列出TrainingBatch列表 map.put("varList", varList); map.put("page", page); map.put("result", errInfo); @@ -203,47 +154,6 @@ public class TrainingBatchController extends BaseController { if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim()); page.setPd(pd); List varList = trainingbatchService.batchUserlistPage(page); //列出TrainingBatch列表 - - for (PageData x : varList) { - PageData condition = new PageData(); - condition.put("USER_ID", x.getString("SUPERVISION_USER_ID")); - Map result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); - if (result != null) { - x.put("SUPERVISION_USER_NAME", result.get("NAME")); - } - condition.clear(); - condition.put("DEPARTMENT_ID", x.getString("SUPERVISION")); - result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); - if (result != null) { - x.put("SUPERVISION_DEPT_NAME", result.get("NAME")); - } - - condition.clear(); - condition.put("USER_ID", x.getString("MANAGER_USER_ID")); - result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); - if (result != null) { - x.put("MANAGER_USER_NAME", result.get("NAME")); - } - condition.clear(); - condition.put("DEPARTMENT_ID", x.getString("MANAGER")); - result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); - if (result != null) { - x.put("MANAGER_DEPT_NAME", result.get("NAME")); - } - - condition.clear(); - condition.put("USER_ID", x.getString("TERRITORIALITY_USER_ID")); - result = HttpClientUtil.doPost(preventionUrl + "/user/getUserInfo", condition); - if (result != null) { - x.put("ERRITORIALITY_USER_NAME", result.get("NAME")); - } - condition.clear(); - condition.put("DEPARTMENT_ID", x.getString("TERRITORIALITY")); - result = HttpClientUtil.doPost(preventionUrl + "/department/getDepartmentInfo", condition); - if (result != null) { - x.put("ERRITORIALITY_DEPT_NAME", result.get("NAME")); - } - } map.put("varList", varList); map.put("page", page); map.put("result", errInfo); @@ -281,120 +191,13 @@ public class TrainingBatchController extends BaseController { @ResponseBody public Object deleteAll() throws Exception { Map map = new HashMap(); - String errInfo = "success"; - PageData pd = new PageData(); - pd = this.getPageData(); + PageData pd = this.getPageData(); String DATA_IDS = pd.getString("DATA_IDS"); if (Tools.notEmpty(DATA_IDS)) { String ArrayDATA_IDS[] = DATA_IDS.split(","); trainingbatchService.deleteAll(ArrayDATA_IDS); - errInfo = "success"; - } else { - errInfo = "error"; } - map.put("result", errInfo); //返回结果 + map.put("result", "success"); //返回结果 return map; } - - /** - * 导出到excel - * - * @param - * @throws Exception - */ - @RequestMapping(value = "/excel") - @RequiresPermissions("toExcel") - public ModelAndView exportExcel() throws Exception { - ModelAndView mv = new ModelAndView(); - PageData pd = new PageData(); - pd = this.getPageData(); - Map dataMap = new HashMap(); - List titles = new ArrayList(); - titles.add("创建人"); //1 - titles.add("创建时间"); //2 - titles.add("修改人"); //3 - titles.add("修改时间"); //4 - titles.add("是否删除"); //5 - titles.add("批次名称"); //6 - titles.add("所属企业"); //7 - titles.add("培训人数"); //8 - titles.add("培训企业"); //9 - dataMap.put("titles", titles); - List varOList = trainingbatchService.listAll(pd); - List varList = new ArrayList(); - for (int i = 0; i < varOList.size(); i++) { - PageData vpd = new PageData(); - vpd.put("var1", varOList.get(i).getString("CREATOR")); //1 - vpd.put("var2", varOList.get(i).getString("CREATTIME")); //2 - vpd.put("var3", varOList.get(i).getString("OPERATOR")); //3 - vpd.put("var4", varOList.get(i).getString("OPERATTIME")); //4 - vpd.put("var5", varOList.get(i).get("ISDELETE").toString()); //5 - vpd.put("var6", varOList.get(i).getString("BATCH_NAME")); //6 - vpd.put("var7", varOList.get(i).getString("CORPINFO_ID")); //7 - vpd.put("var8", varOList.get(i).get("USER_COUNT").toString()); //8 - vpd.put("var9", varOList.get(i).getString("TRAIN_CORP_DEPT")); //9 - varList.add(vpd); - } - dataMap.put("varList", varList); - ObjectExcelView erv = new ObjectExcelView(); - mv = new ModelAndView(erv, dataMap); - return mv; - } - - @RequestMapping(value = "/sendMessage") - @ResponseBody - @Transactional - public Object sendMessage() throws Exception { - PageData request = this.getPageData(); - List list = Warden.getList(request.getString("list")); - List userList = new ArrayList<>(); - for (PageData x : list) { - PageData entity = usersService.getById(x); - Map map = new HashMap<>(entity); - for (Object key : map.keySet()) { - map.putIfAbsent(key, ""); - } - entity.put("CORPINFO_ID", request.get("corp_id")); - userList.add(entity); - // 更新用户信息 - PageData info = usersService.findById(entity); - info.put("EMPLOYER", request.get("corp_id")); - info.put("EMPLOYER_NAME", request.get("corp_name")); - info.put("EMPLOY_FLAG", "1"); - usersService.editUser(info); - } - - PageData info = new PageData(); - info.put("infoList", JSONObject.toJSON(userList)); - HttpClientUtil.doPost(preventionUrl + "/xfgUser/synchronizationUserInfo", info); - - Map response = new HashMap<>(); - response.put("result", "success"); - return response; - } - - @RequestMapping(value = "/submitApplication") - @ResponseBody - @Transactional - public Object submitApplication() throws Exception{ - PageData request = this.getPageData(); - - PageData info = new PageData(); - info.put("xgf_user_ids",request.get("xgf_user_ids")); - HttpClientUtil.doPost(preventionUrl + "/xfgUser/approvalApplication", info); - - List list = Arrays.asList(request.getString("xgf_user_ids").split(",")); - PageData condition = new PageData(); - for (String x : list) { - condition.put("USER_ID", x); - PageData entity = usersService.findById(condition); - entity.put("EMPLOY_FLAG", "2"); - usersService.editUser(entity); - } - - Map response = new HashMap<>(); - response.put("result", "success"); - return response; - } - } diff --git a/src/main/java/com/zcloud/controller/xgf/XgfUserController.java b/src/main/java/com/zcloud/controller/xgf/XgfUserController.java index b71515a5..da7a0863 100644 --- a/src/main/java/com/zcloud/controller/xgf/XgfUserController.java +++ b/src/main/java/com/zcloud/controller/xgf/XgfUserController.java @@ -3,9 +3,7 @@ package com.zcloud.controller.xgf; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; -import com.zcloud.service.system.UsersService; import com.zcloud.service.xgf.XgfUserService; -import com.zcloud.util.HttpClientService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -23,7 +21,7 @@ public class XgfUserController extends BaseController { @RequestMapping(value = "/list") @ResponseBody - public Object getLevels(Page page) throws Exception { + public Object list(Page page) throws Exception { PageData request = this.getPageData(); page.setPd(request); xgfUserService.list(page); @@ -33,4 +31,16 @@ public class XgfUserController extends BaseController { response.put("data", request); return response; } + + @RequestMapping(value = "/approve") + @ResponseBody + public Object approve() throws Exception { + PageData request = this.getPageData(); + xgfUserService.approve(request); + + PageData response = new PageData(); + response.put("result", "success"); + response.put("data", request); + return response; + } } diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java index 28c25a77..20b35f30 100644 --- a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java @@ -64,4 +64,6 @@ public interface XgfUserMapper { void graduation(PageData condition); void graduationstudent(PageData condition); + + List flowlistPage(Page page); } diff --git a/src/main/java/com/zcloud/service/xgf/XgfUserService.java b/src/main/java/com/zcloud/service/xgf/XgfUserService.java index 95dd7356..fcf3d30a 100644 --- a/src/main/java/com/zcloud/service/xgf/XgfUserService.java +++ b/src/main/java/com/zcloud/service/xgf/XgfUserService.java @@ -16,4 +16,8 @@ public interface XgfUserService { void init(PageData request); void approvalApplication(PageData request) throws Exception; + + List flowlistPage(Page page)throws Exception; + + void approve(PageData request) throws Exception; } diff --git a/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java index 5b6132fb..a6d25eb7 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java @@ -42,8 +42,8 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { @Resource private FlowDetailMapper flowDetailMapper; - @Value("${prevention.api.url}") - private String preventionUrl; +// @Value("${prevention.api.url}") +// private String preventionUrl; /**新增 * @param pd diff --git a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java index 4a028a93..19719c4b 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java @@ -6,14 +6,19 @@ import com.zcloud.mapper.datasource.xgf.XgfUserDetailsMapper; import com.zcloud.mapper.datasource.xgf.XgfUserMapper; import com.zcloud.service.xgf.XgfUserService; import com.zcloud.util.DateUtil; +import com.zcloud.util.HttpClientService; +import com.zcloud.util.HttpClientUtil; import com.zcloud.util.Warden; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service public class XgfUserServiceImpl implements XgfUserService { @@ -24,6 +29,9 @@ public class XgfUserServiceImpl implements XgfUserService { @Resource private XgfUserDetailsMapper xgfUserDetailsMapper; + @Value("${preventionxgf.api.url}") + private String prevention_xgf_url; + @Override public void save(PageData pd) throws Exception { xgfUserMapper.save(pd); @@ -52,18 +60,18 @@ public class XgfUserServiceImpl implements XgfUserService { if (entity == null || entity.size() <= 0) { x.put("XGF_USER_ID", x.get("USER_ID")); x.put("XGF_USER_DETAILS_ID", x.get("USER_ID")); - x.put("ISDELETE","0"); - x.put("VALID_FLAG","1"); - x.put("STATUS","2"); + x.put("ISDELETE", "0"); + x.put("VALID_FLAG", "1"); + x.put("STATUS", "2"); x.put("CREATED_TIME", DateUtil.getTime()); - x.put("OPERATOR_TIME",DateUtil.getTime()); + x.put("OPERATOR_TIME", DateUtil.getTime()); xgfUserMapper.save(x); xgfUserDetailsMapper.save(x); } else { x.put("XGF_USER_ID", x.get("USER_ID")); x.put("XFG_USER_DETAILS_ID", x.get("USER_ID")); - x.put("ISDELETE","0"); - x.put("OPERATOR_TIME",DateUtil.getTime()); + x.put("ISDELETE", "0"); + x.put("OPERATOR_TIME", DateUtil.getTime()); xgfUserMapper.edit(x); xgfUserDetailsMapper.edit(x); } @@ -78,20 +86,51 @@ public class XgfUserServiceImpl implements XgfUserService { @Override public void approvalApplication(PageData request) throws Exception { - List list = Arrays.asList(request.getString("xgf_user_ids").split(",")) ; + List list = Arrays.asList(request.getString("xgf_user_ids").split(",")); PageData condition = new PageData(); condition.put("XGF_USER_IDS", list); List entities = xgfUserMapper.listByIds(condition); for (PageData x : entities) { - x.put("VALID_FLAG","0"); - x.put("STATUS","1"); + x.put("VALID_FLAG", "0"); + x.put("STATUS", "1"); xgfUserMapper.edit(x); } - PageData pd = new PageData(); - pd.put("XGF_USER_ID", request.getString("XGF_USER_ID")); - pd.put("ISDELETE", "1"); - xgfUserMapper.edit(pd); - xgfUserDetailsMapper.edit(pd); + } + + @Override + public List flowlistPage(Page page) throws Exception { + return xgfUserMapper.flowlistPage(page); + } + + @Override + @Transactional + public void approve(PageData request) throws Exception { + List _list = Warden.getList(request.getString("list")); + if (_list == null || _list.size() == 0) { + throw new RuntimeException("请求数据异常"); + } + List list = _list.stream().map(x -> x.getString("XGF_USER_ID")).collect(Collectors.toList()); + PageData condition = new PageData(); + for (String x : list) { + condition.put("XGF_USER_ID", x); + PageData entity = xgfUserMapper.findById(condition); + if (entity == null || entity.size() == 0) { + throw new RuntimeException("未找到该用户"); + } + if ("1".equals(request.getString("STATUS"))) { + entity.put("STATUS", "0"); + } else { + entity.put("STATUS", "2"); + } + xgfUserMapper.edit(entity); + + entity.put("USER_ID", condition.get("XGF_USER_ID")); + entity.put("STATUS", request.getString("STATUS")); + Map result = HttpClientService.doPost(prevention_xgf_url + "openApi/user/approve", entity); + if (result == null || !"succeed".equals(result.get("result"))) { + throw new RuntimeException("请求失败"); + } + } } } diff --git a/src/main/java/com/zcloud/util/HttpClientService.java b/src/main/java/com/zcloud/util/HttpClientService.java index 2adb7701..64be5883 100644 --- a/src/main/java/com/zcloud/util/HttpClientService.java +++ b/src/main/java/com/zcloud/util/HttpClientService.java @@ -365,46 +365,9 @@ public class HttpClientService { } public static Map doPost(String url, PageData pd) { - /* 正式上面总是显示一次断一次,未找到原因 - MultiValueMap requestBody = new LinkedMultiValueMap(); - pd.forEach((key, value) -> { - requestBody.add(key.toString(), value.toString()); - }); - System.out.println(requestBody); - Map responseBody = new HashMap(); - TcpClient tcpClient = TcpClient.create() - .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 1000) // Connection Timeout - .doOnConnected(connection -> - connection.addHandlerLast(new ReadTimeoutHandler(10)) // Read Timeout - .addHandlerLast(new WriteTimeoutHandler(10))); // Write Timeout - WebClient client = WebClient.builder().clientConnector(new ReactorClientHttpConnector(HttpClient.from(tcpClient))).build(); - client.post() - .uri(url) - .header("Source","zcloud") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .body(BodyInserters.fromFormData(requestBody)) - .exchange() - .flatMap(response -> { - System.out.println("Status code: " + response.statusCode().value()); - return response.bodyToMono(JSONObject.class); - }) - .doOnSuccess(body -> { - System.out.println("success"); - responseBody.putAll(body); - }) - .doOnError(throwable -> { - responseBody.put("msg",throwable.getMessage()); - System.out.println("Error occurred: " + throwable.getMessage()); - }) - .block(); - return responseBody; - */ JSONObject jsonObject = null; HttpResponse response = null; List nameValuePairList = new ArrayList(); -// pd.forEach((key, value) -> { // 这个遍历不好使 -// System.out.println("键:" + key.toString() + ",值:" + value.toString()); -// }); Map map = (Map)pd; System.out.print("参数:{"); for(Map.Entry entry : map.entrySet()){ diff --git a/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml index ece65330..f20102f0 100644 --- a/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml @@ -175,14 +175,14 @@ + From 990ea8814d03c0dee349b88f406c2441693cf8b6 Mon Sep 17 00:00:00 2001 From: limingyu Date: Tue, 19 Dec 2023 18:00:49 +0800 Subject: [PATCH 14/39] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=A8=E7=81=AB?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=95=B0=E6=8D=AE=E5=BB=B6=E6=97=B6=E7=9B=91?= =?UTF-8?q?=E7=81=AB=E5=AE=A1=E6=A0=B8=E4=BA=BA=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppHotWorkApplicationController.java | 13 +++++++++---- .../highriskwork/HotWorkApplicationUserMapper.xml | 12 ++++++++---- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zcloud/controller/app/highriskwork/AppHotWorkApplicationController.java b/src/main/java/com/zcloud/controller/app/highriskwork/AppHotWorkApplicationController.java index 275ae9bd..f696040b 100644 --- a/src/main/java/com/zcloud/controller/app/highriskwork/AppHotWorkApplicationController.java +++ b/src/main/java/com/zcloud/controller/app/highriskwork/AppHotWorkApplicationController.java @@ -827,11 +827,16 @@ public class AppHotWorkApplicationController extends BaseController { return map; } } else { - hotUserList = hotWorkApplicationUserService.listByDepartment(hotUserPd); // 找到这一笔的审批人们 + //先判断延时监火是否为选择部门 + hotUserList = hotWorkApplicationUserService.listByDepartment(hotUserPd); // 找到这一笔的审批人们(选择部门) if (hotUserList.size() < 1) { - map.put("result", "error"); - map.put("msg", "获取审批人意见失败!请联系管理员"); - return map; + //如果查询部门查不到就根据人查询 + hotUserList = hotWorkApplicationUserService.listAll(hotUserPd); // 找到这一笔的审批人(选择人) + if (hotUserList.size() != 1) { + map.put("result", "error"); + map.put("msg", "获取审批人意见失败!请联系管理员"); + return map; + } } } diff --git a/src/main/resources/mybatis/datasource/highriskwork/HotWorkApplicationUserMapper.xml b/src/main/resources/mybatis/datasource/highriskwork/HotWorkApplicationUserMapper.xml index c717f435..9ba0ada9 100644 --- a/src/main/resources/mybatis/datasource/highriskwork/HotWorkApplicationUserMapper.xml +++ b/src/main/resources/mybatis/datasource/highriskwork/HotWorkApplicationUserMapper.xml @@ -134,21 +134,23 @@ + + diff --git a/src/main/resources/mybatis/datasource/system/UsersMapper.xml b/src/main/resources/mybatis/datasource/system/UsersMapper.xml index 59ce3768..b3f6e302 100644 --- a/src/main/resources/mybatis/datasource/system/UsersMapper.xml +++ b/src/main/resources/mybatis/datasource/system/UsersMapper.xml @@ -1328,4 +1328,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml index f20102f0..5a27117a 100644 --- a/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml @@ -4,7 +4,7 @@ - BUS_TRAININGBATCH + xgf_training_batch @@ -201,20 +201,20 @@ from f left join vi_department_all ma on ma.DEPARTMENT_ID = f.MANAGER - left join vi_corp_user ma_u on ma_u.USER_ID = f.MANAGER_USER_ID + left join vi_user_all ma_u on ma_u.USER_ID = f.MANAGER_USER_ID left join vi_department_all su on su.DEPARTMENT_ID = f.SUPERVISION left join vi_regulatory_user su_u on su_u.USER_ID = f.SUPERVISION_USER_ID left join vi_department_all te on te.DEPARTMENT_ID = f.TERRITORIALITY - left join vi_corp_user te_u on te_u.USER_ID = f.TERRITORIALITY_USER_ID - left join vi_corp_user cu on cu.USER_ID = f.TRAIN_CORP_LEADER + left join vi_user_all te_u on te_u.USER_ID = f.TERRITORIALITY_USER_ID + left join vi_user_all cu on cu.USER_ID = f.TRAIN_CORP_LEADER left join sys_dictionaries d on d.DICTIONARIES_ID = f.TRAIN_AREA left join bus_corpinfo c on c.CORPINFO_ID = f.CORPINFO_ID left join BUS_CORPINFODETAILS bcd on bcd.CORPINFO_ID = c.CORPINFO_ID left join sys_dictionaries corpTypeDic on corpTypeDic.BIANMA = bcd.CORP_TYPE left join vi_regulatory_department md on md.DEPARTMENT_ID = c.MAIN_DEPARTMENT left join sys_user syu on syu.USERNAME = f.CREATOR - left join vi_corp_user vcu on vcu.USERNAME = f.CREATOR - left join vi_corp_department vcd on vcd.DEPARTMENT_ID = c.SUPERVISE_DEPARTMENT_ID + left join vi_user_all vcu on vcu.USERNAME = f.CREATOR + left join vi_department_all vcd on vcd.DEPARTMENT_ID = c.SUPERVISE_DEPARTMENT_ID left join vi_corp_info vci on vci.CORPINFO_ID = c.SUPERVISE_CORPINFO_ID where 1=1 diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml index 57865957..a04a52a5 100644 --- a/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml @@ -50,7 +50,8 @@ f.IS_LEVEL_THREE, f.IS_BODY_ADAPT, f.IS_SPECIAL_JOB, - f.CORPINFO_ID + f.CORPINFO_ID, + f.MANAGER_DEPARTMENT_ID @@ -96,7 +97,9 @@ IS_LEVEL_THREE, IS_BODY_ADAPT, IS_SPECIAL_JOB, - CORPINFO_ID + CORPINFO_ID, + MANAGER_DEPARTMENT_ID, + MANAGER_DEPARTMENT_NAME @@ -142,7 +145,9 @@ #{IS_LEVEL_THREE}, #{IS_BODY_ADAPT}, #{IS_SPECIAL_JOB}, - #{CORPINFO_ID} + #{CORPINFO_ID}, + #{MANAGER_DEPARTMENT_ID}, + #{MANAGER_DEPARTMENT_NAME} @@ -212,7 +217,9 @@ IS_LEVEL_THREE = #{IS_LEVEL_THREE}, IS_BODY_ADAPT = #{IS_BODY_ADAPT}, IS_SPECIAL_JOB = #{IS_SPECIAL_JOB}, - CORPINFO_ID = #{CORPINFO_ID} + CORPINFO_ID = #{CORPINFO_ID}, + MANAGER_DEPARTMENT_ID = #{MANAGER_DEPARTMENT_ID}, + MANAGER_DEPARTMENT_NAME = #{MANAGER_DEPARTMENT_NAME} where XGF_USER_DETAILS_ID = #{XGF_USER_DETAILS_ID} diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml index 32fbcc66..3ab8dcc0 100644 --- a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml @@ -182,18 +182,24 @@ + select + + from + + f + where f.ISDELETE = '0' + and XGF_USER_ID in + + #{item} + + + select a.XGF_USER_ID,a.BELONG_TO_CORP_NAME,a.USERNAME,a.NAME,b.MANAGER_DEPARTMENT_ID from xgf_user a + left join xgf_user_details b on a.XGF_USER_ID = b.XGF_USER_ID + where 1=1 + + and a.STATUS = #{pd.STATUS} + + From d8f38ffdcdbdfcda95c2558d5465646c4d494c0a Mon Sep 17 00:00:00 2001 From: liujun Date: Wed, 20 Dec 2023 14:49:01 +0800 Subject: [PATCH 16/39] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/xgf/FlowTrainController.java | 113 +++++-- .../mapper/datasource/xgf/XgfUserMapper.java | 2 +- .../zcloud/service/xgf/TrainUsersService.java | 3 +- .../xgf/impl/TrainUsersServiceImpl.java | 189 +++-------- .../xgf/impl/TrainingBatchServiceImpl.java | 80 ++++- .../datasource/xgf/FlowDetailMapper.xml | 2 +- .../datasource/xgf/TrainUsersMapper.xml | 103 +++--- .../datasource/xgf/TrainingBatchMapper.xml | 317 +++++++----------- .../mybatis/datasource/xgf/XgfUserMapper.xml | 16 +- 9 files changed, 376 insertions(+), 449 deletions(-) diff --git a/src/main/java/com/zcloud/controller/xgf/FlowTrainController.java b/src/main/java/com/zcloud/controller/xgf/FlowTrainController.java index 125f1f73..47df2e56 100644 --- a/src/main/java/com/zcloud/controller/xgf/FlowTrainController.java +++ b/src/main/java/com/zcloud/controller/xgf/FlowTrainController.java @@ -3,8 +3,10 @@ package com.zcloud.controller.xgf; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; +import com.zcloud.service.xgf.TrainUsersService; import com.zcloud.service.xgf.TrainingBatchService; import com.zcloud.util.*; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -29,9 +31,12 @@ public class FlowTrainController extends BaseController { @Resource private TrainingBatchService trainingbatchService; - @RequestMapping(value="/batchList") + @Resource + private TrainUsersService trainUsersService; + + @RequestMapping(value = "/batchList") @ResponseBody - public Object batchList(Page page) throws Exception{ + public Object batchList(Page page) throws Exception { Map map = new HashMap(); PageData pd = this.getPageData(); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); @@ -45,37 +50,46 @@ public class FlowTrainController extends BaseController { return map; } - @RequestMapping(value="/batchUserList") + @RequestMapping(value = "/batchUserList") @ResponseBody - public Object batchUserList(Page page) throws Exception{ + public Object batchUserList(Page page) throws Exception { + PageData request = this.getPageData(); + PageData condition = new PageData(); + condition.put("TRAINING_BATCH_ID", request.get("TRAINING_BATCH_ID")); + page.setPd(condition); + List varList = trainingbatchService.batchUserlistPage(page); + + PageData response = new PageData(); + response.put("varList", varList); + response.put("page", page); + response.put("total", page.getTotalResult()); + response.put("result", "success"); + return response; + } + + @RequestMapping(value = "/batchAudit") + @ResponseBody + public Object batchAudit(Page page) throws Exception { PageData pd = new PageData(); pd = this.getPageData(); - Map result = HttpClientService.doPost(xgfUrl + "/openApi/trainingbatch/batchUserList" +getPageUrl(page), pd); + Map result = HttpClientService.doPost(xgfUrl + "/openApi/trainingbatch/audit", pd); return result; } - @RequestMapping(value="/batchAudit") - @ResponseBody - public Object batchAudit(Page page) throws Exception{ - PageData pd = new PageData(); - pd = this.getPageData(); - Map result = HttpClientService.doPost(xgfUrl + "/openApi/trainingbatch/audit" , pd); - return result; - } - - private String getPageUrl(Page page){ - return "?showCount=" +page.getShowCount() + "¤tPage=" + page.getUrlCurrentPage(); + private String getPageUrl(Page page) { + return "?showCount=" + page.getShowCount() + "¤tPage=" + page.getUrlCurrentPage(); } /** * 分公司端-相关方流动人员培训审核-查看用户信息 + * * @return * @throws Exception */ - @RequestMapping(value="/getUserDetailById") + @RequestMapping(value = "/getUserDetailById") @ResponseBody - public Object getCorpUserList() throws Exception{ - Map map = new HashMap(); + public Object getCorpUserList() throws Exception { + Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); @@ -83,24 +97,55 @@ public class FlowTrainController extends BaseController { return result; } - @RequestMapping(value="/approveUser") + @RequestMapping(value = "/approveUser") @ResponseBody - public Object approveUser() throws Exception{ - PageData pd = new PageData(); - pd = this.getPageData(); - pd.put("loginUserId",Jurisdiction.getUSER_ID()); - Map result = HttpClientService.doPost(xgfUrl + "/openApi/trainusers/approveUser", pd); - return result; + public Object approveUser() throws Exception { + Map map = new HashMap(); + PageData pd = this.getPageData(); + trainUsersService.approveUser(pd); + map.put("result", "success"); + return map; } - @RequestMapping(value="/getDetailsById") + + @RequestMapping(value = "/getDetailsById") @ResponseBody - public Object getDetailsById() throws Exception{ - PageData pd = new PageData(); - pd = this.getPageData(); - if(!Jurisdiction.getUsername().equals("admin")){ - pd.put("AUDIT_USER_ID", Jurisdiction.getUSER_ID()); + public Object getDetailsById() throws Exception { + PageData request = this.getPageData(); + PageData condition = new PageData(); + condition.put("TRAINING_BATCH_ID", request.get("TRAINING_BATCH_ID")); + PageData entity = trainingbatchService.findById(condition); + switch (entity.getString("STEP_STATUS")) { + case "0": + if (entity.getString("TERRITORIALITY_USER_ID").equals(Jurisdiction.getUSER_ID())) { + entity.put("step", "TERRITORIALITY_STATE"); + } + break; + case "1": + if (entity.getString("MANAGER_USER_ID").equals(Jurisdiction.getUSER_ID())) { + entity.put("step", "MANAGER_STATE"); + } + break; + case "2": + if (entity.getString("SUPERVISION_USER_ID").equals(Jurisdiction.getUSER_ID())) { + entity.put("step", "SUPERVISION_STATE"); + } + break; + default: + break; } - Map result = HttpClientService.doPost(xgfUrl+ "/openApi/trainingbatch/getDetailsById", pd); - return result; + PageData response = new PageData(); + response.put("pd", entity); + response.put("result", "success"); + return response; + } + + @RequestMapping(value = "/endApproval") + @ResponseBody + public Object endApproval() throws Exception { + Map map = new HashMap(); + PageData pd = this.getPageData(); + trainUsersService.endApproval(pd); + map.put("result", "success"); + return map; } } diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java index 20b35f30..d60b51cf 100644 --- a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java @@ -57,7 +57,7 @@ public interface XgfUserMapper { void updateStatusByUnflowTrain(PageData pd); - void bantchUpdateStatus(int i, String[] userids); + void bantchUpdateStatus(int STATUS, String[] arrayDATA_ids); void updateStatusByFlowTrain(PageData pd); diff --git a/src/main/java/com/zcloud/service/xgf/TrainUsersService.java b/src/main/java/com/zcloud/service/xgf/TrainUsersService.java index b04c88f0..bba08ab6 100644 --- a/src/main/java/com/zcloud/service/xgf/TrainUsersService.java +++ b/src/main/java/com/zcloud/service/xgf/TrainUsersService.java @@ -92,8 +92,9 @@ public interface TrainUsersService{ * @param pd * @throws Exception */ - public Integer approveUser(PageData pd)throws Exception; + public void approveUser(PageData pd)throws Exception; List findinfoByCondition(PageData condition) throws Exception; + void endApproval(PageData pd) throws Exception; } diff --git a/src/main/java/com/zcloud/service/xgf/impl/TrainUsersServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/TrainUsersServiceImpl.java index 786487f8..79aefcec 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/TrainUsersServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/TrainUsersServiceImpl.java @@ -144,162 +144,53 @@ public class TrainUsersServiceImpl implements TrainUsersService { } @Override - public Integer approveUser(PageData pd) throws Exception { - String type = pd.getString("type"); //1、集团单位,2、企业端,3、监管端 - String TRAINUSERS_ID = pd.getString("TRAINUSERS_ID"); //培训批次 详情id - String STATE = pd.getString("IS_STATE"); // 审批状态 0:不合格;1:合格; - - String OPINION = pd.getString("OPINION"); // 审批意见 - Integer userCount = Integer.parseInt(pd.getString("USER_COUNT")); // 批次的人数 - String[] userids = new String[1]; // 被审批人 - userids[0] = pd.getString("USER_ID"); - PageData trainusersPd = trainusersMapper.getPdById(pd); //培训 详情信息 - PageData appPd = new PageData(); - appPd.put("TRAINUSERS_ID", trainusersPd.getString("TRAINUSERS_ID")); - appPd.put("STATUS", "1"); - /*2023-12-06 liu jun 需求便跟*/ - PageData batch = trainingBatchMapper.findById(pd); - // 如果 - if ("0".equals(STATE)) { - appPd.put("STATUS", "-1"); - userids[0] = pd.getString("USER_ID"); - xgfUserMapper.bantchUpdateStatus(0, userids); - } - if (trainusersPd.get("STEP_STATUS") == null || trainusersPd.get("STEP_STATUS").equals("0")) { - if (pd.getString("loginUserId").equals(batch.getString("TERRITORIALITY_USER_ID"))) { - appPd.put("TERRITORIALITY_STATE", STATE); - appPd.put("TERRITORIALITY_OPINION", OPINION); - appPd.put("TERRITORIALITY_TIME", DateUtil.getTime()); - appPd.put("STEP_STATUS", "1"); - trainusersMapper.approveTerritoriality(appPd); - } else { - throw new RuntimeException("当前用户不是集团单位指定审批人,无法进行审批"); - } - } - if (trainusersPd.get("STEP_STATUS") != null && trainusersPd.get("STEP_STATUS").equals("1")) { - if (pd.getString("loginUserId").equals(batch.getString("MANAGER_USER_ID"))) { - appPd.put("MANAGER_STATE", STATE); - appPd.put("MANAGER_OPINION", OPINION); - appPd.put("MANAGER_TIME", DateUtil.getTime()); - appPd.put("STEP_STATUS", "2"); - trainusersMapper.approveManager(appPd); - } else { - throw new RuntimeException("当前用户不是股份主管部门指定审批人,无法进行审批"); - } - } - if (trainusersPd.get("STEP_STATUS") != null && trainusersPd.get("STEP_STATUS").equals("2")) { - if (pd.getString("loginUserId").equals(batch.getString("SUPERVISION_USER_ID"))) { - appPd.put("SUPERVISION_STATE", STATE); - appPd.put("SUPERVISION_OPINION", OPINION); - appPd.put("SUPERVISION_TIME", DateUtil.getTime()); - appPd.put("STEP_STATUS", "3"); - trainusersMapper.approveSupervision(appPd); - } else { - throw new RuntimeException("当前用户不是股份安监部门,无法进行审批"); - } - } - - /** 如果审批全部通过 */ - Integer stateCountInt = 0; //审批了几次, 如果是审批了3次.这个人审批完成 - Integer stateTongguoInt = 0; //审批通过次数 - String sate1 = trainusersPd.getString("SUPERVISION_STATE"); - String sate2 = trainusersPd.getString("MANAGER_STATE"); - String sate3 = trainusersPd.getString("TERRITORIALITY_STATE"); - if (!Tools.isEmpty(sate1)) { //如果有审批状态 就是审批过的数据 - stateCountInt++; - } - if (!Tools.isEmpty(sate2)) { //如果有审批状态 就是审批过的数据 - stateCountInt++; - } - if (!Tools.isEmpty(sate3)) { //如果有审批状态 就是审批过的数据 - stateCountInt++; - } - if ("1".equals(sate1)) { - stateTongguoInt++; - } - if ("1".equals(sate2)) { - stateTongguoInt++; - } - if ("1".equals(sate3)) { - stateTongguoInt++; - } - - //如果其中一个人打回,则结束审批流程 - if ("0".equals(STATE)) { - stateCountInt = 3; - } - if (3 == stateCountInt) { //这个人的审批全部 - PageData statePd = new PageData(); - statePd.put("TRAINUSERS_ID", TRAINUSERS_ID); - String STATUS = "-1"; //培训状态0未培训1培训中2培训通过-1培训未通过 - if (3 == stateTongguoInt) { - STATUS = "2"; - statePd.put("STATUS", STATUS); - trainusersMapper.updateStatus(statePd); - } - } - // 这个批次全部审批完成 - Integer wanchengPingshen = trainusersMapper.getCountByWanchengPingshen(trainusersPd); - - if (wanchengPingshen == userCount) { //已经审批的数据量 和 批次的人数一致的时候,修改批次的状态 - PageData trainingBatchPd = trainingBatchMapper.findById(trainusersPd); - trainingBatchPd.put("AUDIT_STATUS", "2"); //业务修改 ,现在只有 2培训中 3培训完成 - trainingBatchMapper.edit(trainingBatchPd); - } - - /*保存审批流*/ + public void approveUser(PageData pd) throws Exception { PageData condition = new PageData(); - condition.put("FOREIGN_KEY", trainusersPd.getString("TRAININGBATCH_ID")); - PageData flow = flowMapper.findByCondition(condition); - if (flow == null) { - System.out.println("历史数据======不做处理"); - } else { - condition.clear(); - condition.put("FLOW_ID", flow.getString("FLOW_ID")); - condition.put("FOREIGN_KEY", trainusersPd.getString("TRAINUSERS_ID")); - condition.put("STEP_FLAG", "1"); - PageData step = flowDetailMapper.selectOne(condition); - if (step == null) { - condition.clear(); - condition.put("FLOW_ID", flow.getString("FLOW_ID")); - condition.put("PARENT_ID", "0"); - step = flowDetailMapper.selectOne(condition); - } - step.put("STEP_FLAG", "0"); - flowDetailMapper.edit(step); - - PageData nextStep = new PageData(); - nextStep.put("FLOW_DETAIL_ID", Warden.get32UUID()); - nextStep.put("FLOW_ID", flow.getString("FLOW_ID")); - nextStep.put("STEP_FLAG", "1"); - nextStep.put("PARENT_ID", step.getString("FLOW_DETAIL_ID")); - nextStep.put("FOREIGN_KEY", trainusersPd.getString("TRAINUSERS_ID")); - nextStep.put("STEP_NAME", "培训审核"); - nextStep.put("SORT", (Integer) step.get("SORT") + 1); - nextStep.put("CREATE_TIME", DateUtil.date2Str(new Date())); - nextStep.put("APPROVER_ID", pd.getString("APPROVER_ID")); - nextStep.put("APPROVER_NAME", pd.getString("APPROVER_NAME")); - nextStep.put("APPROVER_OPINION", OPINION); - nextStep.put("APPROVER_TIME", DateUtil.getTime()); - nextStep.put("APPROVER_CORPINFO_ID", pd.getString("APPROVER_CORPINFO_ID")); - nextStep.put("APPROVER_CORPINFO_NAME", pd.getString("APPROVER_CORPINFO_NAME")); - nextStep.put("PASS_FLAG", STATE); - if (3 == stateCountInt) { - nextStep.put("IS_END", "1"); - } else { - nextStep.put("IS_END", "0"); - } - nextStep.put("ISDELETE", "0"); - nextStep.put("FOREIGN_KEY", trainusersPd.getString("TRAINUSERS_ID")); - flowDetailMapper.save(nextStep); + condition.put("TRAIN_USERS_ID", pd.get("TRAIN_USERS_ID")); + PageData userEntity = trainusersMapper.findById(condition); + switch (userEntity.getString("STEP_STATUS")){ + case "0": + userEntity.put("TERRITORIALITY_STATE", pd.getString("IS_STATE")); + userEntity.put("TERRITORIALITY_OPINION", pd.getString("OPINION")); + userEntity.put("TERRITORIALITY_TIME", DateUtil.getTime()); + break; + case "1": + userEntity.put("MANAGER_STATE", pd.getString("IS_STATE")); + userEntity.put("MANAGER_OPINION", pd.getString("OPINION")); + userEntity.put("MANAGER_TIME", DateUtil.getTime()); + break; + case "3": + userEntity.put("SUPERVISION_STATE", pd.getString("IS_STATE")); + userEntity.put("SUPERVISION_OPINION", pd.getString("OPINION")); + userEntity.put("SUPERVISION_TIME", DateUtil.getTime()); + break; } - - return 0; + if ("0".equals(pd.getString("IS_STATE"))) { + userEntity.put("STEP_STATUS", '-' + userEntity.getString("STEP_STATUS")); + userEntity.put("RESULT_STATUS","3"); + } else { + int stepNumber = Integer.parseInt(userEntity.getString("STEP_STATUS")) + 1; + if (stepNumber == 3){ + userEntity.put("RESULT_STATUS","2"); + } + userEntity.put("STEP_STATUS", Integer.toString(stepNumber)); + } + trainusersMapper.edit(userEntity); } @Override public List findinfoByCondition(PageData condition) throws Exception { return trainusersMapper.findinfoByCondition(condition); } + + @Override + public void endApproval(PageData pd) throws Exception { + PageData condition = new PageData(); + condition.put("TRAINING_BATCH_ID",pd.getString("TRAINING_BATCH_ID")); + PageData entity = trainingBatchMapper.findById(condition); + int stepNumber = Integer.parseInt(entity.getString("STEP_STATUS")); + entity.put("STEP_STATUS",++stepNumber); + trainingBatchMapper.edit(entity); + } } diff --git a/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java index a6d25eb7..71758050 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java @@ -2,6 +2,7 @@ package com.zcloud.service.xgf.impl; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.system.DepartmentMapper; import com.zcloud.mapper.datasource.system.UsersMapper; import com.zcloud.mapper.datasource.xgf.*; import com.zcloud.service.xgf.TrainingBatchService; @@ -42,8 +43,11 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { @Resource private FlowDetailMapper flowDetailMapper; -// @Value("${prevention.api.url}") -// private String preventionUrl; + @Resource + private UsersMapper usersMapper; + + @Resource + private DepartmentMapper departmentMapper; /**新增 * @param pd @@ -53,7 +57,7 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { /* 保存主题信息 */ String batch_id=UuidUtil.get32UUID(); String train_area=pd.getString("TRAIN_AREA"); - pd.put("TRAININGBATCH_ID", batch_id); //主键 + pd.put("TRAINING_BATCH_ID", batch_id); //主键 pd.put("CREATOR", Jurisdiction.getUsername()); //添加人 pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 @@ -69,14 +73,45 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { PageData cpd = trainingbatchMapper.getCode(pd); //根据ID读取 String code = year + "-" + month + "-" + dft.format((Integer.parseInt(cpd.get("code").toString())+1)); pd.put("BATCH_NAME",code); + /*翻译*/ + PageData condition = new PageData(); + condition.put("USER_ID",pd.get("SUPERVISION_USER_ID")); + PageData supUser = usersMapper.getUserInfo(condition); + pd.put("SUPERVISION_USER_NAME",supUser.get("NAME")); + condition.clear(); + condition.put("DEPARTMENT_ID",pd.get("SUPERVISION")); + PageData supDepartment = departmentMapper.getInfo(condition); + pd.put("SUPERVISION_DEPARTMENT_NAME",supDepartment.get("NAME")); + + condition.clear(); + condition.put("USER_ID",pd.get("MANAGER_USER_ID")); + PageData manUser = usersMapper.getUserInfo(condition); + pd.put("MANAGER_USER_NAME",manUser.get("NAME")); + + condition.clear(); + condition.put("DEPARTMENT_ID",pd.get("MANAGER")); + PageData manDepartment = departmentMapper.getInfo(condition); + pd.put("MANAGER_DEPARTMENT_NAME",manDepartment.get("NAME")); + + condition.clear(); + condition.put("USER_ID",pd.get("TERRITORIALITY_USER_ID")); + PageData terUser = usersMapper.getUserInfo(condition); + pd.put("TERRITORIALITY_USER_NAME",terUser.get("NAME")); + + condition.clear(); + condition.put("DEPARTMENT_ID",pd.get("TERRITORIALITY")); + PageData terDepartment = departmentMapper.getInfo(condition); + pd.put("TERRITORIALITY_DEPARTMENT_NAME",terDepartment.get("NAME")); + pd.put("IS_DELETE","0"); + pd.put("STEP_STATUS","0"); trainingbatchMapper.save(pd); - String ArrayDATA_IDS[] = pd.getString("users").split(","); - Arrays.asList(ArrayDATA_IDS).forEach(id -> { + String arrayDATA_ids[] = pd.getString("users").split(","); + Arrays.asList(arrayDATA_ids).forEach(id -> { PageData user = new PageData(); - user.put("TRAINUSERS_ID", UuidUtil.get32UUID()); - user.put("TRAININGBATCH_ID", batch_id); + user.put("TRAIN_USERS_ID", UuidUtil.get32UUID()); + user.put("TRAINING_BATCH_ID", batch_id); user.put("USER_ID", id); user.put("TRAIN_AREA", train_area); user.put("STATUS", 0); @@ -84,9 +119,18 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { user.put("MANAGER_STATE", 9); user.put("TERRITORIALITY_STATE", 9); user.put("STEP_STATUS", "0"); + user.put("BELONG_TO_CORP",pd.get("BELONG_TO_CORP")); + user.put("BELONG_TO_CORP_NAME",pd.get("BELONG_TO_CORP_NAME")); + user.put("IS_DELETE", "0"); + user.put("RESULT_STATUS","1"); trainUsersMapper.save(user); + condition.clear(); + condition.put("XGF_USER_ID",id); + PageData userEntity = xgfUserMapper.findById(condition); + userEntity.put("STATUS","3"); + userEntity.put("STUDY_STATUS","9"); + xgfUserMapper.edit(userEntity); }); - xgfUserMapper.bantchUpdateStatus(9,ArrayDATA_IDS); /* 保存审批流程信息 */ PageData flow = new PageData(); @@ -96,7 +140,7 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { flow.put("CREATOR_NAME",Jurisdiction.getName()); flow.put("CREATOR_TIME", DateUtil.getTime()); flow.put("VALID_FLAG", "1"); - flow.put("FOREIGN_KEY",pd.getString("TRAININGBATCH_ID")); + flow.put("FOREIGN_KEY",pd.getString("TRAINING_BATCH_ID")); flow.put("ISDELETE", "0"); flowMapper.save(flow); /* 保存审批流程明细信息 */ @@ -125,7 +169,7 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { public void unflowTrain(PageData pd)throws Exception{ PageData trainBatch = new PageData(); String batch_id = UuidUtil.get32UUID(); - trainBatch.put("TRAININGBATCH_ID", batch_id); //主键 + trainBatch.put("TRAINING_BATCH_ID", batch_id); //主键 trainBatch.put("CREATOR", pd.getString("TRAIN_CORP_LEADER_NAME")); //添加人 trainBatch.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 trainBatch.put("OPERATOR", pd.getString("TRAIN_CORP_LEADER_NAME")); //修改人 @@ -150,11 +194,11 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { trainBatch.put("AUDIT_STATUS", "2"); this.audit(trainBatch); - String ArrayDATA_IDS[] = pd.getString("users").split(","); - Arrays.asList(ArrayDATA_IDS).forEach(id -> { + String arrayDATA_IDS[] = pd.getString("users").split(","); + Arrays.asList(arrayDATA_IDS).forEach(id -> { PageData user = new PageData(); - user.put("TRAINUSERS_ID", UuidUtil.get32UUID()); - user.put("TRAININGBATCH_ID", batch_id); + user.put("TRAIN_USERS_ID", UuidUtil.get32UUID()); + user.put("TRAINING_BATCH_ID", batch_id); user.put("USER_ID", id); user.put("TRAIN_CORPINFO_ID", pd.getString("FIRST_PARTY_ID")); user.put("STATUS", 1); @@ -165,7 +209,7 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { user.put("STEP_STATUS", "0"); trainUsersMapper.save(user); }); - xgfUserMapper.bantchUpdateStatus(1,ArrayDATA_IDS); + xgfUserMapper.bantchUpdateStatus(1,arrayDATA_IDS); } @@ -278,7 +322,7 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { condition.clear(); condition.put("STATUS",info.getString("detailsStatus")); - condition.put("list",list.stream().filter(n -> "1".equals(n.getString("STATUS"))).map(n -> n.getString("TRAINUSERS_ID")).collect(Collectors.toList())); + condition.put("list",list.stream().filter(n -> "1".equals(n.getString("STATUS"))).map(n -> n.getString("TRAIN_USERS_ID")).collect(Collectors.toList())); trainUsersMapper.graduation(condition); } @@ -293,7 +337,7 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { condition.clear(); condition.put("STATUS",info.getString("detailsStatus")); - condition.put("TRAINUSERS_ID", info.getString("TRAINUSERS_ID")); + condition.put("TRAIN_USERS_ID", info.getString("TRAIN_USERS_ID")); trainUsersMapper.graduationstudent(condition); } @@ -302,7 +346,7 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { public void updateClassMessage(PageData info) { List list = Warden.getList(info.getString("list")); PageData condition = new PageData(); - condition.put("list", list.stream().map(n -> n.getString("TRAINUSERS_ID")).collect(Collectors.toList())); + condition.put("list", list.stream().map(n -> n.getString("TRAIN_USERS_ID")).collect(Collectors.toList())); if (StringUtils.isNotEmpty(info.getString("START_DATE"))){ condition.put("START_DATE",DateUtil.getTime()); } diff --git a/src/main/resources/mybatis/datasource/xgf/FlowDetailMapper.xml b/src/main/resources/mybatis/datasource/xgf/FlowDetailMapper.xml index c3e402d7..4a663f1e 100644 --- a/src/main/resources/mybatis/datasource/xgf/FlowDetailMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/FlowDetailMapper.xml @@ -1,6 +1,6 @@ - + diff --git a/src/main/resources/mybatis/datasource/xgf/TrainUsersMapper.xml b/src/main/resources/mybatis/datasource/xgf/TrainUsersMapper.xml index 1486b8ba..0c20cab8 100644 --- a/src/main/resources/mybatis/datasource/xgf/TrainUsersMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/TrainUsersMapper.xml @@ -4,7 +4,7 @@ - BUS_TRAINUSERS + xgf_train_users @@ -14,7 +14,7 @@ - f.TRAININGBATCH_ID, + f.TRAINING_BATCH_ID, f.USER_ID, f.START_DATE, f.END_DATE, @@ -30,13 +30,17 @@ f.TERRITORIALITY_STATE, f.TERRITORIALITY_OPINION, f.TERRITORIALITY_TIME, - f.TRAINUSERS_ID, - f.STEP_STATUS + f.TRAIN_USERS_ID, + f.STEP_STATUS, + f.BELONG_TO_CORP + f.BELONG_TO_CORP_NAME, + f.IS_DELETE, + f.RESULT_STATUS - TRAININGBATCH_ID, + TRAINING_BATCH_ID, USER_ID, START_DATE, END_DATE, @@ -52,13 +56,17 @@ TERRITORIALITY_STATE, TERRITORIALITY_OPINION, TERRITORIALITY_TIME, - TRAINUSERS_ID, - STEP_STATUS + TRAIN_USERS_ID, + STEP_STATUS, + BELONG_TO_CORP, + BELONG_TO_CORP_NAME, + IS_DELETE, + RESULT_STATUS - #{TRAININGBATCH_ID}, + #{TRAINING_BATCH_ID}, #{USER_ID}, #{START_DATE}, #{END_DATE}, @@ -74,8 +82,12 @@ #{TERRITORIALITY_STATE}, #{TERRITORIALITY_OPINION}, #{TERRITORIALITY_TIME}, - #{TRAINUSERS_ID}, - #{STEP_STATUS} + #{TRAIN_USERS_ID}, + #{STEP_STATUS}, + #{BELONG_TO_CORP}, + #{BELONG_TO_CORP_NAME}, + #{IS_DELETE}, + #{RESULT_STATUS} @@ -96,7 +108,7 @@ set ISDELETE = '1' where - TRAINUSERS_ID = #{TRAINUSERS_ID} + TRAIN_USERS_ID = #{TRAIN_USERS_ID} @@ -104,35 +116,34 @@ update set - TRAININGBATCH_ID = #{TRAININGBATCH_ID}, + TRAINING_BATCH_ID= #{TRAINING_BATCH_ID}, USER_ID = #{USER_ID}, START_DATE = #{START_DATE}, END_DATE = #{END_DATE}, STATUS = #{STATUS}, + TRAIN_CORPINFO_ID = #{TRAIN_CORPINFO_ID}, TRAIN_AREA = #{TRAIN_AREA}, + SUPERVISION_STATE = #{SUPERVISION_STATE}, + SUPERVISION_OPINION = #{SUPERVISION_OPINION}, + SUPERVISION_TIME = #{SUPERVISION_TINE}, + MANAGER_STATE = #{MANAGER_STATE}, + MANAGER_OPINION = #{MANAGER_OPINION}, + MANAGER_TIME = #{MANAGER_TIME}, + TERRITORIALITY_STATE = #{TERRITORIALITY_STATE}, + TERRITORIALITY_OPINION = #{TERRITORIALITY_OPINION}, + TERRITORIALITY_TIME = #{TERRITORIALITY_TIME}, STEP_STATUS = #{STEP_STATUS}, - TRAINUSERS_ID = TRAINUSERS_ID + BELONG_TO_CORP = #{BELONG_TO_CORP}, + BELONG_TO_CORP_NAME = #{BELONG_TO_CORP_NAME}, + IS_DELETE = #{IS_DELETE}, + RESULT_STATUS = #{RESULT_STATUS} where - TRAINUSERS_ID = #{TRAINUSERS_ID} + TRAIN_USERS_ID = #{TRAIN_USERS_ID} @@ -204,7 +215,7 @@ left join bus_corpinfo c on c.CORPINFO_ID = u.CORPINFO_ID left join vi_corp_info vc on vc.CORPINFO_ID = f.TRAIN_CORPINFO_ID left join oa_department d on d.DEPARTMENT_ID = u.DEPARTMENT_ID - where f.TRAININGBATCH_ID is null + where f.TRAINING_BATCH_ID is null and ( @@ -232,7 +243,7 @@ set ISDELETE = '1' where - TRAINUSERS_ID in + TRAIN_USERS_ID in #{item} @@ -249,15 +260,15 @@ END_DATE = #{END_DATE}, - TRAININGBATCH_ID = #{TRAININGBATCH_ID} + TRAINING_BATCH_ID = #{TRAINING_BATCH_ID} where - TRAININGBATCH_ID = #{TRAININGBATCH_ID} + TRAINING_BATCH_ID = #{TRAINING_BATCH_ID} @@ -421,7 +432,7 @@ f where - f.TRAINUSERS_ID = #{TRAINUSERS_ID} + f.TRAIN_USERS_ID = #{TRAIN_USERS_ID} @@ -299,7 +254,7 @@ set ISDELETE = '1' where - TRAININGBATCH_ID in + TRAINING_BATCH_ID in #{item} @@ -314,51 +269,27 @@ diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml index 3ab8dcc0..1517d39d 100644 --- a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml @@ -20,7 +20,8 @@ f.CORPINFO_ID, f.STATUS, f.OPERATOR_TIME, - f.ISFLOW + f.ISFLOW, + f.STUDY_STATUS @@ -36,7 +37,8 @@ CORPINFO_ID, STATUS, OPERATOR_TIME, - ISFLOW + ISFLOW, + STUDY_STATUS @@ -52,7 +54,8 @@ #{CORPINFO_ID}, #{STATUS}, #{OPERATOR_TIME}, - #{ISFLOW} + #{ISFLOW}, + #{STUDY_STATUS} @@ -91,7 +94,8 @@ CORPINFO_ID = #{CORPINFO_ID}, STATUS = #{STATUS}, OPERATOR_TIME = #{OPERATOR_TIME}, - ISFLOW = #{ISFLOW} + ISFLOW = #{ISFLOW}, + STUDY_STATUS = #{STUDY_STATUS} where XGF_USER_ID = #{XGF_USER_ID} @@ -106,7 +110,7 @@ update - set STATUS = #{STATUS} + set STUDY_STATUS = #{STATUS} where XGF_USER_ID in @@ -194,7 +198,7 @@ + From a28d97cea7cfc53bc9911c1489883b86a276278e Mon Sep 17 00:00:00 2001 From: liujun Date: Thu, 21 Dec 2023 13:58:57 +0800 Subject: [PATCH 20/39] =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=96=B9=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E8=AF=A6=E6=83=85=E7=BB=9F=E4=B8=80=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/xgf/XgfUserController.java | 28 +++++++++++++++++++ .../datasource/xgf/TrainingBatchMapper.java | 2 ++ .../mapper/datasource/xgf/XgfUserMapper.java | 2 ++ .../service/xgf/TrainingBatchService.java | 2 ++ .../zcloud/service/xgf/XgfUserService.java | 2 ++ .../xgf/impl/TrainingBatchServiceImpl.java | 5 ++++ .../service/xgf/impl/XgfUserServiceImpl.java | 5 ++++ .../datasource/xgf/TrainingBatchMapper.xml | 16 +++++++++++ .../mybatis/datasource/xgf/XgfUserMapper.xml | 15 ++++++++++ 9 files changed, 77 insertions(+) diff --git a/src/main/java/com/zcloud/controller/xgf/XgfUserController.java b/src/main/java/com/zcloud/controller/xgf/XgfUserController.java index 14169e38..3929e092 100644 --- a/src/main/java/com/zcloud/controller/xgf/XgfUserController.java +++ b/src/main/java/com/zcloud/controller/xgf/XgfUserController.java @@ -3,13 +3,17 @@ package com.zcloud.controller.xgf; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; +import com.zcloud.service.xgf.TrainingBatchService; import com.zcloud.service.xgf.XgfUserService; +import com.zcloud.util.HttpClientService; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.HashMap; +import java.util.List; import java.util.Map; @Controller @@ -19,6 +23,12 @@ public class XgfUserController extends BaseController { @Resource private XgfUserService xgfUserService; + @Value("${preventionxgf.api.url}") + private String url; + + @Resource + private TrainingBatchService trainingBatchService; + @RequestMapping(value = "/list") @ResponseBody @@ -59,11 +69,29 @@ public class XgfUserController extends BaseController { public Object getInfo() throws Exception { PageData request = this.getPageData(); PageData condition = new PageData(); + /*组织人员信息*/ condition.put("XGF_USER_ID", request.getString("XGF_USER_ID")); PageData entity = xgfUserService.findInfo(condition); + /*组织人员图片信息*/ + condition.put("USER_ID", entity.getString("XGF_USER_ID")); + condition.put("CORPINFO_ID", entity.getString("BELONG_TO_CORP")); + Map result = HttpClientService.doPost(url + "/openApi/user/getInfoPicture", condition); + if (result == null || !"succeed".equals(result.get("result"))) throw new RuntimeException("请求失败"); + /*组织员工培训信息*/ + condition.clear(); + condition.put("USER_ID", entity.getString("XGF_USER_ID")); + List recordList = xgfUserService.findRecordList(condition); + /*培训申请记录*/ + condition.clear(); + condition.put("USER_ID", entity.getString("XGF_USER_ID")); + List trainList = trainingBatchService.findByUserId(condition); + PageData response = new PageData(); response.put("result", "success"); response.put("info", entity); + response.put("img", result); + response.put("trainRecordList", recordList); + response.put("applyList", trainList); response.put("data", request); return response; } diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java index ef808ece..e25807f2 100644 --- a/src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java @@ -74,5 +74,7 @@ public interface TrainingBatchMapper{ PageData findAndTimeById(PageData pd); void graduation(PageData condition); + + List findByUserId(PageData condition); } diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java index aaf87245..63d2150e 100644 --- a/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/XgfUserMapper.java @@ -68,4 +68,6 @@ public interface XgfUserMapper { List flowlistPage(Page page); PageData getInfoById(PageData condition); + + List findRecordList(PageData condition); } diff --git a/src/main/java/com/zcloud/service/xgf/TrainingBatchService.java b/src/main/java/com/zcloud/service/xgf/TrainingBatchService.java index 2c55d312..1218f53d 100644 --- a/src/main/java/com/zcloud/service/xgf/TrainingBatchService.java +++ b/src/main/java/com/zcloud/service/xgf/TrainingBatchService.java @@ -87,5 +87,7 @@ public interface TrainingBatchService{ void updateClassMessage(PageData condition); void saveFlow(PageData request) throws Exception; + + List findByUserId(PageData condition) throws Exception; } diff --git a/src/main/java/com/zcloud/service/xgf/XgfUserService.java b/src/main/java/com/zcloud/service/xgf/XgfUserService.java index 8e0f2c92..3397027c 100644 --- a/src/main/java/com/zcloud/service/xgf/XgfUserService.java +++ b/src/main/java/com/zcloud/service/xgf/XgfUserService.java @@ -22,4 +22,6 @@ public interface XgfUserService { void approve(PageData request) throws Exception; PageData findInfo(PageData condition); + + List findRecordList(PageData condition) throws Exception; } diff --git a/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java index 71758050..0431c093 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java @@ -381,5 +381,10 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { next_flow.put("PARENT_ID",flow.getString("FLOW_DETAIL_ID")); flowDetailMapper.save(next_flow); } + + @Override + public List findByUserId(PageData condition) throws Exception { + return trainingbatchMapper.findByUserId(condition); + } } diff --git a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java index e25efcb5..93e6543c 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java @@ -146,4 +146,9 @@ public class XgfUserServiceImpl implements XgfUserService { public PageData findInfo(PageData condition) { return xgfUserMapper.getInfoById(condition); } + + @Override + public List findRecordList(PageData condition) throws Exception { + return xgfUserMapper.findRecordList(condition); + } } diff --git a/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml index db1bc1a0..93c694a7 100644 --- a/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml @@ -355,4 +355,20 @@ where f.TRAINING_BATCH_ID = #{TRAINING_BATCH_ID} + diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml index ad1548bc..7f75b3bd 100644 --- a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml @@ -268,5 +268,20 @@ and a.XGF_USER_ID = #{XGF_USER_ID} + From e55250245885dfd1da277ac0070395c955220431 Mon Sep 17 00:00:00 2001 From: liujun Date: Thu, 21 Dec 2023 15:15:45 +0800 Subject: [PATCH 21/39] =?UTF-8?q?=E6=9F=A5=E7=9C=8Bbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatis/datasource/xgf/TrainingBatchMapper.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml index 93c694a7..8b75a2cb 100644 --- a/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml @@ -236,7 +236,11 @@ From f59d2b05007f564e114a54db4d42d4a15b11e1b0 Mon Sep 17 00:00:00 2001 From: liujun Date: Thu, 21 Dec 2023 16:59:50 +0800 Subject: [PATCH 22/39] =?UTF-8?q?=E6=9F=A5=E7=9C=8Bbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/ApiXgfDepartmentController.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/com/zcloud/controller/api/ApiXgfDepartmentController.java diff --git a/src/main/java/com/zcloud/controller/api/ApiXgfDepartmentController.java b/src/main/java/com/zcloud/controller/api/ApiXgfDepartmentController.java new file mode 100644 index 00000000..7778e34d --- /dev/null +++ b/src/main/java/com/zcloud/controller/api/ApiXgfDepartmentController.java @@ -0,0 +1,30 @@ +package com.zcloud.controller.api; + +import com.zcloud.controller.base.BaseController; +import com.zcloud.entity.PageData; +import com.zcloud.service.bus.CorpInfoService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; + +@Controller +@RequestMapping("/openApi/preventCorp") +public class ApiXgfDepartmentController extends BaseController { + + @Resource + private CorpInfoService corpInfoService; + + /** + * 获取所有公司 + */ + @RequestMapping(value = "/getAllPreventionCorp") + @ResponseBody + private PageData getAllPreventionCorp() throws Exception { + PageData response = new PageData(); + response.put("result", "success"); + response.put("data", corpInfoService.listAll(new PageData())); + return response; + } +} From 644ee593984532e2a8bf32558a8f60c8ff8e3974 Mon Sep 17 00:00:00 2001 From: liujun Date: Thu, 21 Dec 2023 19:55:08 +0800 Subject: [PATCH 23/39] =?UTF-8?q?=E6=9F=A5=E7=9C=8Bbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xgf/impl/TrainingBatchServiceImpl.java | 655 +++++++++--------- .../service/xgf/impl/XgfUserServiceImpl.java | 7 +- .../datasource/xgf/XgfUserDetailsMapper.xml | 8 +- .../mybatis/datasource/xgf/XgfUserMapper.xml | 21 +- 4 files changed, 359 insertions(+), 332 deletions(-) diff --git a/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java index 0431c093..1e0e701e 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java @@ -28,363 +28,384 @@ import java.util.stream.Collectors; @Transactional //开启事物 public class TrainingBatchServiceImpl implements TrainingBatchService { - @Resource - private TrainingBatchMapper trainingbatchMapper; + @Resource + private TrainingBatchMapper trainingbatchMapper; - @Resource - private TrainUsersMapper trainUsersMapper; + @Resource + private TrainUsersMapper trainUsersMapper; - @Resource - private XgfUserMapper xgfUserMapper; + @Resource + private XgfUserMapper xgfUserMapper; - @Resource - private FlowMapper flowMapper; + @Resource + private FlowMapper flowMapper; - @Resource - private FlowDetailMapper flowDetailMapper; + @Resource + private FlowDetailMapper flowDetailMapper; - @Resource - private UsersMapper usersMapper; + @Resource + private UsersMapper usersMapper; - @Resource - private DepartmentMapper departmentMapper; + @Resource + private DepartmentMapper departmentMapper; - /**新增 - * @param pd - * @throws Exception - */ - public void save(PageData pd)throws Exception{ - /* 保存主题信息 */ - String batch_id=UuidUtil.get32UUID(); - String train_area=pd.getString("TRAIN_AREA"); - pd.put("TRAINING_BATCH_ID", batch_id); //主键 - pd.put("CREATOR", Jurisdiction.getUsername()); //添加人 - pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 - pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 - pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 - pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); - pd.put("ISDELETE", 0); //是否删除 1-是 0-否 + /** + * 新增 + * + * @param pd + * @throws Exception + */ + public void save(PageData pd) throws Exception { + /* 保存主题信息 */ + String batch_id = UuidUtil.get32UUID(); + String train_area = pd.getString("TRAIN_AREA"); + pd.put("TRAINING_BATCH_ID", batch_id); //主键 + pd.put("CREATOR", Jurisdiction.getUsername()); //添加人 + pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 + pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 + pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 + pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); + pd.put("ISDELETE", 0); //是否删除 1-是 0-否 - Calendar calendar = Calendar.getInstance(); - DecimalFormat dft=new DecimalFormat("00"); - int year = calendar.get(Calendar.YEAR); - String month = dft.format(calendar.get(Calendar.MONTH) + 1); - pd.put("CREATDATE",year + "-" + month); - PageData cpd = trainingbatchMapper.getCode(pd); //根据ID读取 - String code = year + "-" + month + "-" + dft.format((Integer.parseInt(cpd.get("code").toString())+1)); - pd.put("BATCH_NAME",code); - /*翻译*/ - PageData condition = new PageData(); - condition.put("USER_ID",pd.get("SUPERVISION_USER_ID")); - PageData supUser = usersMapper.getUserInfo(condition); - pd.put("SUPERVISION_USER_NAME",supUser.get("NAME")); + Calendar calendar = Calendar.getInstance(); + DecimalFormat dft = new DecimalFormat("00"); + int year = calendar.get(Calendar.YEAR); + String month = dft.format(calendar.get(Calendar.MONTH) + 1); + pd.put("CREATDATE", year + "-" + month); + PageData cpd = trainingbatchMapper.getCode(pd); //根据ID读取 + String code = year + "-" + month + "-" + dft.format((Integer.parseInt(cpd.get("code").toString()) + 1)); + pd.put("BATCH_NAME", code); + /*翻译*/ + PageData condition = new PageData(); + condition.put("USER_ID", pd.get("SUPERVISION_USER_ID")); + PageData supUser = usersMapper.getUserInfo(condition); + pd.put("SUPERVISION_USER_NAME", supUser.get("NAME")); - condition.clear(); - condition.put("DEPARTMENT_ID",pd.get("SUPERVISION")); - PageData supDepartment = departmentMapper.getInfo(condition); - pd.put("SUPERVISION_DEPARTMENT_NAME",supDepartment.get("NAME")); + condition.clear(); + condition.put("DEPARTMENT_ID", pd.get("SUPERVISION")); + PageData supDepartment = departmentMapper.getInfo(condition); + pd.put("SUPERVISION_DEPARTMENT_NAME", supDepartment.get("NAME")); - condition.clear(); - condition.put("USER_ID",pd.get("MANAGER_USER_ID")); - PageData manUser = usersMapper.getUserInfo(condition); - pd.put("MANAGER_USER_NAME",manUser.get("NAME")); + condition.clear(); + condition.put("USER_ID", pd.get("MANAGER_USER_ID")); + PageData manUser = usersMapper.getUserInfo(condition); + pd.put("MANAGER_USER_NAME", manUser.get("NAME")); - condition.clear(); - condition.put("DEPARTMENT_ID",pd.get("MANAGER")); - PageData manDepartment = departmentMapper.getInfo(condition); - pd.put("MANAGER_DEPARTMENT_NAME",manDepartment.get("NAME")); + condition.clear(); + condition.put("DEPARTMENT_ID", pd.get("MANAGER")); + PageData manDepartment = departmentMapper.getInfo(condition); + pd.put("MANAGER_DEPARTMENT_NAME", manDepartment.get("NAME")); - condition.clear(); - condition.put("USER_ID",pd.get("TERRITORIALITY_USER_ID")); - PageData terUser = usersMapper.getUserInfo(condition); - pd.put("TERRITORIALITY_USER_NAME",terUser.get("NAME")); + // 2023-12-21 相关方功能限制,暂时移除集团单位审批节点 created by sparrow + if (StringUtils.isNotEmpty(pd.getString("TERRITORIALITY_USER_ID"))) { + condition.clear(); + condition.put("USER_ID", pd.get("TERRITORIALITY_USER_ID")); + PageData terUser = usersMapper.getUserInfo(condition); + pd.put("TERRITORIALITY_USER_NAME", terUser == null ? "" : terUser.get("NAME")); - condition.clear(); - condition.put("DEPARTMENT_ID",pd.get("TERRITORIALITY")); - PageData terDepartment = departmentMapper.getInfo(condition); - pd.put("TERRITORIALITY_DEPARTMENT_NAME",terDepartment.get("NAME")); - pd.put("IS_DELETE","0"); - pd.put("STEP_STATUS","0"); - trainingbatchMapper.save(pd); + condition.clear(); + condition.put("DEPARTMENT_ID", pd.get("TERRITORIALITY")); + PageData terDepartment = departmentMapper.getInfo(condition); + pd.put("TERRITORIALITY_DEPARTMENT_NAME", terDepartment == null ? "" : terDepartment.get("NAME")); + } - String arrayDATA_ids[] = pd.getString("users").split(","); - Arrays.asList(arrayDATA_ids).forEach(id -> { - PageData user = new PageData(); - user.put("TRAIN_USERS_ID", UuidUtil.get32UUID()); - user.put("TRAINING_BATCH_ID", batch_id); - user.put("USER_ID", id); - user.put("TRAIN_AREA", train_area); - user.put("STATUS", 0); - user.put("SUPERVISION_STATE", 9); - user.put("MANAGER_STATE", 9); - user.put("TERRITORIALITY_STATE", 9); - user.put("STEP_STATUS", "0"); - user.put("BELONG_TO_CORP",pd.get("BELONG_TO_CORP")); - user.put("BELONG_TO_CORP_NAME",pd.get("BELONG_TO_CORP_NAME")); - user.put("IS_DELETE", "0"); - user.put("RESULT_STATUS","1"); - trainUsersMapper.save(user); - condition.clear(); - condition.put("XGF_USER_ID",id); - PageData userEntity = xgfUserMapper.findById(condition); - userEntity.put("STATUS","3"); - userEntity.put("STUDY_STATUS","9"); - xgfUserMapper.edit(userEntity); - }); + pd.put("IS_DELETE", "0"); + pd.put("STEP_STATUS", "1"); + trainingbatchMapper.save(pd); - /* 保存审批流程信息 */ - PageData flow = new PageData(); - flow.put("FLOW_ID", Warden.get32UUID()); - flow.put("TYPE", "0"); - flow.put("CREATOR",Jurisdiction.getUSER_ID()); - flow.put("CREATOR_NAME",Jurisdiction.getName()); - flow.put("CREATOR_TIME", DateUtil.getTime()); - flow.put("VALID_FLAG", "1"); - flow.put("FOREIGN_KEY",pd.getString("TRAINING_BATCH_ID")); - flow.put("ISDELETE", "0"); - flowMapper.save(flow); - /* 保存审批流程明细信息 */ - PageData flowDetail = new PageData(); - flowDetail.put("FLOW_DETAIL_ID", Warden.get32UUID()); - flowDetail.put("FLOW_ID", flow.getString("FLOW_ID")); - flowDetail.put("STEP_FLAG", "1"); - flowDetail.put("SORT",0); - flowDetail.put("APPROVER_ID",Jurisdiction.getUSER_ID()); - flowDetail.put("APPROVER_NAME",Jurisdiction.getName()); - flowDetail.put("APPROVER_TIME", DateUtil.getTime()); - flowDetail.put("APPROVER_CORPINFO_ID",Jurisdiction.getCORPINFO_ID()); - // TODO 未完成 - flowDetail.put("APPROVER_CORPINFO_NAME",""); - flowDetail.put("PASS_FLAG", "1"); - flowDetail.put("END_FLAG", "0"); - flowDetail.put("ISDELETE", "0"); - flowDetail.put("PARENT_ID","0"); - flowDetailMapper.save(flowDetail); - } + String arrayDATA_ids[] = pd.getString("users").split(","); + Arrays.asList(arrayDATA_ids).forEach(id -> { + PageData user = new PageData(); + user.put("TRAIN_USERS_ID", UuidUtil.get32UUID()); + user.put("TRAINING_BATCH_ID", batch_id); + user.put("USER_ID", id); + user.put("TRAIN_AREA", train_area); + user.put("STATUS", 0); + user.put("SUPERVISION_STATE", 9); + user.put("MANAGER_STATE", 9); + user.put("TERRITORIALITY_STATE", 9); + user.put("STEP_STATUS", "1"); + user.put("BELONG_TO_CORP", pd.get("BELONG_TO_CORP")); + user.put("BELONG_TO_CORP_NAME", pd.get("BELONG_TO_CORP_NAME")); + user.put("IS_DELETE", "0"); + user.put("RESULT_STATUS", "1"); + trainUsersMapper.save(user); + condition.clear(); + condition.put("XGF_USER_ID", id); + PageData userEntity = xgfUserMapper.findById(condition); + userEntity.put("STATUS", "3"); + userEntity.put("STUDY_STATUS", "9"); + xgfUserMapper.edit(userEntity); + }); - /**固定人员培训 - * @param pd - * @throws Exception - */ - public void unflowTrain(PageData pd)throws Exception{ - PageData trainBatch = new PageData(); - String batch_id = UuidUtil.get32UUID(); - trainBatch.put("TRAINING_BATCH_ID", batch_id); //主键 - trainBatch.put("CREATOR", pd.getString("TRAIN_CORP_LEADER_NAME")); //添加人 - trainBatch.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 - trainBatch.put("OPERATOR", pd.getString("TRAIN_CORP_LEADER_NAME")); //修改人 - trainBatch.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 - trainBatch.put("ISDELETE", 0); //是否删除 1-是 0-否 - trainBatch.put("TYPE", 1); - trainBatch.put("USER_COUNT", pd.getString("USER_COUNT")); - trainBatch.put("AUDIT_STATUS", 0); - trainBatch.put("TRAIN_CORP_DEPT", pd.getString("TRAIN_CORP_DEPT")); - trainBatch.put("TRAIN_CORP_LEADER", pd.getString("TRAIN_CORP_LEADER")); + /* 保存审批流程信息 */ + PageData flow = new PageData(); + flow.put("FLOW_ID", Warden.get32UUID()); + flow.put("TYPE", "0"); + flow.put("CREATOR", Jurisdiction.getUSER_ID()); + flow.put("CREATOR_NAME", Jurisdiction.getName()); + flow.put("CREATOR_TIME", DateUtil.getTime()); + flow.put("VALID_FLAG", "1"); + flow.put("FOREIGN_KEY", pd.getString("TRAINING_BATCH_ID")); + flow.put("ISDELETE", "0"); + flowMapper.save(flow); + /* 保存审批流程明细信息 */ + PageData flowDetail = new PageData(); + flowDetail.put("FLOW_DETAIL_ID", Warden.get32UUID()); + flowDetail.put("FLOW_ID", flow.getString("FLOW_ID")); + flowDetail.put("STEP_FLAG", "1"); + flowDetail.put("SORT", 0); + flowDetail.put("APPROVER_ID", Jurisdiction.getUSER_ID()); + flowDetail.put("APPROVER_NAME", Jurisdiction.getName()); + flowDetail.put("APPROVER_TIME", DateUtil.getTime()); + flowDetail.put("APPROVER_CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); + // TODO 未完成 + flowDetail.put("APPROVER_CORPINFO_NAME", ""); + flowDetail.put("PASS_FLAG", "1"); + flowDetail.put("END_FLAG", "0"); + flowDetail.put("ISDELETE", "0"); + flowDetail.put("PARENT_ID", "0"); + flowDetailMapper.save(flowDetail); + } - Calendar calendar = Calendar.getInstance(); - DecimalFormat dft = new DecimalFormat("00"); - int year = calendar.get(Calendar.YEAR); - String month = dft.format(calendar.get(Calendar.MONTH) + 1); - trainBatch.put("CREATDATE", year + "-" + month); - PageData cpd = trainingbatchMapper.getCode(trainBatch); //根据ID读取 - String code = year + "-" + month + "-" + dft.format((Integer.parseInt(cpd.get("code").toString()) + 1)); - trainBatch.put("BATCH_NAME", code); + /** + * 固定人员培训 + * + * @param pd + * @throws Exception + */ + public void unflowTrain(PageData pd) throws Exception { + PageData trainBatch = new PageData(); + String batch_id = UuidUtil.get32UUID(); + trainBatch.put("TRAINING_BATCH_ID", batch_id); //主键 + trainBatch.put("CREATOR", pd.getString("TRAIN_CORP_LEADER_NAME")); //添加人 + trainBatch.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 + trainBatch.put("OPERATOR", pd.getString("TRAIN_CORP_LEADER_NAME")); //修改人 + trainBatch.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 + trainBatch.put("ISDELETE", 0); //是否删除 1-是 0-否 + trainBatch.put("TYPE", 1); + trainBatch.put("USER_COUNT", pd.getString("USER_COUNT")); + trainBatch.put("AUDIT_STATUS", 0); + trainBatch.put("TRAIN_CORP_DEPT", pd.getString("TRAIN_CORP_DEPT")); + trainBatch.put("TRAIN_CORP_LEADER", pd.getString("TRAIN_CORP_LEADER")); - trainingbatchMapper.save(trainBatch); - trainBatch.put("AUDIT_STATUS", "2"); - this.audit(trainBatch); + Calendar calendar = Calendar.getInstance(); + DecimalFormat dft = new DecimalFormat("00"); + int year = calendar.get(Calendar.YEAR); + String month = dft.format(calendar.get(Calendar.MONTH) + 1); + trainBatch.put("CREATDATE", year + "-" + month); + PageData cpd = trainingbatchMapper.getCode(trainBatch); //根据ID读取 + String code = year + "-" + month + "-" + dft.format((Integer.parseInt(cpd.get("code").toString()) + 1)); + trainBatch.put("BATCH_NAME", code); - String arrayDATA_IDS[] = pd.getString("users").split(","); - Arrays.asList(arrayDATA_IDS).forEach(id -> { - PageData user = new PageData(); - user.put("TRAIN_USERS_ID", UuidUtil.get32UUID()); - user.put("TRAINING_BATCH_ID", batch_id); - user.put("USER_ID", id); - user.put("TRAIN_CORPINFO_ID", pd.getString("FIRST_PARTY_ID")); - user.put("STATUS", 1); - user.put("START_DATE", DateUtil.date2Str(new Date())); - user.put("SUPERVISION_STATE", 9); - user.put("MANAGER_STATE", 9); - user.put("TERRITORIALITY_STATE", 9); - user.put("STEP_STATUS", "0"); - trainUsersMapper.save(user); - }); - xgfUserMapper.bantchUpdateStatus(1,arrayDATA_IDS); + trainingbatchMapper.save(trainBatch); + trainBatch.put("AUDIT_STATUS", "2"); + this.audit(trainBatch); - } + String arrayDATA_IDS[] = pd.getString("users").split(","); + Arrays.asList(arrayDATA_IDS).forEach(id -> { + PageData user = new PageData(); + user.put("TRAIN_USERS_ID", UuidUtil.get32UUID()); + user.put("TRAINING_BATCH_ID", batch_id); + user.put("USER_ID", id); + user.put("TRAIN_CORPINFO_ID", pd.getString("FIRST_PARTY_ID")); + user.put("STATUS", 1); + user.put("START_DATE", DateUtil.date2Str(new Date())); + user.put("SUPERVISION_STATE", 9); + user.put("MANAGER_STATE", 9); + user.put("TERRITORIALITY_STATE", 9); + user.put("STEP_STATUS", "0"); + trainUsersMapper.save(user); + }); + xgfUserMapper.bantchUpdateStatus(1, arrayDATA_IDS); - /**删除 - * @param pd - * @throws Exception - */ - public void delete(PageData pd)throws Exception{ - trainingbatchMapper.delete(pd); - } + } - /**修改 - * @param pd - * @throws Exception - */ - public void edit(PageData pd)throws Exception{ - trainingbatchMapper.edit(pd); - } + /** + * 删除 + * + * @param pd + * @throws Exception + */ + public void delete(PageData pd) throws Exception { + trainingbatchMapper.delete(pd); + } - public void audit(PageData pd)throws Exception{ - if(Integer.parseInt(pd.getString("AUDIT_STATUS")) == -1){ - pd.put("STATUS",0); - pd.put("ENTRUST_TIME", DateUtil.date2Str(new Date())); - xgfUserMapper.updateStatusByFlowTrain(pd); - trainingbatchMapper.audit(pd); - }else if(Integer.parseInt(pd.getString("AUDIT_STATUS")) == 2){ - pd.put("STATUS",1); - pd.put("START_DATE",DateUtil.date2Str(new Date())); - pd.put("AUDIT_TIME", DateUtil.date2Str(new Date())); - xgfUserMapper.updateStatusByFlowTrain(pd); - trainUsersMapper.updateStatusByFlowTrain(pd); - trainingbatchMapper.audit(pd); - }else if(Integer.parseInt(pd.getString("AUDIT_STATUS")) == 3){ - pd.put("STATUS",2); - pd.put("END_DATE",DateUtil.date2Str(new Date())); - pd.put("VERIFY_TIME",DateUtil.date2Str(new Date())); - xgfUserMapper.updateStatusByFlowTrain(pd); - trainUsersMapper.updateStatusByFlowTrain(pd); - trainingbatchMapper.audit(pd); - }else{ - pd.put("ENTRUST_TIME", DateUtil.date2Str(new Date())); - trainingbatchMapper.audit(pd); - } - } + /** + * 修改 + * + * @param pd + * @throws Exception + */ + public void edit(PageData pd) throws Exception { + trainingbatchMapper.edit(pd); + } - /**列表 - * @param page - * @throws Exception - */ - public List list(Page page)throws Exception{ - return trainingbatchMapper.datalistPage(page); - } + public void audit(PageData pd) throws Exception { + if (Integer.parseInt(pd.getString("AUDIT_STATUS")) == -1) { + pd.put("STATUS", 0); + pd.put("ENTRUST_TIME", DateUtil.date2Str(new Date())); + xgfUserMapper.updateStatusByFlowTrain(pd); + trainingbatchMapper.audit(pd); + } else if (Integer.parseInt(pd.getString("AUDIT_STATUS")) == 2) { + pd.put("STATUS", 1); + pd.put("START_DATE", DateUtil.date2Str(new Date())); + pd.put("AUDIT_TIME", DateUtil.date2Str(new Date())); + xgfUserMapper.updateStatusByFlowTrain(pd); + trainUsersMapper.updateStatusByFlowTrain(pd); + trainingbatchMapper.audit(pd); + } else if (Integer.parseInt(pd.getString("AUDIT_STATUS")) == 3) { + pd.put("STATUS", 2); + pd.put("END_DATE", DateUtil.date2Str(new Date())); + pd.put("VERIFY_TIME", DateUtil.date2Str(new Date())); + xgfUserMapper.updateStatusByFlowTrain(pd); + trainUsersMapper.updateStatusByFlowTrain(pd); + trainingbatchMapper.audit(pd); + } else { + pd.put("ENTRUST_TIME", DateUtil.date2Str(new Date())); + trainingbatchMapper.audit(pd); + } + } - /**列表(全部) - * @param pd - * @throws Exception - */ - public List listAll(PageData pd)throws Exception{ - return trainingbatchMapper.listAll(pd); - } + /** + * 列表 + * + * @param page + * @throws Exception + */ + public List list(Page page) throws Exception { + return trainingbatchMapper.datalistPage(page); + } - /**通过id获取数据 - * @param pd - * @throws Exception - */ - public PageData findById(PageData pd)throws Exception{ - return trainingbatchMapper.findById(pd); - } + /** + * 列表(全部) + * + * @param pd + * @throws Exception + */ + public List listAll(PageData pd) throws Exception { + return trainingbatchMapper.listAll(pd); + } - /**批量删除 - * @param ArrayDATA_IDS - * @throws Exception - */ - public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ - trainingbatchMapper.deleteAll(ArrayDATA_IDS); - } + /** + * 通过id获取数据 + * + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd) throws Exception { + return trainingbatchMapper.findById(pd); + } - /** - * 获取编号 - * @param pd - * @return - */ - @Override - public PageData getCode(PageData pd) throws Exception{ - return trainingbatchMapper.getCode(pd); - } + /** + * 批量删除 + * + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS) throws Exception { + trainingbatchMapper.deleteAll(ArrayDATA_IDS); + } - public List batchUserlistPage(Page page)throws Exception{ - return trainingbatchMapper.batchUserlistPage(page); - } + /** + * 获取编号 + * + * @param pd + * @return + */ + @Override + public PageData getCode(PageData pd) throws Exception { + return trainingbatchMapper.getCode(pd); + } - @Override - public List passUserlistPage(Page page) throws Exception { - return trainingbatchMapper.passUserlistPage(page); - } + public List batchUserlistPage(Page page) throws Exception { + return trainingbatchMapper.batchUserlistPage(page); + } - @Override - public void graduation(PageData condition) { - trainingbatchMapper.graduation(condition); - xgfUserMapper.graduation(condition); - } + @Override + public List passUserlistPage(Page page) throws Exception { + return trainingbatchMapper.passUserlistPage(page); + } - @Override - public void openClass(PageData info) { - List list = Warden.getList(info.getString("list")); - PageData condition = new PageData(); - condition.put("STATUS",info.getString("userStatus")); - condition.put("list", list.stream().filter(n -> "1".equals(n.getString("STATUS"))).map(n -> n.getString("USER_ID")).collect(Collectors.toList())); - xgfUserMapper.graduation(condition); + @Override + public void graduation(PageData condition) { + trainingbatchMapper.graduation(condition); + xgfUserMapper.graduation(condition); + } - condition.clear(); - condition.put("STATUS",info.getString("detailsStatus")); - condition.put("list",list.stream().filter(n -> "1".equals(n.getString("STATUS"))).map(n -> n.getString("TRAIN_USERS_ID")).collect(Collectors.toList())); - trainUsersMapper.graduation(condition); + @Override + public void openClass(PageData info) { + List list = Warden.getList(info.getString("list")); + PageData condition = new PageData(); + condition.put("STATUS", info.getString("userStatus")); + condition.put("list", list.stream().filter(n -> "1".equals(n.getString("STATUS"))).map(n -> n.getString("USER_ID")).collect(Collectors.toList())); + xgfUserMapper.graduation(condition); - } + condition.clear(); + condition.put("STATUS", info.getString("detailsStatus")); + condition.put("list", list.stream().filter(n -> "1".equals(n.getString("STATUS"))).map(n -> n.getString("TRAIN_USERS_ID")).collect(Collectors.toList())); + trainUsersMapper.graduation(condition); - @Override - public void openStudentClass(PageData info) { + } + + @Override + public void openStudentClass(PageData info) { // List list = Warden.getList(info.getString("list")); - PageData condition = new PageData(); - condition.put("STATUS",info.getString("userStatus")); - condition.put("USER_ID", info.getString("USER_ID")); - xgfUserMapper.graduationstudent(condition); + PageData condition = new PageData(); + condition.put("STATUS", info.getString("userStatus")); + condition.put("USER_ID", info.getString("USER_ID")); + xgfUserMapper.graduationstudent(condition); - condition.clear(); - condition.put("STATUS",info.getString("detailsStatus")); - condition.put("TRAIN_USERS_ID", info.getString("TRAIN_USERS_ID")); - trainUsersMapper.graduationstudent(condition); + condition.clear(); + condition.put("STATUS", info.getString("detailsStatus")); + condition.put("TRAIN_USERS_ID", info.getString("TRAIN_USERS_ID")); + trainUsersMapper.graduationstudent(condition); - } + } - @Override - public void updateClassMessage(PageData info) { - List list = Warden.getList(info.getString("list")); - PageData condition = new PageData(); - condition.put("list", list.stream().map(n -> n.getString("TRAIN_USERS_ID")).collect(Collectors.toList())); - if (StringUtils.isNotEmpty(info.getString("START_DATE"))){ - condition.put("START_DATE",DateUtil.getTime()); - } - if (StringUtils.isNotEmpty(info.getString("END_DATE"))){ - condition.put("END_DATE",DateUtil.getTime()); - } - trainUsersMapper.updateDate(condition); - } + @Override + public void updateClassMessage(PageData info) { + List list = Warden.getList(info.getString("list")); + PageData condition = new PageData(); + condition.put("list", list.stream().map(n -> n.getString("TRAIN_USERS_ID")).collect(Collectors.toList())); + if (StringUtils.isNotEmpty(info.getString("START_DATE"))) { + condition.put("START_DATE", DateUtil.getTime()); + } + if (StringUtils.isNotEmpty(info.getString("END_DATE"))) { + condition.put("END_DATE", DateUtil.getTime()); + } + trainUsersMapper.updateDate(condition); + } - @Override - public void saveFlow(PageData request) throws Exception { - /* 保存审批流程明细信息 */ - PageData condition = new PageData(); - condition.put("FLOW_ID", request.getString("FLOW_ID")); - condition.put("STEP_FLAG", "1"); - PageData flow = flowDetailMapper.selectOne(condition); - flow.put("STEP_FLAG", "0"); - flowDetailMapper.edit(flow); - PageData next_flow = new PageData(); - next_flow.put("FLOW_DETAIL_ID", Warden.get32UUID()); - next_flow.put("FLOW_ID", flow.getString("FLOW_ID")); - next_flow.put("STEP_FLAG", "1"); - next_flow.put("SORT",(Integer)flow.get("SORT")+1); - next_flow.put("APPROVER_ID",request.get("APPROVER_ID")); - next_flow.put("APPROVER_NAME",request.get("APPROVER_NAME")); - next_flow.put("APPROVER_TIME", DateUtil.getTime()); - next_flow.put("APPROVER_CORPINFO_ID",request.get("APPROVER_CORPINFO_ID")); - next_flow.put("APPROVER_CORPINFO_NAME",request.get("APPROVER_CORPINFO_NAME")); - next_flow.put("PASS_FLAG", "1"); - next_flow.put("END_FLAG", "0"); - next_flow.put("ISDELETE", "0"); - next_flow.put("PARENT_ID",flow.getString("FLOW_DETAIL_ID")); - flowDetailMapper.save(next_flow); - } + @Override + public void saveFlow(PageData request) throws Exception { + /* 保存审批流程明细信息 */ + PageData condition = new PageData(); + condition.put("FLOW_ID", request.getString("FLOW_ID")); + condition.put("STEP_FLAG", "1"); + PageData flow = flowDetailMapper.selectOne(condition); + flow.put("STEP_FLAG", "0"); + flowDetailMapper.edit(flow); + PageData next_flow = new PageData(); + next_flow.put("FLOW_DETAIL_ID", Warden.get32UUID()); + next_flow.put("FLOW_ID", flow.getString("FLOW_ID")); + next_flow.put("STEP_FLAG", "1"); + next_flow.put("SORT", (Integer) flow.get("SORT") + 1); + next_flow.put("APPROVER_ID", request.get("APPROVER_ID")); + next_flow.put("APPROVER_NAME", request.get("APPROVER_NAME")); + next_flow.put("APPROVER_TIME", DateUtil.getTime()); + next_flow.put("APPROVER_CORPINFO_ID", request.get("APPROVER_CORPINFO_ID")); + next_flow.put("APPROVER_CORPINFO_NAME", request.get("APPROVER_CORPINFO_NAME")); + next_flow.put("PASS_FLAG", "1"); + next_flow.put("END_FLAG", "0"); + next_flow.put("ISDELETE", "0"); + next_flow.put("PARENT_ID", flow.getString("FLOW_DETAIL_ID")); + flowDetailMapper.save(next_flow); + } - @Override - public List findByUserId(PageData condition) throws Exception { - return trainingbatchMapper.findByUserId(condition); - } + @Override + public List findByUserId(PageData condition) throws Exception { + return trainingbatchMapper.findByUserId(condition); + } } diff --git a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java index 93e6543c..17de5f5d 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java @@ -61,11 +61,13 @@ public class XgfUserServiceImpl implements XgfUserService { if (entity == null || entity.size() <= 0) { x.put("XGF_USER_ID", x.get("USER_ID")); x.put("XGF_USER_DETAILS_ID", x.get("USER_ID")); - x.put("ISDELETE", "0"); + x.put("XGF_USER_NAME", x.get("NAME")); x.put("VALID_FLAG", "1"); x.put("STATUS", "2"); x.put("CREATED_TIME", DateUtil.getTime()); x.put("OPERATOR_TIME", DateUtil.getTime()); + x.put("IS_DELETE", "0"); + x.put("CREATE_TIME", DateUtil.getTime()); condition.clear(); condition.put("DEPARTMENT_ID",x.get("MANAGER_DEPARTMENT_ID")); PageData regDepartmentEntity = departmentService.getCorpDepartment(condition); @@ -75,7 +77,8 @@ public class XgfUserServiceImpl implements XgfUserService { } else { x.put("XGF_USER_ID", x.get("USER_ID")); x.put("XGF_USER_DETAILS_ID", x.get("USER_ID")); - x.put("ISDELETE", "0"); + x.put("IS_DELETE", "0"); + x.put("CREATE_TIME", DateUtil.getTime()); x.put("OPERATOR_TIME", DateUtil.getTime()); condition.clear(); condition.put("DEPARTMENT_ID",x.get("MANAGER_DEPARTMENT_ID")); diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml index 409d2f14..2a3ed948 100644 --- a/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserDetailsMapper.xml @@ -15,7 +15,7 @@ f.BELONG_TO_CORP, f.BELONG_TO_CORP_NAME, f.PHONE, - f.CREAT_TIME, + f.CREATE_TIME, f.DEPART_STATE, f.ISDELETE, f.AGE, @@ -69,7 +69,7 @@ BELONG_TO_CORP, BELONG_TO_CORP_NAME, PHONE, - CREAT_TIME, + CREATE_TIME, DEPART_STATE, ISDELETE, AGE, @@ -124,7 +124,7 @@ #{BELONG_TO_CORP}, #{BELONG_TO_CORP_NAME}, #{PHONE}, - #{CREAT_TIME}, + #{CREATE_TIME}, #{DEPART_STATE}, #{ISDELETE}, #{AGE}, @@ -203,7 +203,7 @@ BELONG_TO_CORP = #{BELONG_TO_CORP}, BELONG_TO_CORP_NAME = #{BELONG_TO_CORP_NAME}, PHONE = #{PHONE}, - CREAT_TIME = #{CREAT_TIME}, + CREATE_TIME = #{CREATE_TIME}, DEPART_STATE = #{DEPART_STATE}, ISDELETE = #{ISDELETE}, AGE = #{AGE}, diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml index 7f75b3bd..53ccf893 100644 --- a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml @@ -15,8 +15,8 @@ f.VALID_FLAG, f.BELONG_TO_CORP, f.BELONG_TO_CORP_NAME, - f.ISDELETE, - f.CREATED_TIME, + f.IS_DELETE, + f.CREATE_TIME, f.CORPINFO_ID, f.STATUS, f.OPERATOR_TIME, @@ -32,8 +32,8 @@ VALID_FLAG, BELONG_TO_CORP, BELONG_TO_CORP_NAME, - ISDELETE, - CREATED_TIME, + IS_DELETE, + CREATE_TIME, CORPINFO_ID, STATUS, OPERATOR_TIME, @@ -49,8 +49,8 @@ #{VALID_FLAG}, #{BELONG_TO_CORP}, #{BELONG_TO_CORP_NAME}, - #{ISDELETE}, - #{CREATED_TIME}, + #{IS_DELETE}, + #{CREATE_TIME}, #{CORPINFO_ID}, #{STATUS}, #{OPERATOR_TIME}, @@ -90,7 +90,7 @@ BELONG_TO_CORP = #{BELONG_TO_CORP}, BELONG_TO_CORP_NAME = #{BELONG_TO_CORP_NAME}, ISDELETE = #{ISDELETE}, - CREATED_TIME = #{CREATED_TIME}, + CREATE_TIME = #{CREATE_TIME}, CORPINFO_ID = #{CORPINFO_ID}, STATUS = #{STATUS}, OPERATOR_TIME = #{OPERATOR_TIME}, @@ -155,7 +155,7 @@ and(f.BELONG_TO_CORP_NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')) - ORDER BY f.CREATED_TIME DESC + ORDER BY f.CREATE_TIME DESC @@ -204,6 +204,9 @@ and a.STATUS = #{pd.STATUS} + + and a.STUDY_STATUS != #{pd.UN_STUDY_STATUS} + @@ -174,7 +174,7 @@ update set - ISDELETE = '1', + IS_DELETE = '1', OPERATOR = #{OPERATOR}, OPERATTIME = #{OPERATTIME} where @@ -191,23 +191,30 @@ from f - where f.ISDELETE = '0' - and XGF_USER_ID in + where f.IS_DELETE = '0' + and f.XGF_USER_ID in #{item} + + and a.STUDY_STATUS = #{pd.STUDY_STATUS} + + + and a.CORPINFO_ID = #{pd.CORPINFO_ID} + + @@ -310,7 +310,7 @@ update set - ISDELETE = '1', + IS_DELETE = '1', OPERATOR = #{OPERATOR}, OPERATTIME = #{OPERATTIME} where @@ -327,7 +327,7 @@ from f - where f.ISDELETE = '0' + where f.IS_DELETE = '0' and XFG_USER_DETAILS_ID in #{item} diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml index 9196bc81..6af23e20 100644 --- a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml @@ -210,7 +210,7 @@ from xgf_user a left join xgf_user_details b on a.XGF_USER_ID = b.XGF_USER_ID - where 1=1 + where a.IS_DELETE = '0' and a.STATUS = #{pd.STATUS} @@ -302,7 +302,7 @@ left join `qa-gwj-regulatory`.bus_class_message rcm on rf.CLASS_MESSAGE_ID = rcm.CLASS_MESSAGE_ID left join sys_dictionaries sdp on sdp.DICTIONARIES_ID = rcm.PLACE left join sys_dictionaries sdt on sdt.DICTIONARIES_ID = rcm.TRAINING_TYPE - where rf.USER_ID = #{USER_ID} + where rf.USER_ID = #{USER_ID} and rf.ISDELETE = '0' order by rf.CREATE_TIME desc From 4f60d4f571b91b94fdb509b10c2ba24c22c11e01 Mon Sep 17 00:00:00 2001 From: liujun Date: Mon, 25 Dec 2023 14:45:17 +0800 Subject: [PATCH 29/39] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=A4=9A=E9=80=89bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java index 980c1801..321cdddb 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java @@ -164,6 +164,7 @@ public class XgfUserServiceImpl implements XgfUserService { entity.put("STATUS", "0"); } else { entity.put("STATUS", "2"); + entity.put("VALID_FLAG", "1"); } xgfUserMapper.edit(entity); From 797a8c0586a19953b58f17ed9c347a2ce3f9c235 Mon Sep 17 00:00:00 2001 From: liujun Date: Mon, 25 Dec 2023 18:17:09 +0800 Subject: [PATCH 30/39] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/xgf/FlowTrainController.java | 16 ++++++++++++++++ .../datasource/xgf/TrainingBatchMapper.java | 2 ++ .../zcloud/service/xgf/TrainingBatchService.java | 2 ++ .../xgf/impl/TrainingBatchServiceImpl.java | 5 +++++ src/main/resources/application.properties | 6 +++--- .../datasource/xgf/TrainingBatchMapper.xml | 7 +++++++ 6 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zcloud/controller/xgf/FlowTrainController.java b/src/main/java/com/zcloud/controller/xgf/FlowTrainController.java index 47df2e56..353793ec 100644 --- a/src/main/java/com/zcloud/controller/xgf/FlowTrainController.java +++ b/src/main/java/com/zcloud/controller/xgf/FlowTrainController.java @@ -148,4 +148,20 @@ public class FlowTrainController extends BaseController { map.put("result", "success"); return map; } + + @RequestMapping(value = "/oldBatchList") + @ResponseBody + public Object oldBatchList(Page page) throws Exception { + Map map = new HashMap(); + PageData pd = this.getPageData(); + pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); + String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 + if (Tools.notEmpty(KEYWORDS)) pd.put("KEYWORDS", KEYWORDS.trim()); + page.setPd(pd); + List varList = trainingbatchService.oldBatchList(page); //列出TrainingBatch列表 + map.put("varList", varList); + map.put("page", page); + map.put("result", "success"); + return map; + } } diff --git a/src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java b/src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java index e25807f2..76fdf346 100644 --- a/src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java +++ b/src/main/java/com/zcloud/mapper/datasource/xgf/TrainingBatchMapper.java @@ -76,5 +76,7 @@ public interface TrainingBatchMapper{ void graduation(PageData condition); List findByUserId(PageData condition); + + List oldlistPage(Page page); } diff --git a/src/main/java/com/zcloud/service/xgf/TrainingBatchService.java b/src/main/java/com/zcloud/service/xgf/TrainingBatchService.java index 1218f53d..5dff54a4 100644 --- a/src/main/java/com/zcloud/service/xgf/TrainingBatchService.java +++ b/src/main/java/com/zcloud/service/xgf/TrainingBatchService.java @@ -89,5 +89,7 @@ public interface TrainingBatchService{ void saveFlow(PageData request) throws Exception; List findByUserId(PageData condition) throws Exception; + + List oldBatchList(Page page) throws Exception; } diff --git a/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java index 1e0e701e..773f317e 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/TrainingBatchServiceImpl.java @@ -407,5 +407,10 @@ public class TrainingBatchServiceImpl implements TrainingBatchService { public List findByUserId(PageData condition) throws Exception { return trainingbatchMapper.findByUserId(condition); } + + @Override + public List oldBatchList(Page page) throws Exception { + return trainingbatchMapper.oldlistPage(page); + } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index a48eb064..ea7feb10 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -2,9 +2,9 @@ spring.application.name=qa-prevention-gwj server.port=8091 #?? -#spring.profiles.active=local -#31ʱʹ -spring.profiles.active=dev +spring.profiles.active=local +#����31ʱʹ�� +#spring.profiles.active=dev #?? #spring.profiles.active=master diff --git a/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml index 4f8b7672..c6175178 100644 --- a/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/TrainingBatchMapper.xml @@ -280,6 +280,7 @@ a.TRAIN_USERS_ID, a.STEP_STATUS, a.USER_ID, + a.USER_ID as XGF_USER_ID, a.SUPERVISION_STATE, a.MANAGER_STATE, a.TERRITORIALITY_STATE, @@ -378,4 +379,10 @@ and USER_ID = #{USER_ID} order by b.CREATTIME desc; + From 021a6551a3a6305f553e292eb07d99706a72da42 Mon Sep 17 00:00:00 2001 From: guoyuepeng <770272267@qq.com> Date: Tue, 26 Dec 2023 11:48:51 +0800 Subject: [PATCH 31/39] =?UTF-8?q?=E5=8A=A8=E6=80=81=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E7=9A=84=E9=BB=98=E8=AE=A4=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-dev.properties | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index 20e9d9dc..ca0829af 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -60,25 +60,21 @@ spring.main.banner-mode=off #preventionxgf.api.url=http://192.168.0.79:8088 # #qa-regulatory-gwj.api.url=http://192.168.0.79:8008 - -corp.default.pic-path=https://qgqy.qhdsafety.com/file/ -corp.default.back-end-path=http://192.168.151.57:8092/ - preventionxgf.api.url=http://192.168.0.31:8992/qa-prevention-xgf/ qa-regulatory-gwj.api.url=http://192.168.0.31:8992/qa-regulatory-gwj/ #????? -smb.host=39.103.224.166 +smb.host=192.168.192.201 smb.port=22 smb.user=root -smb.password=Zcloud@zcloud88888 -smb.basePath=/mnt/qgfile/file/ +smb.password=SJSKAQHBGLXT@20220311 +smb.basePath=/mnt/qask/file/ #Mq\u914D\u7F6E rocketmq.consumer.group2=edu-admin-edit rocketmq.consumer.group1=edu-admin-add #rocketmq.name-server=10.0.140.141:9876 #rocketmq.name-server=192.168.0.70:9876 -rocketmq.name-server=192.168.0.31:9876 +rocketmq.name-server=192.168.192.201:9876 rocketmq.producer.group=libmiddle rocketmq.producer.send-message-timeout=3000 rocketmq.producer.compress-message-body-threshold=4096 From e1cd46b49308010c59d194c11bb7c23c37c88dc1 Mon Sep 17 00:00:00 2001 From: liujun Date: Tue, 26 Dec 2023 12:35:28 +0800 Subject: [PATCH 32/39] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcloud/service/xgf/impl/XgfUserServiceImpl.java | 12 +++++++++++- src/main/resources/application-local.properties | 6 +++--- .../mybatis/datasource/xgf/XgfUserMapper.xml | 3 +++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java index 321cdddb..169722b4 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java @@ -2,6 +2,7 @@ package com.zcloud.service.xgf.impl; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.xgf.TrainUsersMapper; import com.zcloud.mapper.datasource.xgf.XgfUserDetailsMapper; import com.zcloud.mapper.datasource.xgf.XgfUserMapper; import com.zcloud.service.bus.CorpInfoService; @@ -28,6 +29,9 @@ public class XgfUserServiceImpl implements XgfUserService { @Resource private XgfUserDetailsMapper xgfUserDetailsMapper; + @Resource + private TrainUsersMapper trainUsersMapper; + @Resource private DepartmentService departmentService; @@ -107,10 +111,16 @@ public class XgfUserServiceImpl implements XgfUserService { if (regDepartmentEntity.size() > 0) { x.put("MAIN_DEPARTMENT_NAME", regDepartmentEntity.get("NAME")); } - x.put("IS_DELETE", "0"); x.put("VALID_FLAG", "1"); x.put("STATUS", "2"); + if ("2".equals(x.getString("STUDY_STATUS"))) { + x.put("STUDY_STATUS", "2"); + }else { + x.put("STUDY_STATUS", entity.getString("STUDY_STATUS")); + } + x.put("STUDY_STATUS",entity.getString("STUDY_STATUS")); + xgfUserMapper.edit(x); xgfUserDetailsMapper.edit(x); } diff --git a/src/main/resources/application-local.properties b/src/main/resources/application-local.properties index 8d8cc1c0..1b26fc67 100644 --- a/src/main/resources/application-local.properties +++ b/src/main/resources/application-local.properties @@ -65,11 +65,11 @@ preventionxgf.api.url=http://192.168.0.79:8088/ qa-regulatory-gwj.api.url=http://192.168.0.79:8092/ #????? -smb.host=39.103.224.166 +smb.host=192.168.192.201 smb.port=22 smb.user=root -smb.password=Zcloud@zcloud88888 -smb.basePath=/mnt/qgfile/file/ +smb.password=SJSKAQHBGLXT@20220311 +smb.basePath=/mnt/qask/file/ #Mq\u914D\u7F6E rocketmq.consumer.group2=edu-admin-edit diff --git a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml index 6af23e20..ddbff968 100644 --- a/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml +++ b/src/main/resources/mybatis/datasource/xgf/XgfUserMapper.xml @@ -226,6 +226,9 @@ and (a.USERNAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')) + + and a.VALID_FLAG = #{pd.VALID_FLAG} +