lidongdong
2022-11-28 1a413ef3bd8c5dbb12298def40a651f8dc3550ab
flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
@@ -7,9 +7,11 @@
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;
@@ -17,11 +19,13 @@
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;
/**
@@ -40,6 +44,9 @@
    @Autowired
    IOrganizationChartService iOrganizationChartService;
    @Resource(name = "stringRedisTemplate")
    private StringRedisTemplate stringRedisTemplate;
    private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk";
@@ -80,7 +87,8 @@
    @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))
        {
@@ -88,7 +96,7 @@
        }
        GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(Id,orderNum);
        order.setGuideEvolveEntities(iGuideEvolveService.selectConfigList(Id));
        order.setGuideEvolveEntities(iGuideEvolveService.selectConfigList(Id,sysUser));
        return ResultData.success(order);
    }
@@ -129,10 +137,10 @@
        entity.setCreateTime(LocalDateTime.now());
        entity.setUpdateTime(LocalDateTime.now());
        entity.setState("11");
        entity.setDepartmentalId(sysUser.getDepartmentId());
        entity.setToUserId(sysUser.getUserId()+"");
        entity.setFromUserId(order.getGuideUserId());
        entity.setFromDepartmentalId(order.getGuideDepartmentId());
        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);
@@ -179,7 +187,6 @@
        entity.setFromUserId(sysUser.getUserId()+"");
        entity.setFromDepartmentalId(sysUser.getDepartmentId());
        entity.setGuideId(order.getId().toString());
        order=iGuideRepairOrderService.setTimeoutTim(order);
        iGuideEvolveService.insertConfig(entity);
        iGuideRepairOrderService.updateSysUserOrderNum(entity);
@@ -230,7 +237,7 @@
                WxUtil wxUtil=new WxUtil();
                String accessToken="0";
                try {
                    accessToken= wxUtil.getBatteryCarAccessToken();
                    accessToken= stringRedisTemplate.boundValueOps("access_token:access_token:" + ConstantPropertiesUtil.WX_OPEN_APP_ID).get();
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }
@@ -331,7 +338,7 @@
        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()+"");
        guideEvolveEntity.setGuideId(entity.getId().toString());
@@ -367,16 +374,38 @@
                                          @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<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
        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);
        int num=iGuideRepairOrderService.countConfigList(matterName,ids,status);
                matterName,ids,status,userId,createTimeStartTime,createTimeTimeEndTime,classifyId);
        int num=iGuideRepairOrderService.countConfigList(matterName,ids,status,userId);
        return getDataTable(list,num);
    }
@@ -387,22 +416,41 @@
    public ResultData getWorkOrder(@CurrentUser SysUser sysUser)
    {
        WorkOrder workOrder=new WorkOrder();
        List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
        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));
        workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",ids,null,null,null,null,null));
        workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,null,null,null,null));
        workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",ids,null,null,null,null,null));
        workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",ids,null,null,null,null,null));
        workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",ids,null,null,null,null,null));
        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"));
        workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"1"));
        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));
        workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,"2",null,null,null));
        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);
    }
@@ -415,9 +463,25 @@
    @ApiOperation(value = "删除工单",response = GuideRepairOrder.class)
    @DeleteMapping("/delete/{id}")
    @Authorization
    public ResultData deleteConfigById(@PathVariable("id") String id)
    public ResultData deleteConfigById(@PathVariable("id") String id,@CurrentUser SysUser sysUser)
    {
        return toAjax(iGuideRepairOrderService.deleteConfigById(id));
        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);
    }