Merge branch 'master' of http://118.89.139.230:10101/r/~whyclxw/CadDrawManager
New file |
| | |
| | | package com.whyc.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.mapper.DocUserMapper; |
| | | import com.whyc.pojo.DocUser; |
| | | import com.whyc.service.DocUserService; |
| | | import com.whyc.util.ActionUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | @RequestMapping("login") |
| | | @RestController |
| | | @Api(tags = "登录") |
| | | public class LoginController { |
| | | |
| | | @Autowired |
| | | private DocUserService userService; |
| | | |
| | | @Autowired |
| | | private DocUserMapper userMapper; |
| | | |
| | | @PostMapping("/") |
| | | @ApiOperation(value ="登录") |
| | | public Response login(@RequestParam String name, String snId, HttpServletRequest request){ |
| | | return userService.login(name,snId,request); |
| | | } |
| | | |
| | | @PutMapping("changeUser") |
| | | @ApiOperation(value = "切换用户") |
| | | public boolean changeUser(@RequestParam Long userId){ |
| | | QueryWrapper<DocUser> query = Wrappers.query(); |
| | | query.eq("id",userId).last(" limit 1"); |
| | | DocUser userInf = userMapper.selectOne(query); |
| | | ActionUtil.getSession().setAttribute("user",userInf); |
| | | return true; |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | @RestController |
| | | @RequestMapping("worksheetLink") |
| | | @Api(tags = "工单流程") |
| | | @Api(tags = "工作流") |
| | | public class WorksheetLinkController { |
| | | |
| | | @Autowired |
| | |
| | | |
| | | @RestController |
| | | @RequestMapping("worksheetMain") |
| | | @Api(tags = "工单流程") |
| | | @Api(tags = "工作流") |
| | | public class WorksheetMainController { |
| | | |
| | | @Autowired |
| | | private WorksheetMainService service; |
| | | |
| | | @PostMapping("submit") |
| | | @ApiOperation("工单提交") |
| | | @ApiOperation("图纸提交") |
| | | public Response submit(@RequestBody WorksheetMain main){ |
| | | service.submit(main); |
| | | return new Response().setII(1,"工单提交完成"); |
| | | DocUser user = ActionUtil.getUser(); |
| | | boolean res = service.submit(main,user); |
| | | if(res) { |
| | | return new Response().set(1,true, "提交完成"); |
| | | }else{ |
| | | return new Response().set(1,false,"角色无法提交图纸"); |
| | | } |
| | | } |
| | | |
| | | @GetMapping("list") |
| | | @ApiOperation("获取工单流程-用户对应的待处理/已处理/已提交/已驳回") |
| | | @ApiOperation("获取工作流-各角色用户对应的工作台数据分类") |
| | | public Response getList(){ |
| | | DocUser user = ActionUtil.getUser(); |
| | | Map<String,WorksheetMain> map = service.getList(); |
| | | Map<String,WorksheetMain> map = service.getList(user); |
| | | return new Response().set(1,map); |
| | | } |
| | | |
| | | @GetMapping("linkInfo") |
| | | @ApiOperation("获取工单流程-单个工单信息流") |
| | | @ApiOperation("获取工作流-单个信息流") |
| | | public Response getLinkList(@RequestParam int id){ |
| | | WorksheetMain main = service.getLinkList(id); |
| | | return new Response().set(1,main); |
| | |
| | | /**父节点id*/ |
| | | private Integer parentId; |
| | | /**处理人*/ |
| | | private Integer dealUserId; |
| | | private Long dealUserId; |
| | | /** |
| | | * 处理类型(父节点到当前子节点的处理类型): |
| | | * 0:驳回(员工处理中) |
| | |
| | | |
| | | /**流程的下个处理人*/ |
| | | @TableField(exist = false) |
| | | private Integer nextUser; |
| | | private Long nextUser; |
| | | |
| | | @TableField(exist = false) |
| | | private DocUser dealUser; |
| | |
| | | this.parentId = parentId; |
| | | } |
| | | |
| | | public Integer getDealUserId() { |
| | | public Long getDealUserId() { |
| | | return dealUserId; |
| | | } |
| | | |
| | | public void setDealUserId(Integer dealUserId) { |
| | | public void setDealUserId(Long dealUserId) { |
| | | this.dealUserId = dealUserId; |
| | | } |
| | | |
| | |
| | | this.dealTime = dealTime; |
| | | } |
| | | |
| | | public Integer getNextUser() { |
| | | public Long getNextUser() { |
| | | return nextUser; |
| | | } |
| | | |
| | | public void setNextUser(Integer nextUser) { |
| | | public void setNextUser(Long nextUser) { |
| | | this.nextUser = nextUser; |
| | | } |
| | | |
| | |
| | | /**工单文件路径*/ |
| | | private String file; |
| | | /**工单创建人id*/ |
| | | private Integer createUserId; |
| | | private Long createUserId; |
| | | /**工单开始时间*/ |
| | | private Date beginTime; |
| | | /**工单结束时间*/ |
| | |
| | | private Integer level; |
| | | /** |
| | | * 工单状态: |
| | | * 0:员工处理中 |
| | | * 0:员工处理中(已驳回) |
| | | * 1:经理处理中 |
| | | * 2:总经理处理中 |
| | | * 5:归档 |
| | |
| | | |
| | | /**流程的下个处理人*/ |
| | | @TableField(exist = false) |
| | | private Integer nextUser; |
| | | private Long nextUser; |
| | | |
| | | /**提交人的意见描述*/ |
| | | @TableField(exist = false) |
| | |
| | | this.file = file; |
| | | } |
| | | |
| | | public Integer getCreateUserId() { |
| | | public Long getCreateUserId() { |
| | | return createUserId; |
| | | } |
| | | |
| | | public void setCreateUserId(Integer createUserId) { |
| | | public void setCreateUserId(Long createUserId) { |
| | | this.createUserId = createUserId; |
| | | } |
| | | |
| | |
| | | this.endReason = endReason; |
| | | } |
| | | |
| | | public Integer getNextUser() { |
| | | public Long getNextUser() { |
| | | return nextUser; |
| | | } |
| | | |
| | | public void setNextUser(Integer nextUser) { |
| | | public void setNextUser(Long nextUser) { |
| | | this.nextUser = nextUser; |
| | | } |
| | | |
| | |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.mapper.DocUserMapper; |
| | | import com.whyc.pojo.DocUser; |
| | | import com.whyc.util.ActionUtil; |
| | | import com.whyc.util.RSAUtil; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.apache.shiro.authc.UnknownAccountException; |
| | | import org.apache.shiro.authc.UsernamePasswordToken; |
| | | import org.apache.shiro.subject.Subject; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.system.ApplicationHome; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.util.List; |
| | |
| | | int bl=mapper.delete(wrapper); |
| | | return new Response().setII(1,bl>0?true:false,bl,"删除返回"); |
| | | } |
| | | |
| | | public Response login(String name, String snId, HttpServletRequest request) { |
| | | Response response = new Response(); |
| | | String[] dataArr = RSAUtil.decryptFrontP(snId, RSAUtil.fontSeparator); |
| | | //验签md5 |
| | | if (!dataArr[1].equals(ActionUtil.EncryptionMD5(org.apache.commons.lang3.StringUtils.trim(dataArr[0])).toString())) { |
| | | return response.set(1, false, "密码验签失败"); |
| | | } |
| | | UsernamePasswordToken userToken = new UsernamePasswordToken(name, dataArr[0]); |
| | | Subject subject = SecurityUtils.getSubject(); |
| | | try { |
| | | subject.login(userToken); |
| | | } catch (Exception e) { |
| | | if(e instanceof UnknownAccountException){ |
| | | return response.set(1,false,"账号不存在"); |
| | | } |
| | | return response.set(1,false,"密码错误"); |
| | | } |
| | | //登录成功 |
| | | //Session存储当前用户及权限组列表 |
| | | DocUser userDB = (DocUser) subject.getPrincipal(); |
| | | userDB.setSnId(null); |
| | | request.getSession().setAttribute("user", userDB); |
| | | return response.setII(1,true, userDB,"登录成功"); |
| | | } |
| | | } |
| | |
| | | public DocUser findPasswordByUserName(String userName) { |
| | | DocUser userInf = null; |
| | | QueryWrapper<DocUser> queryWrapper = Wrappers.query(); |
| | | queryWrapper.select("uId","uName","upassword","UKey_ID","uRole","uSex","uMobilephone","uEmail","uAddr","uDepartment","uBirthDay").eq("uName",userName); |
| | | queryWrapper.select("id","name","sn_id","role_id").eq("name",userName); |
| | | userInf = userMapper.selectOne(queryWrapper); |
| | | |
| | | return userInf==null?new DocUser(0L,"用户不存在"):userInf; |
| | |
| | | if(link.getLinkStatus() == 2){ //驳回 |
| | | //驳回到员工进行处理 |
| | | //查询工单的员工 |
| | | Integer createUserId = mainService.getInfoById(link.getMainId()).getCreateUserId(); |
| | | Long createUserId = mainService.getInfoById(link.getMainId()).getCreateUserId(); |
| | | WorksheetLink link2 = new WorksheetLink(); |
| | | link2.setMainId(link.getMainId()); |
| | | link2.setParentId(link.getId()); |
| | |
| | | if(link.getLinkStatus() == 2){ //驳回 |
| | | //驳回到员工进行处理 |
| | | //查询工单的员工 |
| | | Integer createUserId = mainService.getInfoById(link.getMainId()).getCreateUserId(); |
| | | Long createUserId = mainService.getInfoById(link.getMainId()).getCreateUserId(); |
| | | WorksheetLink link2 = new WorksheetLink(); |
| | | link2.setMainId(link.getMainId()); |
| | | link2.setParentId(link.getId()); |
| | |
| | | package com.whyc.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.whyc.mapper.DocUserMapper; |
| | | import com.whyc.mapper.WorksheetLinkMapper; |
| | | import com.whyc.mapper.WorksheetMainMapper; |
| | | import com.whyc.pojo.DocUser; |
| | | import com.whyc.pojo.WorksheetLink; |
| | | import com.whyc.pojo.WorksheetMain; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | |
| | | @Resource |
| | | private WorksheetLinkMapper linkMapper; |
| | | |
| | | public void submit(WorksheetMain main) { |
| | | //提交工单主表 |
| | | @Resource |
| | | private DocUserMapper userMapper; |
| | | |
| | | @Transactional |
| | | public boolean submit(WorksheetMain main, DocUser user) { |
| | | //提交主表 |
| | | main.setCreateUserId(user.getId()); |
| | | //提交人角色来判断工作流层级 |
| | | if(user.getRoleId().equals("1001")){ |
| | | main.setLevel(2); |
| | | main.setStatus(1); |
| | | mainMapper.insert(main); |
| | | //提交工单子表 |
| | | //提交子表 |
| | | WorksheetLink link =new WorksheetLink(); |
| | | link.setMainId(main.getId()); |
| | | link.setParentId(0); |
| | |
| | | link.setLinkStatus(0); |
| | | link.setEnableArchive(0); |
| | | linkMapper.insert(link); |
| | | } |
| | | else if(user.getRoleId().equals("1002")){ |
| | | main.setLevel(1); |
| | | main.setStatus(2); |
| | | mainMapper.insert(main); |
| | | //提交子表 |
| | | WorksheetLink link =new WorksheetLink(); |
| | | link.setMainId(main.getId()); |
| | | link.setParentId(0); |
| | | link.setDealUserId(main.getNextUser()); |
| | | link.setDealType(2); |
| | | link.setDealDesc(main.getDealDesc()); |
| | | link.setLinkStatus(0); |
| | | link.setEnableArchive(1); |
| | | linkMapper.insert(link); |
| | | } |
| | | else if(user.getRoleId().equals("1003")){ |
| | | main.setLevel(0); |
| | | main.setStatus(5); |
| | | mainMapper.insert(main); |
| | | }else{ |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | public WorksheetMain getInfoById(Integer id) { |
| | |
| | | mainMapper.updateById(main); |
| | | } |
| | | |
| | | public Map<String, WorksheetMain> getList() { |
| | | /**用户对应的工作台数据分类 |
| | | * @param user TODO*/ |
| | | public Map<String, WorksheetMain> getList(DocUser user) { |
| | | Map<String,WorksheetMain> map = new HashMap<>(); |
| | | switch (user.getRoleId()){ |
| | | //普通员工 |
| | | case "1001": |
| | | { |
| | | //未处理/已驳回/已审批 |
| | | QueryWrapper<WorksheetMain> query = Wrappers.query(); |
| | | query.eq("create_user_id",user.getId()); |
| | | List<WorksheetMain> worksheetMainList = mainMapper.selectList(query); |
| | | } |
| | | break; |
| | | //项目经理 |
| | | case "1002": |
| | | { |
| | | //待处理/未处理/已驳回/已审批 |
| | | |
| | | } |
| | | break; |
| | | //总经理 |
| | | case "1003": |
| | | { |
| | | //待处理/已审批 |
| | | } |
| | | break; |
| | | } |
| | | |
| | | return null; |
| | | } |