package org.jeecg.modules.eam.controller;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.util.StrUtil;
|
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.parser.Feature;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
import org.jeecg.common.system.base.controller.JeecgController;
|
import org.jeecg.common.util.TranslateDictTextUtils;
|
import org.jeecg.modules.eam.constant.BusinessCodeConst;
|
import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
|
import org.jeecg.modules.eam.constant.ThirdMaintenanceStatusEnum;
|
import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder;
|
import org.jeecg.modules.eam.request.EamThirdMaintenanceQuery;
|
import org.jeecg.modules.eam.request.EamThirdMaintenanceRequest;
|
import org.jeecg.modules.eam.service.IEamThirdMaintenanceOrderService;
|
import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
/**
|
* @Description: 设备三级保养
|
* @Author: jeecg-boot
|
* @Date: 2025-04-29
|
* @Version: V1.0
|
*/
|
@Slf4j
|
@Api(tags="设备三级保养")
|
@RestController
|
@RequestMapping("/eam/thirdMaintenanceOrder")
|
public class EamThirdMaintenanceOrderController extends JeecgController<EamThirdMaintenanceOrder, IEamThirdMaintenanceOrderService> {
|
@Autowired
|
private IEamThirdMaintenanceOrderService eamThirdMaintenanceOrderService;
|
@Autowired
|
private ISysBusinessCodeRuleService businessCodeRuleService;
|
@Resource
|
private ObjectMapper objectMapper;
|
@Resource
|
private TranslateDictTextUtils translateDictTextUtils;
|
|
|
/**
|
* 分页列表查询
|
*
|
* @param query
|
* @param pageNo
|
* @param pageSize
|
* @param req
|
* @return
|
*/
|
@AutoLog(value = "设备三级保养-分页列表查询")
|
@ApiOperation(value = "设备三级保养-分页列表查询", notes = "设备三级保养-分页列表查询")
|
@GetMapping(value = "/list")
|
public Result<?> queryPageList(EamThirdMaintenanceQuery query,
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
HttpServletRequest req) {
|
Page<EamThirdMaintenanceOrder> page = new Page<EamThirdMaintenanceOrder>(pageNo, pageSize);
|
IPage<EamThirdMaintenanceOrder> pageList = eamThirdMaintenanceOrderService.queryPageList(page, query);
|
return Result.OK(pageList);
|
}
|
|
/**
|
* 查询三保工单基本信息
|
*
|
* @param id
|
* @return
|
*/
|
@ApiOperation(value = "查询三保工单基本信息", notes = "查询三保工单基本信息")
|
@GetMapping(value = "/selectVoById")
|
public Result<?> selectVoById(@RequestParam(name = "id") String id) {
|
return eamThirdMaintenanceOrderService.selectVoById(id);
|
}
|
|
/**
|
* 添加
|
*
|
* @param request
|
* @return
|
*/
|
@AutoLog(value = "设备三级保养-添加")
|
@ApiOperation(value = "设备三级保养-添加", notes = "设备三级保养-添加")
|
@PostMapping(value = "/add")
|
public Result<?> add(@RequestBody EamThirdMaintenanceRequest request) {
|
String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.THIRD_MAINTENANCE_CODE_RULE);
|
request.setOrderNum(codeSeq);
|
request.setCreationMethod(OrderCreationMethodEnum.MANUAL.name());
|
return eamThirdMaintenanceOrderService.addMaintenance(request);
|
}
|
|
/**
|
* 编辑
|
*
|
* @param request
|
* @return
|
*/
|
@AutoLog(value = "设备三级保养-编辑")
|
@ApiOperation(value = "设备三级保养-编辑", notes = "设备三级保养-编辑")
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
|
public Result<?> edit(@RequestBody EamThirdMaintenanceRequest request) {
|
if (request == null) {
|
return Result.error("添加的对象不能为空!");
|
}
|
if (CollectionUtil.isEmpty(request.getTableDetailList())) {
|
return Result.error("保养项不能为空!");
|
}
|
boolean b = eamThirdMaintenanceOrderService.editMaintenance(request);
|
if (!b) {
|
return Result.error("编辑失败!");
|
}
|
return Result.OK("编辑成功!");
|
}
|
|
/**
|
* 通过id查询
|
*
|
* @param id
|
* @return
|
*/
|
@AutoLog(value = "设备三级保养-通过id查询")
|
@ApiOperation(value = "设备三级保养-通过id查询", notes = "设备三级保养-通过id查询")
|
@GetMapping(value = "/queryById")
|
public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
|
EamThirdMaintenanceOrder eamThirdMaintenanceOrder = eamThirdMaintenanceOrderService.getById(id);
|
if (eamThirdMaintenanceOrder == null) {
|
return Result.error("未找到对应数据");
|
}
|
try {
|
String json = objectMapper.writeValueAsString(eamThirdMaintenanceOrder);
|
JSONObject item = JSONObject.parseObject(json, Feature.OrderedField);
|
translateDictTextUtils.translateField("createBy", eamThirdMaintenanceOrder.getCreateBy(), item, "sys_user,realname,username");
|
translateDictTextUtils.translateField("standardId", eamThirdMaintenanceOrder.getStandardId(), item, "eam_maintenance_standard,standard_name,id");
|
translateDictTextUtils.translateField("repairman", eamThirdMaintenanceOrder.getRepairman(), item, "sys_user,realname,username");
|
translateDictTextUtils.translateField("maintenanceStatus", eamThirdMaintenanceOrder.getMaintenanceStatus(), item, "third_maintenance_status");
|
translateDictTextUtils.translateField("creationMethod", eamThirdMaintenanceOrder.getCreationMethod(), item, "order_creation_method");
|
translateDictTextUtils.translateField("fullyFunctional", eamThirdMaintenanceOrder.getFullyFunctional(), item, "yn");
|
translateDictTextUtils.translateField("runningNormally", eamThirdMaintenanceOrder.getRunningNormally(), item, "yn");
|
translateDictTextUtils.translateField("inspector", eamThirdMaintenanceOrder.getInspector(), item, "sys_user,realname,username");
|
translateDictTextUtils.translateField("operatorSignature", eamThirdMaintenanceOrder.getOperatorSignature(), item, "sys_user,realname,username");
|
translateDictTextUtils.translateField("repairmanSignature", eamThirdMaintenanceOrder.getRepairmanSignature(), item, "sys_user,realname,username");
|
translateDictTextUtils.translateField("repairManagerSignature", eamThirdMaintenanceOrder.getRepairManagerSignature(), item, "sys_user,realname,username");
|
translateDictTextUtils.translateField("inspectorSignature", eamThirdMaintenanceOrder.getInspectorSignature(), item, "sys_user,realname,username");
|
return Result.OK(item);
|
} catch (JsonProcessingException e) {
|
return Result.error("数据转译失败!");
|
}
|
}
|
|
/**
|
* 通过id作废
|
*
|
* @param id
|
* @return
|
*/
|
@AutoLog(value = "设备三级保养-作废")
|
@ApiOperation(value = "设备三级保养-作废", notes = "设备三级保养-作废")
|
@DeleteMapping(value = "/abolish")
|
public Result<?> abolish(@RequestParam(name = "id", required = true) String id) {
|
EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.getById(id);
|
if (entity == null) {
|
return Result.error("要作废的数据不存在,请刷新重试!");
|
}
|
if (!ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
|
return Result.error("该状态的数据不允许进行作废!");
|
}
|
entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.ABOLISH.name());
|
eamThirdMaintenanceOrderService.updateById(entity);
|
return Result.OK("作废成功!");
|
}
|
|
/**
|
* 通过id领取
|
*
|
* @param id
|
* @return
|
*/
|
@AutoLog(value = "设备三级保养-领取")
|
@ApiOperation(value = "设备三级保养-领取", notes = "设备三级保养-领取")
|
@GetMapping(value = "/collect")
|
public Result<?> collect(@RequestParam(name = "id", required = true) String id) {
|
boolean b = eamThirdMaintenanceOrderService.collect(id);
|
if (!b) {
|
Result.OK("领取失败!");
|
}
|
return Result.OK("领取成功!");
|
}
|
|
/**
|
* 通过id批量作废
|
*
|
* @param ids
|
* @return
|
*/
|
@AutoLog(value = "周保工单-批量作废")
|
@ApiOperation(value = "周保工单-批量作废", notes = "周保工单-批量作废")
|
@DeleteMapping(value = "/abolishBatch")
|
public Result<?> abolishBatch(@RequestParam(name = "ids", required = true) String ids) {
|
List<String> list = Arrays.asList(ids.split(","));
|
AtomicInteger i = new AtomicInteger();
|
list.forEach(id -> {
|
EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.getById(id);
|
if (entity != null && ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
|
entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.ABOLISH.name());
|
eamThirdMaintenanceOrderService.updateById(entity);
|
i.getAndIncrement();
|
}
|
});
|
return Result.OK("批量作废成功 " + i.get() + " 条工单!");
|
}
|
|
/**
|
* 通过id批量领取
|
*
|
* @param ids
|
* @return
|
*/
|
@AutoLog(value = "周保工单-批量领取")
|
@ApiOperation(value = "周保工单-批量领取", notes = "周保工单-批量领取")
|
@DeleteMapping(value = "/collectBatch")
|
public Result<?> collectBatch(@RequestParam(name = "ids", required = true) String ids) {
|
List<String> list = Arrays.asList(ids.split(","));
|
AtomicInteger i = new AtomicInteger();
|
list.forEach(id -> {
|
EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.getById(id);
|
if (entity != null && ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
|
boolean b = eamThirdMaintenanceOrderService.collect(id);
|
if (b) {
|
i.getAndIncrement();
|
}
|
}
|
});
|
return Result.OK("批量领取成功 " + i.get() + " 条工单!");
|
}
|
|
/**
|
* 我的待办,审批动作
|
*
|
* @param request
|
* @return
|
*/
|
@ApiOperation(value = "三保工单-执行操作", notes = "三保工单-执行操作")
|
@PutMapping(value = "/approval")
|
public Result<?> approval(@RequestBody EamThirdMaintenanceRequest request) {
|
if (request == null) {
|
return Result.error("审批的对象不能为空!");
|
}
|
// 检查请求参数
|
if (StrUtil.isBlank(request.getTaskId()) || StrUtil.isBlank(request.getDataId()) || StrUtil.isBlank(request.getInstanceId())) {
|
return Result.error("审批任务错误或不存在!");
|
}
|
EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.approval(request);
|
if (entity == null) {
|
return Result.error("操作失败!");
|
}
|
return Result.ok("操作成功!");
|
}
|
}
|