ZQN
2024-06-22 b2c1822dc9ae8a67872193d182d9335d9a99655c
执法评价相关添加
2个文件已添加
16个文件已修改
445 ■■■■■ 已修改文件
project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-admin/src/main/java/com/project/admin/controller/enforce/EnforceEvaluateController.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/ComplaintResultBo.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/OrderComplaintBo.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/IEnforceEvaluateService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateLogServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java 77 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-admin/src/main/java/com/project/admin/controller/enforce/EnforceComplaintLogController.java
@@ -7,9 +7,11 @@
import com.project.common.core.page.TableDataInfo;
import com.project.common.enums.BusinessType;
import com.project.common.utils.poi.ExcelUtil;
import com.project.enforce.domain.bo.editBo.ComplaintResultBo;
import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo;
import com.project.enforce.domain.bo.queryBo.EnforceComplaintLogQueryBo;
import com.project.enforce.domain.vo.EnforceComplaintLogVo;
import com.project.enforce.domain.vo.OrderNodeVo;
import com.project.enforce.service.IEnforceComplaintLogService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -66,7 +68,7 @@
    }
    @ApiOperation("新增投诉记录")
    @ApiOperation("发起投诉")
    //@PreAuthorize("@ss.hasPermi('enforce:log:add')")
    @Log(title = "投诉记录", businessType = BusinessType.INSERT)
    @PostMapping("/add")
@@ -97,4 +99,34 @@
    {
        return toAjax(iEnforceComplaintLogService.deleteByIds(Arrays.asList(ids)) ? 1 : 0);
    }
    @ApiOperation("响应投诉")
    //@PreAuthorize("@ss.hasPermi('enforce:log:edit')")
    @Log(title = "响应投诉", businessType = BusinessType.UPDATE)
    @PostMapping("/inComplaint")
    @RepeatSubmit
    public AjaxResult inComplaint(@RequestBody ComplaintResultBo bo)
    {
        return toAjax(iEnforceComplaintLogService.inComplaint(bo) ? 1 : 0);
    }
    @ApiOperation("处理结果")
    //@PreAuthorize("@ss.hasPermi('enforce:log:edit')")
    @Log(title = "处理结果", businessType = BusinessType.UPDATE)
    @PostMapping("/doComplaint")
    @RepeatSubmit
    public AjaxResult doComplaint(@RequestBody ComplaintResultBo bo)
    {
        return toAjax(iEnforceComplaintLogService.doComplaint(bo) ? 1 : 0);
    }
    @ApiOperation("投诉单节点")
    @GetMapping("/orderNodeList")
    public AjaxResult orderNodeList(@RequestParam("id") Long id)
    {
        List<OrderNodeVo> list = iEnforceComplaintLogService.orderNodeList(id);
        return AjaxResult.success(list);
    }
}
project-admin/src/main/java/com/project/admin/controller/enforce/EnforceEvaluateController.java
@@ -30,7 +30,7 @@
    private final IEnforceEvaluateService enforceEvaluateService;
    @ApiOperation("获取执法评价详细信息")
    @ApiOperation("获取执法评价配置详情")
    @GetMapping("/detail")
    public AjaxResult getInfo()
    {
@@ -38,7 +38,7 @@
    }
    @ApiOperation("保存执法评价")
    @ApiOperation("保存执法评价配置")
    //@PreAuthorize("@ss.hasPermi('enforce:log:add')")
    @Log(title = "执法评价设置", businessType = BusinessType.INSERT)
    @PostMapping("/save")
@@ -49,4 +49,15 @@
    }
    @ApiOperation("保存执法评价配置")
    //@PreAuthorize("@ss.hasPermi('enforce:log:add')")
    @Log(title = "执法评价设置", businessType = BusinessType.INSERT)
    @PostMapping("/saveOrder")
    @RepeatSubmit
    public AjaxResult saveOrder(@RequestBody EnforceEvaluateBo bo)
    {
        return toAjax(enforceEvaluateService.saveOrder(bo) ? 1 : 0);
    }
}
project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java
@@ -12,6 +12,7 @@
import com.project.common.utils.StringUtils;
import com.project.common.utils.poi.ExcelUtil;
import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
import com.project.enforce.domain.bo.editBo.OrderComplaintBo;
import com.project.enforce.domain.bo.editBo.OrderResultBo;
import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo;
@@ -133,6 +134,7 @@
        return AjaxResult.success(iEnforceOrderService.doResultOrder(resultBo));
    }
    @ApiOperation("执法单节点")
    @GetMapping("/orderNodeList")
    public AjaxResult orderNodeList(@RequestParam("orderId") Long orderId)
@@ -141,6 +143,21 @@
        return AjaxResult.success(list);
    }
    @ApiOperation("执法单投诉")
    @Log(title = "执法单投诉", businessType = BusinessType.UPDATE)
    @PostMapping("/orderComplaint")
    public AjaxResult orderComplaint(OrderComplaintBo bo)
    {
        return AjaxResult.success(iEnforceOrderService.orderComplaint(bo));
    }
    @ApiOperation("执法单投诉节点")
    @GetMapping("/orderComplaintNodeList")
    public AjaxResult orderComplaintNodeList(@RequestParam("orderId") Long orderId)
    {
        List<OrderNodeVo> list = iEnforceOrderService.orderComplaintNodeList(orderId);
        return AjaxResult.success(list);
    }
    @ApiOperation("导出执法单列表")
    //@PreAuthorize("@ss.hasPermi('enforce:order:export')")
project-admin/src/main/java/com/project/admin/controller/system/SysProfileController.java
@@ -1,22 +1,11 @@
package com.project.admin.controller.system;
import com.project.common.config.ProjectConfig;
import com.project.common.core.domain.entity.SysDept;
import com.project.framework.web.service.SysPermissionService;
import com.project.system.service.ISysDeptService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.project.common.annotation.Log;
import com.project.common.config.ProjectConfig;
import com.project.common.constant.UserConstants;
import com.project.common.core.controller.BaseController;
import com.project.common.core.domain.AjaxResult;
import com.project.common.core.domain.entity.SysDept;
import com.project.common.core.domain.entity.SysUser;
import com.project.common.core.domain.model.LoginUser;
import com.project.common.enums.BusinessType;
@@ -24,8 +13,15 @@
import com.project.common.utils.StringUtils;
import com.project.common.utils.file.FileUploadUtils;
import com.project.common.utils.file.MimeTypeUtils;
import com.project.framework.web.service.SysPermissionService;
import com.project.framework.web.service.TokenService;
import com.project.system.domain.SysCompany;
import com.project.system.service.ISysCompanyService;
import com.project.system.service.ISysDeptService;
import com.project.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.Set;
@@ -43,6 +39,7 @@
    private final ISysDeptService deptService;
    private final TokenService tokenService;
    private final SysPermissionService permissionService;
    private final ISysCompanyService companyService;
    /**
@@ -52,9 +49,17 @@
    public AjaxResult profile()
    {
        SysUser user = SecurityUtils.getLoginUser().getUser();
        SysDept sysDept = deptService.selectDeptById(userService.getById(user.getUserId()).getDeptId());
        sysDept.setDeptName(deptService.getDeptAllName(sysDept.getDeptId()));
        user.setDept(sysDept);
        if ("02".equals(user.getUserType())){
            SysCompany company = companyService.getById(userService.getById(user.getUserId()).getDeptId());
            SysDept sysDept = new SysDept();
            sysDept.setDeptName(company.getCompanyName());
            user.setDept(sysDept);
        } else {
            SysDept sysDept = deptService.selectDeptById(userService.getById(user.getUserId()).getDeptId());
            sysDept.setDeptName(deptService.getDeptAllName(sysDept.getDeptId()));
            user.setDept(sysDept);
        }
        // 角色集合
        Set<String> roles = permissionService.getRolePermission(user);
        // 权限集合
project-enforce/src/main/java/com/project/enforce/domain/EnforceComplaintLog.java
@@ -90,6 +90,18 @@
    @ApiModelProperty("处理结果时间")
    private Date resultTime;
    @ApiModelProperty("响应人")
    private String inUser;
    @ApiModelProperty("处理结果人")
    private String resultUser;
    @ApiModelProperty("响应人id")
    private Long inId;
    @ApiModelProperty("处理结果人id")
    private Long resultId;
    @ApiModelProperty("投诉内容")
    private String complaintReason;
project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/ComplaintResultBo.java
New file
@@ -0,0 +1,17 @@
package com.project.enforce.domain.bo.editBo;
import lombok.Data;
/**
 * 功能描述:
 *
 * @author ZQN
 * @version 1.0
 */
@Data
public class ComplaintResultBo
{
    private Long id;
    private String result;
}
project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceComplaintLogBo.java
@@ -82,6 +82,18 @@
    @ApiModelProperty("处理结果时间")
    private Date resultTime;
    @ApiModelProperty("响应人")
    private String inUser;
    @ApiModelProperty("处理结果人")
    private String resultUser;
    @ApiModelProperty("响应人id")
    private Long inId;
    @ApiModelProperty("处理结果人id")
    private Long resultId;
    /** 投诉内容 */
    @ApiModelProperty("投诉内容")
    private String complaintReason;
project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/OrderComplaintBo.java
New file
@@ -0,0 +1,18 @@
package com.project.enforce.domain.bo.editBo;
import lombok.Data;
/**
 * 功能描述:
 *
 * @author ZQN
 * @version 1.0
 */
@Data
public class OrderComplaintBo
{
    private Long orderId;
    private String complaintType;
    private String complaintReason;
}
project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceComplaintLogQueryBo.java
@@ -83,6 +83,18 @@
    @ApiModelProperty("处理结果时间")
    private Date resultTime;
    @ApiModelProperty("响应人")
    private String inUser;
    @ApiModelProperty("处理结果人")
    private String resultUser;
    @ApiModelProperty("响应人id")
    private Long inId;
    @ApiModelProperty("处理结果人id")
    private Long resultId;
    /** 投诉内容 */
    @ApiModelProperty("投诉内容")
project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceComplaintLogVo.java
@@ -76,6 +76,18 @@
    @ApiModelProperty("处理结果时间")
    private Date resultTime;
    @ApiModelProperty("响应人")
    private String inUser;
    @ApiModelProperty("处理结果人")
    private String resultUser;
    @ApiModelProperty("响应人id")
    private Long inId;
    @ApiModelProperty("处理结果人id")
    private Long resultId;
    @Excel(name = "投诉内容")
    @ApiModelProperty("投诉内容")
    private String complaintReason;
project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java
@@ -184,4 +184,8 @@
    @ApiModelProperty("同行人数组")
    private List<EnforcePeer> peers;
    @ApiModelProperty("评价数据")
    private EnforceEvaluateVo evaluateVo;
}
project-enforce/src/main/java/com/project/enforce/service/IEnforceComplaintLogService.java
@@ -2,9 +2,11 @@
import com.project.common.mybatis.IBaseService;
import com.project.enforce.domain.EnforceComplaintLog;
import com.project.enforce.domain.bo.editBo.ComplaintResultBo;
import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo;
import com.project.enforce.domain.bo.queryBo.EnforceComplaintLogQueryBo;
import com.project.enforce.domain.vo.EnforceComplaintLogVo;
import com.project.enforce.domain.vo.OrderNodeVo;
import java.util.Collection;
import java.util.List;
@@ -48,4 +50,26 @@
     * @return  true成功 false失败
     */
    Boolean deleteByIds(Collection<Long> ids);
    /**
     * 投诉单节点
     * @param id 主键集合
     * @return  true成功 false失败
     */
    List<OrderNodeVo> orderNodeList(Long id);
    /**
     * 响应投诉
     * @param bo    参数
     * @return    true成功 false失败
     */
    Boolean inComplaint(ComplaintResultBo bo);
    /**
     * 处理投诉结果
     * @param bo    参数
     * @return    true成功 false失败
     */
    Boolean doComplaint(ComplaintResultBo bo);
}
project-enforce/src/main/java/com/project/enforce/service/IEnforceEvaluateService.java
@@ -26,6 +26,12 @@
     */
    EnforceEvaluateVo getInfo();
    /**
     * 保存执法单评价
     * @param bo    参数
     * @return  结果
     */
    Boolean saveOrder(EnforceEvaluateBo bo);
}
project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java
@@ -3,6 +3,7 @@
import com.project.common.mybatis.IBaseService;
import com.project.enforce.domain.EnforceOrder;
import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
import com.project.enforce.domain.bo.editBo.OrderComplaintBo;
import com.project.enforce.domain.bo.editBo.OrderResultBo;
import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo;
@@ -115,4 +116,18 @@
     * @return    结果
     */
    Boolean doResultOrder(OrderResultBo resultBo);
    /**
     * 执法单投诉
     * @param bo    参数
     * @return    结果
     */
    Boolean orderComplaint(OrderComplaintBo bo);
    /**
     * 执法投诉节点列表
     * @param orderId    执法单id
     * @return    节点
     */
    List<OrderNodeVo> orderComplaintNodeList(Long orderId);
}
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java
@@ -4,11 +4,17 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.project.common.core.domain.entity.SysUser;
import com.project.common.exception.base.BaseException;
import com.project.common.utils.DateUtils;
import com.project.common.utils.SecurityUtils;
import com.project.common.utils.StringUtils;
import com.project.enforce.domain.EnforceComplaintLog;
import com.project.enforce.domain.bo.editBo.ComplaintResultBo;
import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo;
import com.project.enforce.domain.bo.queryBo.EnforceComplaintLogQueryBo;
import com.project.enforce.domain.vo.EnforceComplaintLogVo;
import com.project.enforce.domain.vo.OrderNodeVo;
import com.project.enforce.mapper.EnforceComplaintLogMapper;
import com.project.enforce.service.IEnforceComplaintLogService;
import com.project.system.service.ISysDeptService;
@@ -17,6 +23,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -76,6 +83,53 @@
        return this.removeByIds(ids);
    }
    @Override//投诉单节点
    public List<OrderNodeVo> orderNodeList(Long id)
    {
        List<OrderNodeVo> vos = new ArrayList<>();
        EnforceComplaintLog order = this.getById(id);
        if (order.getComplaintTime()!=null){
            vos.add(new OrderNodeVo("发起投诉",order.getCompanyUser(),order.getComplaintTime(), null));
        }
        if (order.getInTime()!=null){
            vos.add(new OrderNodeVo("响应投诉",order.getInUser(),order.getInTime(), null));
        }
        if (order.getResultTime()!=null){
            vos.add(new OrderNodeVo("投诉结果",order.getExecuteUser(),order.getResultTime(), order.getComplaintResult()));
        }
        return vos;
    }
    @Override//响应投诉
    @Transactional
    public Boolean inComplaint(ComplaintResultBo bo)
    {
        SysUser loginUser = SecurityUtils.getLoginUser().getUser();
        return this.update(lu()
                .set(EnforceComplaintLog::getInId,loginUser.getUserId())
                .set(EnforceComplaintLog::getInUser,loginUser.getNickName())
                .set(EnforceComplaintLog::getInTime, DateUtils.getNowDate())
                .eq(EnforceComplaintLog::getId, bo.getId())
        );
    }
    @Override//处理结果
    @Transactional
    public Boolean doComplaint(ComplaintResultBo bo)
    {
        if (StringUtils.isEmpty(bo.getResult())){
            throw new BaseException("请填写处理结果");
        }
        SysUser loginUser = SecurityUtils.getLoginUser().getUser();
        return this.update(lu()
                .set(EnforceComplaintLog::getResultId,loginUser.getUserId())
                .set(EnforceComplaintLog::getResultUser,loginUser.getNickName())
                .set(EnforceComplaintLog::getResultTime, DateUtils.getNowDate())
                .set(EnforceComplaintLog::getComplaintResult, bo.getResult())
                .eq(EnforceComplaintLog::getId, bo.getId())
        );
    }
//-------------------------------------------------------------------------------------
@@ -85,6 +139,33 @@
        if (StringUtils.isEmpty(entity.getExecuteDeptName()) && entity.getExecuteDeptName()!=null){
            entity.setExecuteDeptName(deptService.getDeptAllName(entity.getExecuteDeptId()));
        }
        if (entity.getCompanyId()==null
                || StringUtils.isEmpty(entity.getCompanyName())
                || StringUtils.isEmpty(entity.getCompanyUser())
                || StringUtils.isEmpty(entity.getCompanyPhone())
        ){
            throw new BaseException("投诉企业不能为空!");
        }
        if (entity.getExecuteDeptId() == null
                || StringUtils.isEmpty(entity.getExecuteDeptName())
        ){
            throw new BaseException("投诉单位不能为空!");
        }
        if (StringUtils.isEmpty(entity.getComplaintType())){
            throw new BaseException("请选择要投诉类型!");
        }
        if (StringUtils.isEmpty(entity.getComplaintReason())){
            throw new BaseException("请填写投诉内容!");
        }
        if (entity.getId()==null){
            if (entity.getOrderId()!=null){ //执法单投诉
                int count = this.count(lq().eq(EnforceComplaintLog::getOrderId, entity.getOrderId()));
                if (count >0){
                    throw new BaseException("该执法单已投诉!");
                }
            }
            entity.setComplaintTime(DateUtils.getNowDate());
        }
    }
    //获取查询参数
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateLogServiceImpl.java
@@ -47,11 +47,13 @@
        EnforceEvaluateLog db = this.baseMapper.selectById(id);
        EnforceEvaluateLogVo vo = Convert.convert(EnforceEvaluateLogVo.class, db);
        String questionStatic = vo.getQuestionStatic();
        try {
            EnforceEvaluateVo evaluateVo = JsonUtils.jsonToPojo(questionStatic, EnforceEvaluateVo.class);
            vo.setEvaluateVo(evaluateVo);
        } catch (Exception e) {
            throw new BaseException("评价问券解析异常!");
        if (StringUtils.isNotEmpty(questionStatic)){
            try {
                EnforceEvaluateVo evaluateVo = JsonUtils.jsonToPojo(questionStatic, EnforceEvaluateVo.class);
                vo.setEvaluateVo(evaluateVo);
            } catch (Exception e) {
                throw new BaseException("评价问券解析异常!");
            }
        }
        return vo;
    }
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceEvaluateServiceImpl.java
@@ -1,9 +1,14 @@
package com.project.enforce.service.impl;
import cn.hutool.core.convert.Convert;
import com.project.common.exception.base.BaseException;
import com.project.common.utils.JsonUtils;
import com.project.common.utils.NumberUtils;
import com.project.common.utils.StringUtils;
import com.project.enforce.domain.EnforceEvaluateAnswer;
import com.project.enforce.domain.EnforceEvaluateLog;
import com.project.enforce.domain.EnforceEvaluateQuestion;
import com.project.enforce.domain.EnforceOrder;
import com.project.enforce.domain.bo.editBo.EnforceEvaluateBo;
import com.project.enforce.domain.vo.EnforceEvaluateVo;
import com.project.enforce.service.*;
@@ -12,6 +17,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.List;
/**
@@ -41,7 +47,7 @@
        if (StringUtils.isEmpty(questionList)){
            throw new BaseException("评价项不可为空!");
        }
        for (EnforceEvaluateQuestion question : bo.getQuestionList()) {
        for (EnforceEvaluateQuestion question : questionList) {
            if (question.getQuestionType()==1 && StringUtils.isEmpty(question.getAnswerList())){
                throw new BaseException("选择类型答案不可为空!");
            }
@@ -87,5 +93,37 @@
        return vo;
    }
    @Override
    @Transactional
    public Boolean saveOrder(EnforceEvaluateBo bo)
    {
        if (bo.getOrderId()==null){
            throw new BaseException("请选择评价执法单!");
        }
        List<EnforceEvaluateQuestion> questionList = bo.getQuestionList();
        if (StringUtils.isEmpty(questionList)){
            throw new BaseException("评价项不可为空!");
        }
        int count = evaluateLogService.count(EnforceEvaluateLog::getOrderId, bo.getOrderId());
        if (count>0) {
            throw new BaseException("该执法单已评价!");
        }
        BigDecimal totalScore = BigDecimal.ZERO;
        for (EnforceEvaluateQuestion question : questionList) {
            totalScore = NumberUtils.add(totalScore, question.getGetScore());
        }
        EnforceOrder order = orderService.getById(bo.getOrderId());
        EnforceEvaluateLog evaluateLog = Convert.convert(EnforceEvaluateLog.class, order);
        evaluateLog.setQuestionRemark(bo.getQuestionRemark());
        evaluateLog.setTotalScore(NumberUtils.divToBigDecSca2(totalScore,1));
        evaluateLog.setQuestionStatic(JsonUtils.objectToJson(bo.getQuestionList()));
        evaluateLogService.saveOrUpdate(evaluateLog);
        return orderService.update(orderService.lu()
                .set(EnforceOrder::getIsEva,1)
                .set(EnforceOrder::getTotalScore, totalScore)
        );
    }
}
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
@@ -10,21 +10,18 @@
import com.project.common.exception.base.BaseException;
import com.project.common.sms.YPSmsApi;
import com.project.common.utils.DateUtils;
import com.project.common.utils.JsonUtils;
import com.project.common.utils.SecurityUtils;
import com.project.common.utils.StringUtils;
import com.project.enforce.domain.EnforceCheckLog;
import com.project.enforce.domain.EnforceOrder;
import com.project.enforce.domain.EnforcePeer;
import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
import com.project.enforce.domain.bo.editBo.OrderResultBo;
import com.project.enforce.domain.*;
import com.project.enforce.domain.bo.editBo.*;
import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo;
import com.project.enforce.domain.vo.EnforceEvaluateVo;
import com.project.enforce.domain.vo.EnforceOrderVo;
import com.project.enforce.domain.vo.OrderNodeVo;
import com.project.enforce.mapper.EnforceOrderMapper;
import com.project.enforce.service.IEnforceCheckLogService;
import com.project.enforce.service.IEnforceOrderService;
import com.project.enforce.service.IEnforcePeerService;
import com.project.enforce.service.*;
import com.project.system.service.ISysDeptService;
import com.project.system.service.ISysOrderNoService;
import com.project.system.service.ISysUserService;
@@ -52,6 +49,8 @@
    private final ISysOrderNoService orderNoService;
    private final IEnforcePeerService peerService;
    private final IEnforceCheckLogService checkLogService;
    private final IEnforceComplaintLogService complaintLogService;
    private final IEnforceEvaluateLogService evaluateLogService;
    @Override//列表查询
    @DataScope(deptAlias = "apply_dept_id", userAlias = "apply_id")
@@ -96,7 +95,10 @@
    @Override//信息公式列表
    public List<EnforceOrderVo> showList()
    {
        List<EnforceOrder> list = this.list(lq().eq(EnforceOrder::getIsShow, 1));
        List<EnforceOrder> list = this.list(lq()
                .eq(EnforceOrder::getIsShow, 1)
                .eq(EnforceOrder::getOrderStatus, 4)
        );
        return Convert.toList(EnforceOrderVo.class, list);
    }
@@ -107,6 +109,20 @@
        EnforceOrderVo vo = Convert.convert(EnforceOrderVo.class, db);
        List<EnforcePeer> peers = peerService.list(peerService.lq().eq(EnforcePeer::getOrderId, orderId).eq(EnforcePeer::getPeerType,2));
        vo.setPeers(peers);
        if (db.getIsEva()==1){
            EnforceEvaluateLog one = evaluateLogService.getOne(evaluateLogService.lq().eq(EnforceEvaluateLog::getOrderId, orderId));
            if (one!=null){
                String questionStatic = one.getQuestionStatic();
                if (StringUtils.isNotEmpty(questionStatic)){
                    try {
                        EnforceEvaluateVo evaluateVo = JsonUtils.jsonToPojo(questionStatic, EnforceEvaluateVo.class);
                        vo.setEvaluateVo(evaluateVo);
                    } catch (Exception e) {
                        throw new BaseException("评价问券解析异常!");
                    }
                }
            }
        }
        return vo;
    }
@@ -223,7 +239,8 @@
        return this.updateById(order);
    }
    @Override
    @Override//上报结果
    @Transactional
    public Boolean doResultOrder(OrderResultBo resultBo)
    {
        if (resultBo.getRegionStatus()==null){
@@ -243,6 +260,46 @@
        );
    }
    @Override//执法单投诉
    @Transactional
    public Boolean orderComplaint(OrderComplaintBo bo)
    {
        if (bo.getOrderId()==null){
            throw new BaseException("请选择要投诉的执法单!");
        }
        if (StringUtils.isEmpty(bo.getComplaintType())){
            throw new BaseException("请选择要投诉类型!");
        }
        if (StringUtils.isEmpty(bo.getComplaintReason())){
            throw new BaseException("请填写投诉内容!");
        }
        EnforceOrder order = this.getById(bo.getOrderId());
        //添加投诉记录
        EnforceComplaintLogBo complaintLogBo = Convert.convert(EnforceComplaintLogBo.class, order);
        complaintLogBo.setComplaintType(bo.getComplaintType());
        complaintLogBo.setComplaintReason(bo.getComplaintReason());
        Boolean addLog = complaintLogService.insertByBo(complaintLogBo);
        if (addLog){
            return this.update(lu()
                    .set(EnforceOrder::getIsComplaint,1)
                    .set(EnforceOrder::getComplaintType,bo.getComplaintType())
                    .set(EnforceOrder::getComplaintReason,bo.getComplaintReason())
                    .eq(EnforceOrder::getOrderId,bo.getOrderId())
            );
        }
        return false;
    }
    @Override//执法单投诉节点
    public List<OrderNodeVo> orderComplaintNodeList(Long orderId)
    {
        EnforceComplaintLog log = complaintLogService.getOne(complaintLogService.lq().eq(EnforceComplaintLog::getOrderId, orderId));
        if (log==null){
            return null;
        }
        return complaintLogService.orderNodeList(log.getId());
    }
//-------------------------------------------------------------------------------------