功能修改

master
sunjianxi 11 months ago
parent feb76282ac
commit 186a75cfa0
  1. 5
      src/main/java/org/springblade/modules/business/contraller/DeviceController.java
  2. 5
      src/main/java/org/springblade/modules/business/contraller/FeedbackController.java
  3. 22
      src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java
  4. 32
      src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java
  5. 7
      src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java
  6. 4
      src/main/java/org/springblade/modules/business/mapper/DeviceMapper.java
  7. 14
      src/main/java/org/springblade/modules/business/mapper/DeviceMapper.xml
  8. 2
      src/main/java/org/springblade/modules/business/mapper/InvoiceApplyMapper.xml
  9. 4
      src/main/java/org/springblade/modules/business/service/IDeviceService.java
  10. 8
      src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java
  11. 3
      src/main/java/org/springblade/modules/business/service/impl/MaintenancePlanServiceImpl.java
  12. 20
      src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java

@ -96,6 +96,7 @@ public class DeviceController extends BladeController {
BladeUser user = AuthUtil.getUser();
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
if(user.getRoleName().equals("客服") || user.getRoleName().equals("维修负责人")){
List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0));
@ -103,6 +104,10 @@ public class DeviceController extends BladeController {
deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList());
}
wrapper.in(Device::getLimsId,deptIds);
}else{
wrapper.eq(Device::getLimsId,user.getDeptId());
}
}

@ -80,6 +80,7 @@ public class FeedbackController extends BladeController {
LambdaQueryWrapper<Feedback> wrapper = Wrappers.lambdaQuery(feedback);
BladeUser user = AuthUtil.getUser();
if(!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")){
if(user.getRoleName().equals("客服")){
List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0));
@ -87,6 +88,10 @@ public class FeedbackController extends BladeController {
deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList());
}
wrapper.in(BaseEntity::getCreateDept,deptIds);
}else{
wrapper.eq(BaseEntity::getCreateDept,user.getDeptId());
}
}
wrapper.like(StringUtils.isNotBlank(feedback.getUnitName()), Feedback::getUnitName, feedback.getUnitName());

@ -70,11 +70,10 @@ public class MaintenanceController extends BladeController {
@GetMapping("/plan-page")
@Operation(summary = "维保计划列表", description = "维保计划列表")
public R<IPage<MaintenancePlan>> planPage(MaintenancePlan plan, Query query) {
BladeUser bladeUser = AuthUtil.getUser();
User user = userService.getById(AuthUtil.getUserId());
BladeUser user = AuthUtil.getUser();
LambdaQueryWrapper<MaintenancePlan> wrapper = Wrappers.lambdaQuery(plan).orderByDesc(MaintenancePlan::getCreateTime);
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin") && !user.getRoleId().equals("1839536982874193922")) {
wrapper.eq(MaintenancePlan::getCreateDept, bladeUser.getDeptId());
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
wrapper.eq(MaintenancePlan::getCreateDept,user.getDeptId());
}
IPage<MaintenancePlan> pages = this.planService.page(Condition.getPage(query), wrapper);
return R.data(pages);
@ -118,7 +117,7 @@ public class MaintenanceController extends BladeController {
@Operation(summary = "定时任务-根据维保计划生成维保任务", description = "定时任务-根据维保计划生成维保任务")
public R taskCreate() {
// 提前五天生成
LocalDate now = LocalDate.now().minusDays(-5);
LocalDate now = LocalDate.now();
// 注意要查询上一次巡检计划中发现但未维修的
return R.status(planService.createTask(now));
}
@ -150,6 +149,9 @@ public class MaintenanceController extends BladeController {
}
wrapper.in(MaintenanceTask::getDeptId,deptIds);
}
if(user.getRoleName().equals("客户")){
wrapper.in(MaintenanceTask::getDeptId,Arrays.asList(user.getDeptId().split(",")));
}
wrapper.like(StringUtils.isNotBlank(task.getDeptName()), MaintenanceTask::getDeptName, task.getDeptName());
IPage<MaintenanceTask> pages = taskService.page(Condition.getPage(query), wrapper);
return R.data(pages);
@ -296,14 +298,22 @@ public class MaintenanceController extends BladeController {
wrapper.eq(MaintenanceTask::getTaskStatus, task.getTaskStatus());
}
BladeUser user = AuthUtil.getUser();
if(user.getRoleName().equals("维修人员")){
wrapper.eq(MaintenanceTask::getServicemanId,user.getUserId());
}
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
List<String> deptIds = null;
if(user.getRoleName().equals("客服") || user.getRoleName().equals("维修负责人") || user.getRoleName().equals("维修人员")){
String deptId = user.getDeptId();
List<Dept> deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0));
if(CollectionUtil.isNotEmpty(deptList)){
deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList());
}
wrapper.in(MaintenanceTask::getDeptId,deptIds);
}else{
wrapper.in(MaintenanceTask::getDeptId,Arrays.asList(user.getDeptId().split(",")));
}
}
IPage<MaintenanceTask> pages = taskService.page(Condition.getPage(query), wrapper);
@ -437,6 +447,7 @@ public class MaintenanceController extends BladeController {
public R repairServicemanFinish(@RequestBody MaintenanceTask task) {
MaintenanceTask taskOld = taskService.getById(task.getId());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_REPAIR_FINISH.getValue());
taskOld.setCompleteImgList(task.getCompleteImgList());
taskService.updateById(taskOld);
return R.success();
@ -453,6 +464,7 @@ public class MaintenanceController extends BladeController {
taskOld.setIsOkValidity(task.getIsOkValidity());
taskOld.setIsOkQuality(task.getIsOkQuality());
taskOld.setRepairStatus(MaintenanceStatusEnum.REPAIR_EVALUATE_FINISH.getValue());
taskOld.setApproveResult(task.getApproveResult());
taskService.updateById(taskOld);
return R.success();

@ -190,15 +190,19 @@ public class WorkBenchesController extends BladeController {
*/
@GetMapping("/pieStat")
public R<Map<String, Object>> pieStat(String startTime, String endTime) {
BladeUser bladeUser = AuthUtil.getUser();
BladeUser user = AuthUtil.getUser();
Map<String, Object> map = new HashMap<>();
Long limsId = null;
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) {
limsId = Long.parseLong(bladeUser.getDeptId());
List<String> deptIds = null;
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
String deptId = user.getDeptId();
List<Dept> deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0));
if(CollectionUtil.isNotEmpty(deptList)){
deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList());
}
}
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime,limsId);
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime,deptIds);
map.put("fault", fault);
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime,limsId);
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime,deptIds);
map.put("device", device);
return R.data(map);
}
@ -348,15 +352,19 @@ public class WorkBenchesController extends BladeController {
*/
@GetMapping("/faultRatio")
public R<Map<String, Object>> faultRatio(String startTime, String endTime, String perType) {
BladeUser bladeUser = AuthUtil.getUser();
BladeUser user = AuthUtil.getUser();
Map<String, Object> map = new HashMap<>();
Long limsId = null;
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) {
limsId = Long.parseLong(bladeUser.getDeptId());
List<String> deptIds = null;
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
String deptId = user.getDeptId();
List<Dept> deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0));
if(CollectionUtil.isNotEmpty(deptList)){
deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList());
}
}
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime,limsId);
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime,deptIds);
map.put("fault", fault);
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime,limsId);
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime,deptIds);
map.put("rate", device);
return R.data(map);
}

@ -25,6 +25,7 @@ import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.business.enums.WorkOrderStatusEnum;
import org.springblade.modules.business.pojo.dto.workorder.WorkOrderDTO;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenancePlan;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrder;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrderApproval;
import org.springblade.modules.business.pojo.vo.workorder.WorkOrderVO;
@ -106,11 +107,13 @@ public class WorkOrderController extends BladeController {
// eq.in(WorkOrder::getCreateDept, Func.toLongList(AuthUtil.getDeptId()));
wrapper.ne(WorkOrder::getStatus, WorkOrderStatusEnum.KH_ORDER_DRAFT.getValue());
wrapper.in(WorkOrder::getReportUnit,deptIds);
wrapper.or().eq(WorkOrder::getReportUnit,user.getDeptId());
break;
case "3":
// 维修负责人
wrapper.ge(WorkOrder::getStatus, WorkOrderStatusEnum.WX_ORDER_ACCEPT.getValue());
wrapper.ne(WorkOrder::getStatus, WorkOrderStatusEnum.KH_ORDER_DRAFT.getValue());
wrapper.in(WorkOrder::getReportUnit,deptIds);
wrapper.or().eq(WorkOrder::getReportUnit,user.getDeptId());
break;
case "4":
// 维修人员
@ -294,7 +297,7 @@ public class WorkOrderController extends BladeController {
}
// todo 审核通过
User user = userService.getById(workOrder.getRepairPerson());
LogUtil.saveLog(workOrderOld.getRequirementCode(), WorkOrderStatusEnum.KF_ORDER_ALLOT.getName() + ":" + user.getName());
LogUtil.saveLog(workOrderOld.getRequirementCode(), WorkOrderStatusEnum.KF_ORDER_ALLOT.getName() + ":" + user.getRealName());
return R.success("");
}

@ -38,7 +38,7 @@ public interface DeviceMapper extends BaseMapper<Device> {
*/
List<DeviceExcel> exportDevice(@Param("ew") Wrapper<Device> queryWrapper);
List<PieStatVO> selectTypeCount(String startTime, String endTime, Long limsId);
List<PieStatVO> selectTypeCount(String startTime, String endTime, List<String> deptIds);
List<PieStatVO> selectStatusCount(String startTime, String endTime, Long limsId);
List<PieStatVO> selectStatusCount(String startTime, String endTime, List<String> deptIds);
}

@ -22,8 +22,11 @@
FROM
`lab_device`
WHERE is_deleted = 0 and type is not null
<if test="limsId != null">
and lims_id = #{limsId}
<if test="deptIds != null">
and lims_id in
<foreach collection="deptIds" item="deptId" index="index" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
GROUP BY type
</select>
@ -39,8 +42,11 @@
`lab_device`
WHERE
is_deleted = 0 and run_status is not null
<if test="limsId != null">
and lims_id = #{limsId}
<if test="deptIds != null">
and lims_id in
<foreach collection="deptIds" item="deptId" index="index" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
GROUP BY
run_status

@ -9,7 +9,7 @@ from (
SELECT 1 as business_type, wo.id as business_id, wo.requirement_code as business_code, u.`name` as serviceman, IFNULL(wo.discount_price,0) as price
from lab_work_order wo
left join blade_user u on wo.repair_person = u.id
WHERE wo.is_deleted= 0 AND wo.`status` = 8
WHERE wo.is_deleted= 0 AND wo.`status` = 203
<if test="deptIds != null">
and wo.report_unit in
<foreach collection="deptIds" item="deptId" index="index" open="(" close=")" separator=",">

@ -43,9 +43,9 @@ public interface IDeviceService extends BaseService<Device> {
boolean qrcode(Device device);
List<PieStatVO> selectTypeCount(String startTime, String endTime, Long limsId);
List<PieStatVO> selectTypeCount(String startTime, String endTime, List<String> deptIds);
List<PieStatVO> selectStatusCount(String startTime, String endTime, Long limsId);
List<PieStatVO> selectStatusCount(String startTime, String endTime, List<String> deptIds);
void importDevice(List<DeviceImportExcel> data);

@ -151,13 +151,13 @@ public class DeviceServiceImpl extends BaseServiceImpl<DeviceMapper, Device> imp
}
@Override
public List<PieStatVO> selectTypeCount(String startTime, String endTime, Long limsId) {
return baseMapper.selectTypeCount(startTime, endTime,limsId);
public List<PieStatVO> selectTypeCount(String startTime, String endTime, List<String> deptIds) {
return baseMapper.selectTypeCount(startTime, endTime,deptIds);
}
@Override
public List<PieStatVO> selectStatusCount(String startTime, String endTime, Long limsId) {
return baseMapper.selectStatusCount(startTime, endTime,limsId);
public List<PieStatVO> selectStatusCount(String startTime, String endTime, List<String> deptIds) {
return baseMapper.selectStatusCount(startTime, endTime,deptIds);
}
/*@Override

@ -11,6 +11,7 @@ import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springblade.common.cache.UserCache;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.base.BaseServiceImpl;
@ -63,7 +64,7 @@ public class MaintenancePlanServiceImpl extends BaseServiceImpl<MaintenancePlanM
return false;
}
plan.setIsOpen(0);
plan.setPlanCode("编码格式待定");
plan.setPlanCode("XJJH-" + DateFormatUtils.format(new Date(),"yyyyMMddHHmmss"));
boolean save = this.save(plan);
// 保存巡检计划

@ -40,8 +40,10 @@ import org.springblade.modules.business.pojo.vo.PieStatVO;
import org.springblade.modules.business.pojo.vo.workorder.WorkOrderVO;
import org.springblade.modules.business.service.*;
import org.springblade.modules.system.pojo.entity.Dept;
import org.springblade.modules.system.pojo.entity.Role;
import org.springblade.modules.system.pojo.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IRoleService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -89,6 +91,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
private final IWorkOrderFlowService flowService;
private final IRoleService roleService;
@Override
public WorkOrderVO detail(WorkOrder workOrder) {
WorkOrder detail = baseMapper.selectOne(Condition.getQueryWrapper(workOrder));
@ -105,7 +109,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
workOrderVO.setMaterials(materials);
User user = UserCache.getUser(workOrderVO.getInformant());
workOrderVO.setInformantName(user != null ? user.getRealName() : "");
Dept dept = deptService.getOne(Wrappers.lambdaQuery(Dept.class).eq(Dept::getId, user.getDeptId()));
Dept dept = deptService.getOne(Wrappers.lambdaQuery(Dept.class).eq(Dept::getId, workOrderVO.getReportUnit()));
workOrderVO.setReportUnitName(dept.getDeptName());
// 维修班组
workOrderVO.setMaintenanceTeamName(SysCache.getDeptName(workOrderVO.getMaintenanceTeam()));
@ -536,15 +540,11 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
//获取维修人员列表
User maintenanceSupervisor = userService.getById(id);
String deptId = maintenanceSupervisor.getDeptId();
List<Dept> deptChild = deptService.getDeptChild(Long.parseLong(deptId));
Dept requiredDept = new Dept();
for (Dept dept : deptChild) {
if (dept.getDeptCategory() == 4) {
requiredDept = dept;
break;
}
}
List<User> maintenancePersonnelList = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getDeptId, requiredDept.getId()));
Role role = roleService.getOne(Wrappers.lambdaQuery(Role.class).eq(Role::getRoleAlias,"维修人员").eq(Role::getIsDeleted,0).eq(Role::getStatus,1));
long roleId = role.getId();
List<User> maintenancePersonnelList = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getDeptId, deptId).eq(User::getRoleId,roleId));
List<MaintenancePersonnel> list = new ArrayList<>();
//查询每个维修人员的工单数量及满意度
for (User user : maintenancePersonnelList) {

Loading…
Cancel
Save