package org.jeecg.modules.mdc.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; 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.system.vo.LoginUser; import org.jeecg.modules.mdc.entity.MdcEquipmentRepair; import org.jeecg.modules.mdc.entity.MdcSystemParameters; import org.jeecg.modules.mdc.service.IMdcEquipmentRepairService; import org.jeecg.modules.mdc.service.IMdcSystemParametersService; import org.jeecg.modules.mdc.util.DateUtils; import org.jeecg.modules.mdc.vo.MdcEquipmentRepairVo; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.Date; /** * @Description: 设备维修休班 * @Author: Sake * @Date: 2023-04-06 16:54 */ @Slf4j @Api(tags = "设备维修休班") @RestController @RequestMapping("/mdc/mdcEquipmentRepair") public class MdcEquipmentRepairController extends JeecgController { @Resource private IMdcEquipmentRepairService mdcEquipmentRepairService; @Resource private IMdcSystemParametersService mdcSystemParametersService; /** * 设备维修休班-新增 * @param repairVo * @return */ @AutoLog(value = "设备维修休班-新增") @ApiOperation(value = "设备维修休班-新增", notes = "设备维修休班-新增") @PostMapping("/add") public Result addMdcEquipment(@RequestBody MdcEquipmentRepairVo repairVo) { if (StringUtils.isBlank(repairVo.getEquipmentIds())) { return Result.error("未选择设备,请排查!"); } boolean result = false; Date date = new Date(); String todayDay = DateUtils.format(date, DateUtils.STRDATE); String startTime = DateUtils.format(DateUtils.getFormatDate(repairVo.getStartTime(), DateUtils.STR_DATE_TIME_SMALL), DateUtils.STRDATE); MdcSystemParameters mdcSystemParameters = mdcSystemParametersService.getOne(new LambdaQueryWrapper().eq(MdcSystemParameters::getCode, "equip_log_statis_time")); if (mdcSystemParameters != null) { String time = mdcSystemParameters.getValue(); Date keyDate = DateUtils.setTimeForDay(date, time); if (Integer.parseInt(todayDay) <= Integer.parseInt(startTime)) { result = mdcEquipmentRepairService.addMdcRepair(repairVo); } else if ((Integer.parseInt(todayDay) - Integer.parseInt(startTime)) == 1 && keyDate.after(date)) { result = mdcEquipmentRepairService.addMdcRepair(repairVo); } } else { if (Integer.parseInt(todayDay) > Integer.parseInt(startTime)) { return Result.error("新增失败!"); } result = mdcEquipmentRepairService.addMdcRepair(repairVo); } if (!result) { return Result.error("新增失败!"); } return Result.OK("新增成功"); } /** * 设备维修休班-分页查询 * @param pageNo * @param pageSize * @param repair * @param req * @return */ @AutoLog(value = "设备维修休班-分页查询") @ApiOperation(value = "设备维修休班-分页查询", notes = "设备维修休班-分页查询") @GetMapping("/pageList") public Result pageList(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, MdcEquipmentRepair repair, HttpServletRequest req) { if (repair == null) { return Result.error("请传递有效参数!"); } LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String userId = user.getId(); Page page = new Page(pageNo, pageSize); IPage mdcEquipmentRepairIPage = mdcEquipmentRepairService.pageList(userId, page, repair, req); return Result.OK(mdcEquipmentRepairIPage); } /** * 编辑 * * @param repair * @return */ @AutoLog(value = "设备维修休班-编辑") @ApiOperation(value = "设备维修休班-编辑", notes = "编辑") @PutMapping(value = "/edit") public Result edit(@RequestBody MdcEquipmentRepair repair) { //根据id查询原有数据 MdcEquipmentRepair equipmentRepair = mdcEquipmentRepairService.getById(repair.getId()); if (!equipmentRepair.getStartTime().equals(repair.getStartTime())) { if (equipmentRepair.getStartTime().before(DateUtils.getTodayZero(DateUtils.getNow()))) { return Result.error("修改失败!原纪录开始时间小于当前时间!"); } } boolean result = false; Date date = new Date(); String todayDay = DateUtils.format(date, DateUtils.STRDATE); String startTime = DateUtils.format(repair.getStartTime(), DateUtils.STRDATE); MdcSystemParameters mdcSystemParameters = mdcSystemParametersService.getOne(new LambdaQueryWrapper().eq(MdcSystemParameters::getCode, "equip_log_statis_time")); if (mdcSystemParameters != null) { String time = mdcSystemParameters.getValue(); Date keyDate = DateUtils.setTimeForDay(date, time); if (Integer.parseInt(todayDay) <= Integer.parseInt(startTime)) { result = mdcEquipmentRepairService.updateMdcRepair(repair); } else if ((Integer.parseInt(todayDay) - Integer.parseInt(startTime)) == 1 && keyDate.after(date)) { result = mdcEquipmentRepairService.updateMdcRepair(repair); } } else { if (Integer.parseInt(todayDay) > Integer.parseInt(startTime)) { return Result.error("删除失败!此配置已作为设备基础数据计算效率!"); } result = mdcEquipmentRepairService.updateMdcRepair(repair); } if (!result) { return Result.error("时间段数据已经存在,请排查!"); } return Result.OK("修改成功!"); } /** * 通过id删除 * * @param id * @return */ @AutoLog("设备维修休班-根据id删除") @ApiOperation(value = "设备维修休班-根据id删除", notes = "设备维修休班-根据id删除") @DeleteMapping(value = "/delete") public Result delete(@RequestParam(name = "id", required = true) String id) { boolean b = false; Date date = new Date(); MdcEquipmentRepair mdcEquipmentRepair = mdcEquipmentRepairService.getById(id); String todayDay = DateUtils.format(date, DateUtils.STRDATE); String startTime = DateUtils.format(mdcEquipmentRepair.getStartTime(), DateUtils.STRDATE); MdcSystemParameters mdcSystemParameters = mdcSystemParametersService.getOne(new LambdaQueryWrapper().eq(MdcSystemParameters::getCode, "equip_log_statis_time")); if (mdcSystemParameters != null) { String time = mdcSystemParameters.getValue(); Date keyDate = DateUtils.setTimeForDay(date, time); // 20230920 20230910 20230922 if (Integer.parseInt(todayDay) <= Integer.parseInt(startTime)) { mdcEquipmentRepairService.removeById(id); return Result.OK("删除成功!"); } else if ((Integer.parseInt(todayDay) - Integer.parseInt(startTime)) == 1 && keyDate.after(date)) { mdcEquipmentRepairService.removeById(id); return Result.OK("删除成功!"); } } else { if (Integer.parseInt(todayDay) > Integer.parseInt(startTime)) { return Result.error("删除失败!此配置已作为设备基础数据计算效率!"); } mdcEquipmentRepairService.removeById(id); return Result.OK("删除成功!"); } return Result.error("删除失败!此配置已作为设备基础数据计算效率!"); } /** * excel导出 * * @param request * @param repair * @return */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, MdcEquipmentRepair repair) { return super.exportXls(request, repair, MdcEquipmentRepair.class, "设备维修休班"); } }