| | |
| | | import com.dg.core.annotation.Authorization; |
| | | import com.dg.core.annotation.CurrentUser; |
| | | import com.dg.core.db.gen.entity.*; |
| | | import com.dg.core.db.manual.mapper.util.ConstantPropertiesUtil; |
| | | import com.dg.core.service.IGuideEvolveService; |
| | | import com.dg.core.service.IGuideRepairOrderService; |
| | | import com.dg.core.service.IOrganizationChartService; |
| | | import com.dg.core.util.PermissionUtil; |
| | | import com.dg.core.util.SmsUtil; |
| | | import com.dg.core.util.TableDataInfo; |
| | | import com.dg.core.util.WxUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.core.StringRedisTemplate; |
| | | import org.springframework.util.Assert; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @Autowired |
| | | private IGuideEvolveService iGuideEvolveService; |
| | | |
| | | @Autowired |
| | | IOrganizationChartService iOrganizationChartService; |
| | | |
| | | @Resource(name = "stringRedisTemplate") |
| | | private StringRedisTemplate stringRedisTemplate; |
| | | |
| | | private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk"; |
| | | |
| | | |
| | | @Resource |
| | | SmsUtil smsUtil; |
| | | |
| | | |
| | | /** |
| | | * 提交导办订单 |
| | | * @return |
| | |
| | | public ResultData addOrder(@RequestBody GuideRepairOrder guideRepairOrder,@CurrentUser SysUser sysUser) { |
| | | guideRepairOrder.setSubmitUserId(sysUser.getUserId().toString()); |
| | | guideRepairOrder.setSubmitUserPhone(sysUser.getPhonenumber()); |
| | | return toAjax(iGuideRepairOrderService.addOrder(guideRepairOrder)); |
| | | guideRepairOrder.setSubmitUserPhone(sysUser.getPhonenumber()); |
| | | guideRepairOrder.setSubmitType(2); |
| | | int i = iGuideRepairOrderService.addOrder(guideRepairOrder); |
| | | if (i>0){ |
| | | iGuideEvolveService.updateGuid(); |
| | | return ResultData.success(); |
| | | } |
| | | else |
| | | return ResultData.error("提交失败,请检查你是否有相同的咨询内容在处理中"); |
| | | } |
| | | |
| | | |
| | |
| | | @GetMapping("/orderdata") |
| | | @Authorization |
| | | public ResultData selectConfigData(@RequestParam(value = "Id",required = false) String Id, |
| | | @RequestParam(value = "orderNum",required = false) String orderNum) |
| | | @RequestParam(value = "orderNum",required = false) String orderNum, |
| | | @CurrentUser SysUser sysUser) |
| | | { |
| | | if(StringUtils.isEmpty(Id) && StringUtils.isEmpty(orderNum)) |
| | | { |
| | |
| | | } |
| | | |
| | | GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(Id,orderNum); |
| | | order.setGuideEvolveEntities(iGuideEvolveService.selectConfigList(Id)); |
| | | order.setGuideEvolveEntities(iGuideEvolveService.selectConfigList(Id,sysUser)); |
| | | |
| | | return ResultData.success(order); |
| | | } |
| | |
| | | return ResultData.error("导办人员id不能为空"); |
| | | } |
| | | |
| | | if(StringUtils.isEmpty(order.getGuideUserPhone())) |
| | | { |
| | | return ResultData.error("导办人员电话不能为空"); |
| | | } |
| | | |
| | | |
| | | //已分配 |
| | | order.setState("2"); |
| | |
| | | GuideEvolveEntity entity=new GuideEvolveEntity(); |
| | | entity.setCreateTime(LocalDateTime.now()); |
| | | entity.setUpdateTime(LocalDateTime.now()); |
| | | entity.setState("13"); |
| | | entity.setDepartmentalId(sysUser.getDepartmentId()); |
| | | entity.setToUserId(sysUser.getUserId()+""); |
| | | entity.setFromUserId(order.getGuideUserId()); |
| | | entity.setFromDepartmentalId(order.getGuideDepartmentId()); |
| | | |
| | | entity.setState("11"); |
| | | entity.setDepartmentalId(order.getGuideDepartmentId()); |
| | | entity.setToUserId(order.getGuideUserId()); |
| | | entity.setFromUserId(sysUser.getUserId().toString()); |
| | | entity.setFromDepartmentalId(sysUser.getDepartmentId()); |
| | | entity.setGuideId(order.getId().toString()); |
| | | iGuideRepairOrderService.updateSysUserOrderNum(entity); |
| | | iGuideEvolveService.insertConfig(entity); |
| | | |
| | | order=iGuideRepairOrderService.setTimeoutTim(order); |
| | | return toAjax(iGuideRepairOrderService.updateConfig(order)); |
| | | } |
| | | |
| | |
| | | return ResultData.error("导办人员id不能为空"); |
| | | } |
| | | |
| | | if(StringUtils.isEmpty(order.getGuideUserPhone())) |
| | | { |
| | | return ResultData.error("导办人员电话不能为空"); |
| | | } |
| | | |
| | | //已分配 |
| | | order.setState("2"); |
| | | |
| | |
| | | GuideEvolveEntity entity=new GuideEvolveEntity(); |
| | | entity.setCreateTime(LocalDateTime.now()); |
| | | entity.setUpdateTime(LocalDateTime.now()); |
| | | entity.setState("12"); |
| | | entity.setDepartmentalId(sysUser.getDepartmentId()); |
| | | entity.setToUserId(sysUser.getUserId()+""); |
| | | entity.setFromUserId(order.getGuideUserId()); |
| | | entity.setFromDepartmentalId(order.getGuideDepartmentId()); |
| | | entity.setState("10"); |
| | | entity.setDepartmentalId(order.getGuideDepartmentId()); |
| | | entity.setToUserId(order.getGuideUserId()); |
| | | entity.setFromUserId(sysUser.getUserId()+""); |
| | | entity.setFromDepartmentalId(sysUser.getDepartmentId()); |
| | | entity.setGuideId(order.getId().toString()); |
| | | |
| | | iGuideEvolveService.insertConfig(entity); |
| | | iGuideRepairOrderService.updateSysUserOrderNum(entity); |
| | | |
| | | return toAjax(iGuideRepairOrderService.updateConfig(order)); |
| | | } |
| | |
| | | { |
| | | return ResultData.error("该工单已办结!"); |
| | | } |
| | | |
| | | if(!StringUtils.equals(order.getState(),"2")) |
| | | { |
| | | return ResultData.error("该工单非是待办状态!"); |
| | | if(StringUtils.equals(entity.getState(),"2")){//如果用户选择未解决则状态改为待办 |
| | | order.setState("2"); |
| | | entity.setState("9"); |
| | | } |
| | | //待评价 |
| | | order.setState("4"); |
| | | else if(StringUtils.equals(entity.getState(),"4")){ |
| | | //待评价 |
| | | if (order.getSubmitType().equals(1))//小程序提交 |
| | | { |
| | | WxUtil wxUtil=new WxUtil(); |
| | | String accessToken="0"; |
| | | try { |
| | | accessToken= stringRedisTemplate.boundValueOps("access_token:access_token:" + ConstantPropertiesUtil.WX_OPEN_APP_ID).get(); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | SysUser submitUser = iGuideRepairOrderService.getSubmitUser(order); |
| | | wxUtil.sendGuideRepairOrderComplete(submitUser.getOpenid(),accessToken,guideRepairOrderCompleteTemplateId,entity); |
| | | } |
| | | else if (order.getSubmitType().equals(2)){ |
| | | smsUtil.sendSmsComplete(order.getConsultUserPhone(),order.getMatterName()); |
| | | } |
| | | order.setState("4"); |
| | | entity.setState("7"); |
| | | } |
| | | //新增已办结记录 |
| | | entity.setCreateTime(LocalDateTime.now()); |
| | | entity.setUpdateTime(LocalDateTime.now()); |
| | | entity.setState("4"); |
| | | entity.setFromDepartmentalId(sysUser.getDepartmentId()); |
| | | entity.setFromUserId(sysUser.getUserId()+""); |
| | | entity.setGuideId(order.getId().toString()); |
| | | iGuideEvolveService.insertConfig(entity); |
| | | iGuideRepairOrderService.updateSysUserOrderNum(entity); |
| | | return toAjax(iGuideRepairOrderService.updateConfig(order)); |
| | | } |
| | | |
| | |
| | | entity.setState("5"); |
| | | entity.setFromDepartmentalId(sysUser.getDepartmentId()); |
| | | entity.setFromUserId(sysUser.getUserId()+""); |
| | | entity.setGuideId(order.getId().toString()); |
| | | iGuideEvolveService.insertConfig(entity); |
| | | return toAjax(iGuideRepairOrderService.updateConfig(order)); |
| | | } |
| | |
| | | return ResultData.error("工单id不能为空"); |
| | | } |
| | | |
| | | if(!StringUtils.equals(entity.getState(),"4")) |
| | | { |
| | | return ResultData.error("该工单不能评价!"); |
| | | } |
| | | |
| | | if(StringUtils.isEmpty(entity.getEvaluateState())) |
| | | { |
| | | return ResultData.error("满意程度不能为空!"); |
| | |
| | | GuideEvolveEntity guideEvolveEntity=new GuideEvolveEntity(); |
| | | guideEvolveEntity.setCreateTime(LocalDateTime.now()); |
| | | guideEvolveEntity.setUpdateTime(LocalDateTime.now()); |
| | | guideEvolveEntity.setState("3"); |
| | | guideEvolveEntity.setState("13"); |
| | | guideEvolveEntity.setFromDepartmentalId(sysUser.getDepartmentId()); |
| | | guideEvolveEntity.setFromUserId(sysUser.getUserId()+""); |
| | | iGuideEvolveService.insertConfig(guideEvolveEntity); |
| | | |
| | | return toAjax(iGuideRepairOrderService.updateConfig(entity)); |
| | | guideEvolveEntity.setGuideId(entity.getId().toString()); |
| | | int i = iGuideRepairOrderService.updateConfig(entity); |
| | | if (i>0) |
| | | return toAjax( iGuideEvolveService.insertConfig(guideEvolveEntity)); |
| | | else |
| | | return ResultData.error(); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param sysUser 当前登录人员信息 |
| | | * @return |
| | | */ |
| | | @ApiOperation("获取个人中心工单数据") |
| | | @ApiOperation(value = "获取个人中心工单数据",response = GuideRepairOrder.class) |
| | | @GetMapping("/personalCenter") |
| | | @Authorization |
| | | public ResultData selectBySubmitId(@CurrentUser SysUser sysUser){ |
| | |
| | | @GetMapping("/getList") |
| | | @Authorization |
| | | public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, |
| | | @RequestParam(value = "pageSize",required = false) Integer pageSize, |
| | | @RequestParam(value = "matterName",required = false) String matterName) |
| | | @RequestParam(value = "pageSize",required = false) Integer pageSize, |
| | | @RequestParam(value = "matterName",required = false) String matterName, |
| | | @RequestParam(value = "status",required = false) String status, |
| | | @RequestParam(value = "createTimeStartTime",required = false) String createTimeStartTime, |
| | | @RequestParam(value = "createTimeTimeEndTime",required = false) String createTimeTimeEndTime, |
| | | @RequestParam(value = "classifyId",required = false)String classifyId, |
| | | @CurrentUser SysUser sysUser) |
| | | { |
| | | Assert.notNull(pageNum, "pageNum 不能为空"); |
| | | Assert.notNull(pageSize, "pageSize 不能为空"); |
| | | Page<GuideRepairOrder> pageParam = new Page<>(pageNum,pageSize); |
| | | List<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(pageParam,pageSize,matterName); |
| | | int num=iGuideRepairOrderService.countConfigList(matterName); |
| | | |
| | | List<String> ids=null; |
| | | String userId=null; |
| | | if( StringUtils.equals("2",sysUser.getRoleIds())) |
| | | { |
| | | if(StringUtils.equals("1",sysUser.getIsDivisionHead())) |
| | | { |
| | | ids=PermissionUtil.getPermission(sysUser,iOrganizationChartService); |
| | | } |
| | | else |
| | | { |
| | | userId=sysUser.getUserId()+""; |
| | | ids=new ArrayList<>(); |
| | | ids.add(sysUser.getDepartmentId()); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ids=PermissionUtil.getPermission(sysUser,iOrganizationChartService); |
| | | } |
| | | |
| | | List<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(pageParam,pageSize, |
| | | matterName,ids,status,userId,createTimeStartTime,createTimeTimeEndTime,classifyId); |
| | | int num=iGuideRepairOrderService.countConfigList(matterName,ids,status,userId); |
| | | return getDataTable(list,num); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("导办工单统计不同状态工单数") |
| | | @GetMapping("/getWorkOrder") |
| | | @Authorization |
| | | public ResultData getWorkOrder(@CurrentUser SysUser sysUser) |
| | | { |
| | | WorkOrder workOrder=new WorkOrder(); |
| | | List<String> ids=null; |
| | | String userId=null; |
| | | if( StringUtils.equals("2",sysUser.getRoleIds())) |
| | | { |
| | | if(StringUtils.equals("1",sysUser.getIsDivisionHead())) |
| | | { |
| | | ids=PermissionUtil.getPermission(sysUser,iOrganizationChartService); |
| | | } |
| | | else |
| | | { |
| | | userId=sysUser.getUserId()+""; |
| | | ids=new ArrayList<>(); |
| | | ids.add(sysUser.getDepartmentId()); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ids=PermissionUtil.getPermission(sysUser,iOrganizationChartService); |
| | | } |
| | | |
| | | //状态(1待分配 2 待办结 3 已办结 4 待评价 5 已取消 ) |
| | | workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",ids,null,null,null,null,null,userId)); |
| | | workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",ids,null,null,null,null,null,userId)); |
| | | workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,null,null,null,null,userId)); |
| | | workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",ids,null,null,null,null,null,userId)); |
| | | workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",ids,null,null,null,null,null,userId)); |
| | | workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",ids,null,null,null,null,null,userId)); |
| | | |
| | | //服务状态(1.已解决 2.未解决) |
| | | workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"2",userId)); |
| | | workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"1",userId)); |
| | | |
| | | //是否超时 (1 未超时 2已超时) 超时未办结 |
| | | workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,ids,null,"2",null,null,null,userId)); |
| | | workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,"2",null,null,null,userId)); |
| | | return ResultData.success(workOrder); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除工单 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "删除工单",response = GuideRepairOrder.class) |
| | | @DeleteMapping("/delete/{id}") |
| | | @Authorization |
| | | public ResultData deleteConfigById(@PathVariable("id") String id,@CurrentUser SysUser sysUser) |
| | | { |
| | | if(StringUtils.equals("1",sysUser.getUserType()) || StringUtils.equals("1",sysUser.getIsDivisionHead()) ) |
| | | { |
| | | return toAjax(iGuideRepairOrderService.deleteConfigById(id)); |
| | | } |
| | | return error("只有超管或者部门领导才能删除"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除评论 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "删除评论",response = GuideRepairOrder.class) |
| | | @GetMapping("/deleteComment") |
| | | @Authorization |
| | | public ResultData deleteComment(@RequestParam(value = "id",required = false) Integer id,@CurrentUser SysUser sysUser){ |
| | | return iGuideRepairOrderService.deleteComment(id,sysUser); |
| | | } |
| | | |
| | | |
| | | } |