lyh
8 天以前 b84987e8d9def03bdf06f69e51de56e72d5b8131
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java
@@ -14,6 +14,8 @@
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.TranslateDictTextUtils;
import org.jeecg.modules.eam.constant.BusinessCodeConst;
import org.jeecg.modules.eam.dto.EamRepairOrderDto;
import org.jeecg.modules.eam.dto.EamRepairOrderExport;
import org.jeecg.modules.eam.entity.EamRepairOrder;
import org.jeecg.modules.eam.request.EamRepairOrderQuery;
import org.jeecg.modules.eam.request.EamRepairOrderRequest;
@@ -26,10 +28,16 @@
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.service.ISysUserService;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.Date;
import java.util.List;
/**
 * @Description: 维修工单
@@ -74,55 +82,47 @@
    /**
     * 领取
     *
     * @param eamRepairOrder
     * @param id
     * @return
     */
    @AutoLog(value = "维修工单-领取")
    @ApiOperation(value = "维修工单-领取", notes = "维修工单-领取")
    @PostMapping(value = "/add")
    public Result<?> add(@RequestBody EamRepairOrder eamRepairOrder) {
        if (StringUtils.isBlank(eamRepairOrder.getReportId())) {
            return Result.error("领取失败,请选择维修记录!");
        }
    @GetMapping(value = "/claim")
    public Result<?> claim(String id) {
        // 校验领取权限
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (!BusinessCodeConst.PCR0002.equals(user.getPost())) {
            return Result.error("领取失败,没有领取权限!");
            return Result.error("领取失败,没有领取权限!,需维修工领取");
        }
        eamRepairOrderService.saveRepairOrder(eamRepairOrder);
        return Result.OK("添加成功!");
        EamRepairOrder eamRepairOrder=eamRepairOrderService.getById(id);
        if (eamRepairOrder==null) {
            return Result.error("维修工单不存在");
        }else {
            if ("1".equals(eamRepairOrder.getClaimStatus())) {
                return Result.error("该维修工单已被领取");
            }
        }
        eamRepairOrder.setClaimStatus("1");
        eamRepairOrder.setActualStartTime(new Date());
        eamRepairOrderService.updateById(eamRepairOrder);
        return Result.OK("领取成功");
    }
    /**
     * 指派
     *
     * @param
     * 提交
     * @param id
     * @return
     */
    @AutoLog(value = "故障报修-指派")
    @ApiOperation(value = "故障报修-指派", notes = "故障报修-指派")
    @PostMapping(value = "/assign")
    public Result<?> assign(@RequestBody EamReportRepairQuery eamReportRepairQuery) {
        if (StringUtils.isBlank(eamReportRepairQuery.getRepairer())) {
            return Result.error("指派失败,请选择维修工!");
        }
        // 校验指派权限
    @AutoLog(value = "维修工单-提交")
    @ApiOperation(value = "维修工单-提交", notes = "维修工单-提交")
    @GetMapping(value = "/submit")
    public Result<?> submit(String id) {
        // 校验领取权限
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (!BusinessCodeConst.PCR0004.equals(user.getPost())) {
            return Result.error("指派失败,没有指派权限!");
        if (!BusinessCodeConst.PCR0002.equals(user.getPost())) {
            return Result.error("提交失败,没有提交权限!,需维修工提交");
        }
        // 校验维修工权限
        SysUser sysUser = sysUserService.getUserByName(eamReportRepairQuery.getRepairer());
        if (sysUser == null) {
            return Result.error("指派失败,未找到此维修工用户!");
        }
        if (!BusinessCodeConst.PCR0002.equals(sysUser.getPost())) {
            return Result.error("指派失败,此用户不是维修工!");
        }
        eamRepairOrderService.assign(eamReportRepairQuery);
        return Result.OK("指派成功!");
        eamRepairOrderService.saveRepairOrder(id);
        return Result.OK("提交成功!");
    }
    /**
@@ -150,6 +150,41 @@
    }
    /**
     * 填报详情
     * @param id
     */
    @AutoLog(value = "维修工单-填报详情")
    @ApiOperation(value = "维修工单-填报详情", notes = "维修工单-填报详情")
    @GetMapping(value = "/queryByReportId")
    public Result<?> queryByReportId(@RequestParam(name = "id", required = true) String id) {
        return Result.ok(eamRepairOrderService.queryByReportId(id));
    }
    /**
     * 填报维修工单
     * @param eamRepairOrderDto
     */
    @ApiOperation(value = "维修工单-填报维修工单", notes = "维修工单-填报维修工单")
    @PostMapping(value = "/report")
    public Result<?> report(@RequestBody EamRepairOrderDto eamRepairOrderDto) {
        // 校验领取权限
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (!BusinessCodeConst.PCR0002.equals(user.getPost())) {
            return Result.error("填报失败,没有填报权限!,需维修工提交");
        }
        if (eamRepairOrderDto == null) {
            return Result.error("填报的对象不能为空!");
        }else {
            boolean b = eamRepairOrderService.report(eamRepairOrderDto);
            if(!b) {
                return Result.error("填报失败,请重试");
            }else {
                return  Result.OK("填报成功");
            }
        }
    }
    /**
     * 通过id查询
     *
     * @param id
@@ -172,7 +207,6 @@
            translateDictTextUtils.translateField("reportStatus", eamRepairOrder.getReportStatus(), item, "report_repair_status");
            translateDictTextUtils.translateField("equipmentId", eamRepairOrder.getEquipmentId(), item, "eam_equipment,id,equipment_code");
            translateDictTextUtils.translateField("repairStatus", eamRepairOrder.getRepairStatus(), item, "report_repair_status");
            translateDictTextUtils.translateField("repairer", eamRepairOrder.getRepairer(), item, "sys_user,username,realname");
            return Result.OK(item);
        } catch (Exception e) {
            return Result.error("数据转译失败!");
@@ -183,11 +217,18 @@
     * 导出excel
     *
     * @param request
     * @param eamRepairOrder
     * @param eamRepairOrderQuery
     */
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, EamRepairOrder eamRepairOrder) {
        return super.exportXls(request, eamRepairOrder, EamRepairOrder.class, "维修工单");
    public ModelAndView exportXls(HttpServletRequest request, EamRepairOrderQuery eamRepairOrderQuery) {
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        List<EamRepairOrderExport> eamRepairOrderExports=eamRepairOrderService.exportList(eamRepairOrderQuery);
        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
        mv.addObject(NormalExcelConstants.FILE_NAME, "维修工单台账"); //此处设置的filename无效 ,前端会重更新设置一下
        mv.addObject(NormalExcelConstants.CLASS, EamRepairOrderExport.class);
        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("维修工单台账" + "报表", "导出人:" + sysUser.getRealname(), "维修工单台账"));
        mv.addObject(NormalExcelConstants.DATA_LIST, eamRepairOrderExports);
        return mv;
    }
}