工单填充数据,维修人员工单统计

This commit is contained in:
lujiang 2024-08-14 11:17:01 +08:00
parent 083539e894
commit c3523508ed
8 changed files with 89 additions and 11 deletions

View File

@ -78,7 +78,7 @@ public class RepairController extends BaseController {
/**
* 工单列表
* menu:1.修查询3派单入口5维修入口, 7 管理员
* menu:1.修查询3派单入口5维修入口, 7 管理员
* <p>
* 报修查询全部处理中待评价已评价 type对应值allprocessevalingevaled
* 派单入口重新派单待派单已派单已关闭 type对应值anewwaitalreadyclose
@ -97,11 +97,23 @@ public class RepairController extends BaseController {
return result(repairService.repairList(menu, userId.toString(), type));
}
/**
* 获取维修人员工单数量统计
* 待完成进行中已完成 对应waitworkingclose
*/
@RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR)
@RequestMapping("workerRepairNumber")
public R workerRepairNumber() {
Long userId = getLoginStaffId();
Map<String, Integer> map = repairService.workerRepairNumber(userId.toString());
return R.ok().put("workerRepairNumber", map);
}
/**
* 获取一个工单的详细信息
*
* <p>
* id 工单id
*
* </p>
*/
@RequiresPermissions(value = {"repair:attach:operator", "member:center:view"}, logical = Logical.OR)
@RequestMapping("get")

View File

@ -156,13 +156,13 @@ public class Repair extends BaseEntity<Repair> {
/**
* 评价人id
*/
private long evalUserId;
private Long evalUserId;
/**
* 评价人姓名
*/
@TableField(exist = false)
private long evalUserName;
private String evalUserName;
//--超时
/**

View File

@ -32,6 +32,13 @@ public interface RepairAttachMapper {
*/
List<RepairAttach> selectRepairAttachList(@Param("repairId") Long repairId);
/**
* 获取工单报修的第一张图片url
* @param repairId 工单id
* @return
*/
String getRepairFirstImg(@Param("repairId") Long repairId);
/**
* 新增附件
*

View File

@ -31,7 +31,13 @@ public interface RepairMapper {
List<Repair> adminRepairList(@Param("userId") String userId, @Param("type") String type);
/**
* 维修工 工单 数量统计
* @param userId
* @param type 待完成进行中已完成 type对应值waitworkingclose
* @return
*/
Integer workerRepairNumber(@Param("userId") String userId, @Param("type") String type);
/**
* 新增工单
*

View File

@ -1,10 +1,10 @@
package com.ics.admin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ics.admin.domain.Repair;
import com.ics.admin.utils.FlowOperate;
import java.util.List;
import java.util.Map;
/**
* 工单管理Service接口
@ -41,6 +41,12 @@ public interface IRepairService {
*/
List<Repair> repairList(String menu, String userId, String type);
/**
* 获取维修人员工单数量
* @param userId 用户id
*/
Map<String,Integer> workerRepairNumber(String userId);
/**
* 新增工单
*

View File

@ -24,7 +24,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 工单管理Service业务层处理
@ -226,11 +228,45 @@ public class RepairServiceImpl implements IRepairService {
*/
@Override
public List<Repair> repairList(String menu, String userId, String type) {
List<Repair> list = null;
//1.普通用户3派单员5维修人, 7管理员
if ("7".equals(menu)) return repairMapper.adminRepairList(userId, type);
if ("5".equals(menu)) return repairMapper.workRepairList(userId, type);
if ("3".equals(menu)) return repairMapper.preRepairList(userId, type);
return repairMapper.normalRepairList(userId, type);//普通用户或者没有角色时都使用普通用户列表
if ("7".equals(menu)) list = repairMapper.adminRepairList(userId, type);
if ("5".equals(menu)) list = repairMapper.workRepairList(userId, type);
if ("3".equals(menu)) list = repairMapper.preRepairList(userId, type);
if ("1".equals(menu)) list = repairMapper.normalRepairList(userId, type);
if (list != null && list.size() > 0) {
for (Repair repair : list) {
if (repair.getPerUserId() != null && repair.getPerUserId() > 0) {
IcsCustomerStaff perUser = customerStaffMapper.selectIcsCustomerStaffById(repair.getPerUserId());
repair.setPerUserName(perUser.getUsername());
}
if (repair.getRepairUserId() != null && repair.getRepairUserId() > 0) {
IcsCustomerStaff repairUser = customerStaffMapper.selectIcsCustomerStaffById(repair.getRepairUserId());
repair.setRepairUserName(repairUser.getUsername());
}
if (repair.getEvalUserId() != null && repair.getEvalUserId() > 0) {
IcsCustomerStaff evalUser = customerStaffMapper.selectIcsCustomerStaffById(repair.getEvalUserId());
repair.setEvalUserName(evalUser.getUsername());
}
String url = repairAttachMapper.getRepairFirstImg(repair.getId());
repair.setExt1(url);
IcsCustomerStaff createUser = customerStaffMapper.selectIcsCustomerStaffById(Long.valueOf(repair.getCreateBy()));
repair.setExt2(createUser.getUsername());
}
}
return list;
}
@Override
public Map<String, Integer> workerRepairNumber(String userId) {
Map<String, Integer> map = new HashMap<>();
Integer wait = repairMapper.workerRepairNumber(userId, "wait");
Integer working = repairMapper.workerRepairNumber(userId, "working");
Integer close = repairMapper.workerRepairNumber(userId, "close");
map.put("wait", wait);
map.put("working", working);
map.put("close", close);
return map;
}
/**

View File

@ -55,6 +55,10 @@
where repair_id= #{repairId} and delete_flag = 0
</select>
<select id="getRepairFirstImg" parameterType="Long" resultType="String">
select url from ics_repair_attach where repair_id=#{repairId} and node_id=1 and delete_flag=0 and ext1='img/video' order by id limit 1
</select>
<insert id="insertRepairAttach" parameterType="com.ics.admin.domain.RepairAttach">
INSERT INTO ics_repair_attach
<trim prefix="(" suffix=")" suffixOverrides=",">

View File

@ -239,6 +239,13 @@
order by create_time desc
</select>
<select id="workerRepairNumber" resultType="Integer">
select count(id) from ics_repair where delete_flag=0 and repair_user_id = #{userId}
<if test="type == 'wait'">and status = 5</if>
<if test="type == 'working'">and status = 7</if>
<if test="type == 'close'">and (status = 9 or status = 13)</if>
</select>
<delete id="deleteRepairById" parameterType="Long">
DELETE FROM ics_repair WHERE id = #{id}
</delete>