package com.glxp.api.controller.dev; import cn.hutool.core.bean.BeanUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.dev.DeviceRepairApplyEntity; import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum; import com.glxp.api.req.dev.DeviceRepairApplyAddParam; import com.glxp.api.req.dev.DeviceRepairApplyConfirmParam; import com.glxp.api.req.dev.DeviceRepairApplyHallQuery; import com.glxp.api.req.dev.DeviceRepairApplyQuery; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.service.dev.DeviceRepairApplyService; import com.glxp.api.vo.dev.DeviceRepairApplyVo; import groovy.util.logging.Slf4j; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; import java.util.ArrayList; import java.util.List; @Slf4j @RestController @RequestMapping @RequiredArgsConstructor public class DeviceRepairApplyController extends BaseController { private final DeviceRepairApplyService deviceRepairApplyService; /** * 本部门的报修单 * * @param query * @return */ @AuthRuleAnnotation("") @PostMapping("/udi/device/repair/apply/page") public BaseResponse page(@RequestBody DeviceRepairApplyQuery query) { AuthAdmin user = super.getUser(); query.setApplyDeptCode(user.getLocDeptCode()); List list = deviceRepairApplyService.pageList(query); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse page = new PageSimpleResponse(); page.setTotal(pageInfo.getTotal()); page.setList(BeanUtil.copyToList(pageInfo.getList(), DeviceRepairApplyVo.class)); return ResultVOUtils.success(page); } /** * 报修单大厅 * * @param query * @return */ @AuthRuleAnnotation("") @PostMapping("/udi/device/repair/apply/hall/page") public BaseResponse adminPage(@RequestBody DeviceRepairApplyHallQuery query) { DeviceRepairApplyQuery applyQuery = new DeviceRepairApplyQuery(); ArrayList statusEnums = new ArrayList<>(); if (query.getIsFinish() == 1){ statusEnums.add(DeviceRepairApplyStatusEnum.FINISH); }else { statusEnums.add(DeviceRepairApplyStatusEnum.WAIT_PROCESS); statusEnums.add(DeviceRepairApplyStatusEnum.PROCESSING); } applyQuery.setStatuss(statusEnums); BeanUtil.copyProperties(query,applyQuery); List list = deviceRepairApplyService.pageList(applyQuery); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse page = new PageSimpleResponse(); page.setTotal(pageInfo.getTotal()); page.setList(BeanUtil.copyToList(pageInfo.getList(), DeviceRepairApplyVo.class)); return ResultVOUtils.success(page); } /** * 我受理的报修单 * * @param query * @return */ @AuthRuleAnnotation("") @PostMapping("/udi/device/repair/apply/confirmByUser/page") public BaseResponse confirmByUserPage(@RequestBody DeviceRepairApplyQuery query) { AuthAdmin user = super.getUser(); query.setConfirmUserId(user.getId()); List list = deviceRepairApplyService.pageList(query); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse page = new PageSimpleResponse(); page.setTotal(pageInfo.getTotal()); page.setList(BeanUtil.copyToList(pageInfo.getList(), DeviceRepairApplyVo.class)); return ResultVOUtils.success(page); } @AuthRuleAnnotation("") @PostMapping("/udi/device/repair/apply/add") public BaseResponse addDeviceRepairApply(@RequestBody @Valid DeviceRepairApplyAddParam param) { AuthAdmin user = super.getUser(); deviceRepairApplyService.addDeviceRepairApply(param, user); return ResultVOUtils.successMsg("创建成功"); } @AuthRuleAnnotation("") @PostMapping("/udi/device/repair/apply/confirm") public BaseResponse confirmDeviceRepairApply(@RequestBody @Valid DeviceRepairApplyConfirmParam param) { AuthAdmin user = super.getUser(); deviceRepairApplyService.confirmDeviceRepairApply(param, user); return ResultVOUtils.successMsg("操作成功"); } }