package com.glxp.api.controller.dev; 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.*; import com.glxp.api.req.dev.*; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.service.dev.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; 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.List; @RestController @RequiredArgsConstructor @Slf4j @RequestMapping public class DeviceUpkeepDetailController extends BaseController { private final DeviceUpkeepDetailService deviceUpkeepDetailService; private final DevicePlanService devicePlanService; private final DeviceInfoService deviceInfoService; private final DevicePlanDetailService devicePlanDetailService; private final DeviceUpkeepDetailItemService deviceUpkeepDetailItemService; /** * 保养任务单明细列表 * * @param query * @return */ @AuthRuleAnnotation("") @PostMapping("/udi/device/upkeep/detail/page") public BaseResponse page(@RequestBody @Valid DeviceUpkeepDetailQuery query) { List list = deviceUpkeepDetailService.pageList(query); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse page = new PageSimpleResponse(); page.setTotal(pageInfo.getTotal()); page.setList(pageInfo.getList()); return ResultVOUtils.success(page); } /** * 设备保养计划明细新增 * * @param param 参数 * @return 计划id */ @AuthRuleAnnotation("") @PostMapping("/udi/device/upkeep/detail/add") public BaseResponse add(@RequestBody @Valid DevicePlanDetailParam param) { DevicePlanEntity entity = null; if (!param.valid(devicePlanService)) { AuthAdmin user = super.getUser(); entity = param.getDevicePlanParam().getEntity(user); devicePlanService.save(entity); param.getDevicePlanParam().setPlanId(entity.getPlanId()); param.setPlanId(entity.getPlanId()); } else { entity = devicePlanService.getById(param.getPlanId()); } param.valid(devicePlanService); List list = param.getEntity(deviceInfoService); devicePlanDetailService.replaceBatch(list); return ResultVOUtils.success(entity); } /** * 完成保养任务单明细项目 * * @param param * @return */ @AuthRuleAnnotation("") @PostMapping("/udi/device/upkeep/detail/finish") public BaseResponse finish(@RequestBody @Valid DeviceUpkeepDetailParam param) { AuthAdmin user = super.getUser(); deviceUpkeepDetailItemService.finishAll(param, user); return ResultVOUtils.successMsg("操作成功"); } }