From 1fb23cbeeaaeda0a66cf8fe8977c3f5915743cc7 Mon Sep 17 00:00:00 2001 From: fengjin <1435304038@qq.com> Date: 星期五, 21 十月 2022 15:13:10 +0800 Subject: [PATCH] Merge branch 'zigonggao_dev' into huacheng_test --- flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java | 194 +++++++++++++++++++++++++++++++++++++----------- 1 files changed, 150 insertions(+), 44 deletions(-) diff --git a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java index 11babb4..9387319 100644 --- a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java +++ b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java @@ -9,7 +9,11 @@ import com.dg.core.db.gen.entity.*; 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; @@ -35,6 +39,16 @@ @Autowired private IGuideEvolveService iGuideEvolveService; + @Autowired + IOrganizationChartService iOrganizationChartService; + + private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk"; + + + @Resource + SmsUtil smsUtil; + + /** * 提交导办订单 * @return @@ -45,7 +59,15 @@ 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("提交失败,请检查你是否有相同的咨询内容在处理中"); } @@ -98,10 +120,7 @@ return ResultData.error("导办人员id不能为空"); } - if(StringUtils.isEmpty(order.getGuideUserPhone())) - { - return ResultData.error("导办人员电话不能为空"); - } + //已分配 order.setState("2"); @@ -110,14 +129,15 @@ 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)); } @@ -147,11 +167,6 @@ return ResultData.error("导办人员id不能为空"); } - if(StringUtils.isEmpty(order.getGuideUserPhone())) - { - return ResultData.error("导办人员电话不能为空"); - } - //已分配 order.setState("2"); @@ -159,13 +174,16 @@ 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()); + order=iGuideRepairOrderService.setTimeoutTim(order); iGuideEvolveService.insertConfig(entity); + iGuideRepairOrderService.updateSysUserOrderNum(entity); return toAjax(iGuideRepairOrderService.updateConfig(order)); } @@ -202,20 +220,38 @@ { 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= wxUtil.getBatteryCarAccessToken(); + } 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)); } @@ -259,6 +295,7 @@ entity.setState("5"); entity.setFromDepartmentalId(sysUser.getDepartmentId()); entity.setFromUserId(sysUser.getUserId()+""); + entity.setGuideId(order.getId().toString()); iGuideEvolveService.insertConfig(entity); return toAjax(iGuideRepairOrderService.updateConfig(order)); } @@ -285,11 +322,6 @@ return ResultData.error("工单id不能为空"); } - if(!StringUtils.equals(entity.getState(),"4")) - { - return ResultData.error("该工单不能评价!"); - } - if(StringUtils.isEmpty(entity.getEvaluateState())) { return ResultData.error("满意程度不能为空!"); @@ -300,12 +332,15 @@ 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(); } /** @@ -313,7 +348,7 @@ * @param sysUser 当前登录人员信息 * @return */ - @ApiOperation("获取个人中心工单数据") + @ApiOperation(value = "获取个人中心工单数据",response = GuideRepairOrder.class) @GetMapping("/personalCenter") @Authorization public ResultData selectBySubmitId(@CurrentUser SysUser sysUser){ @@ -330,18 +365,89 @@ @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, + @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); - return getDataTable(list,num); + List<String> ids=PermissionUtil.getPermission(sysUser,iOrganizationChartService); + String userId=null; + if( StringUtils.equals("2",sysUser.getRoleIds())) + { + if(StringUtils.equals("1",sysUser.getIsDivisionHead())) + { + userId=null; + } + else + { + ids=null; + userId=sysUser.getUserId()+""; + } + } + + List<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(pageParam,pageSize, + matterName,ids,status,userId); + 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=PermissionUtil.getPermission(sysUser,iOrganizationChartService); + String userId=null; + if( StringUtils.equals("2",sysUser.getRoleIds())) + { + if(StringUtils.equals("1",sysUser.getIsDivisionHead())) + { + userId=null; + } + else + { + ids=null; + userId=sysUser.getUserId()+""; + } + } + + //状态(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) + { + return toAjax(iGuideRepairOrderService.deleteConfigById(id)); + } + } -- Gitblit v1.7.1