package org.jeecg.modules.eam.controller; import java.math.BigDecimal; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import org.apache.ibatis.annotations.Param; import org.apache.poi.hssf.record.DVALRecord; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.base.entity.SysUpload; import org.jeecg.common.system.base.entity.SysUploadRela; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.DateUtils; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.model.DepartVo; import org.jeecg.modules.eam.model.InspectionCycleVo; import org.jeecg.modules.eam.model.MaintenanceCycleVo; import org.jeecg.modules.eam.service.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.ISysUserService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: mom_eam_daily_maintenance_order * @Author: jeecg-boot * @Date: 2023-05-11 * @Version: V1.0 */ @Api(tags = "mom_eam_daily_maintenance_order") @RestController @RequestMapping("/eam/dailyMaintenanceOrder") @Slf4j public class DailyMaintenanceOrderController extends JeecgController { @Autowired private IDailyMaintenanceOrderService dailyMaintenanceOrderService; // @Autowired // private IUploadRelaService uploadRelaService; // // @Autowired // private IUploadService uploadService; @Autowired private ISysBaseAPI sysBaseApi; @Autowired private IMaintenanceCycleService maintenanceCycleService; @Autowired private IDailyMaintenanceOrderDetailService dailyMaintenanceOrderDetailService; @Autowired private IMaintenanceOrderActualWorkingHourService maintenanceOrderActualWorkingHourService; @Autowired private IFinishTransferOrderService finishTransferOrderService; @Autowired private ISysUserService sysUserService; @Autowired private IPrecisionInspectionService precisionInspectionService; @Autowired private IEamEquipmentService equipmentService; @Autowired private IEquipmentPrecisionParametersService equipmentPrecisionParametersService; @Autowired private IPrecisionInspectionDetailService precisionInspectionDetailService; /** * 分页列表查询 * * @param dailyMaintenanceOrder * @param pageNo * @param pageSize * @param req * @return */ //@AutoLog(value = "mom_eam_daily_maintenance_order-分页列表查询") @ApiOperation(value = "mom_eam_daily_maintenance_order-分页列表查询", notes = "mom_eam_daily_maintenance_order-分页列表查询") @GetMapping(value = "/list") public Result> queryPageList(DailyMaintenanceOrder dailyMaintenanceOrder, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(dailyMaintenanceOrder, req.getParameterMap()); Page page = new Page(pageNo, pageSize); IPage pageList = dailyMaintenanceOrderService.page(page, queryWrapper); return Result.OK(pageList); } /** * 日常保养工单 * qsw 2023-4-14 */ @GetMapping("getDailyMaintenanceOrderList") public Result getDailyMaintenanceOrderList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map params) { IPage> dailyMaintenanceOrderList = dailyMaintenanceOrderService.getDailyMaintenanceOrderList(pageNo, pageSize, params); List> records = dailyMaintenanceOrderList.getRecords(); for (Map record : records) { String id = (String) record.get("id"); String equipmentId = (String) record.get("equipmentId"); String maintenanceStandardId = (String) record.get("maintenanceStandardId"); List maintenanceCycles = dailyMaintenanceOrderService.getMaintenanceCycleByStandardId(maintenanceStandardId); record.put("maintenanceCycles", maintenanceCycles); List> dailyMaintenanceDetails = dailyMaintenanceOrderService.getDailyMaintenanceDetailByOrderId(id); //统计工时定额 BigDecimal workingHourQuota = new BigDecimal(0); for(Map dailyMaintenanceOrderDetail : dailyMaintenanceDetails){ if(dailyMaintenanceOrderDetail.get("workingHourQuota") != null){ Integer wh = (Integer)dailyMaintenanceOrderDetail.get("workingHourQuota"); BigDecimal workingHour = new BigDecimal(wh); workingHourQuota = workingHourQuota.add(workingHour); } } record.put("workingHourQuota",workingHourQuota); record.put("dailyMaintenanceDetails", dailyMaintenanceDetails); /** * 复选框 不可编辑 */ /* String status = (String) record.get("status"); if ("5".equals(status)) { record.put("distable", false); } else { record.put("distable", true); }*/ /** * 统计实际工时 */ QueryWrapper actualWorkingHourWrapper = new QueryWrapper<>(); actualWorkingHourWrapper.eq("maintenance_order_id", id).eq("del_flag", 0); actualWorkingHourWrapper.select("sum(actual_working_hour_quota) as actualQuantity"); Map map = maintenanceOrderActualWorkingHourService.getMap(actualWorkingHourWrapper); BigDecimal actualQuantity = new BigDecimal(0); if (map != null) { actualQuantity = (BigDecimal) map.get("actualQuantity"); } record.put("actualWorkingHourQuota", actualQuantity); List finishTransferOrders = finishTransferOrderService.lambdaQuery() .eq(FinishTransferOrder::getMaintenanceOrderId, id) .eq(FinishTransferOrder::getEquipmentId, equipmentId).list(); for (FinishTransferOrder finishTransferOrder : finishTransferOrders) { String operateUser = finishTransferOrder.getOperateUser(); if(StringUtils.isNotBlank(operateUser)){ SysUser sysUser = sysUserService.getById(operateUser); record.put("operateUserName", sysUser.getRealname()); } String repairUser = finishTransferOrder.getRepairUser(); if(StringUtils.isNotBlank(repairUser)){ SysUser sysUser = sysUserService.getById(repairUser); record.put("repairUserName", sysUser.getRealname()); } String repairDirectorUser = finishTransferOrder.getRepairDirectorUser(); if(StringUtils.isNotBlank(repairDirectorUser)){ SysUser sysUser = sysUserService.getById(repairDirectorUser); record.put("repairDirectorUserName", sysUser.getRealname()); } String equipmentInspectorUser = finishTransferOrder.getEquipmentInspectorUser(); if(StringUtils.isNotBlank(equipmentInspectorUser)){ SysUser sysUser = sysUserService.getById(equipmentInspectorUser); record.put("equipmentInspectorUserName", sysUser.getRealname()); } } } return Result.ok(dailyMaintenanceOrderList); } /** * 添加 * * @param dailyMaintenanceOrder * @return */ @AutoLog(value = "mom_eam_daily_maintenance_order-添加") @ApiOperation(value = "mom_eam_daily_maintenance_order-添加", notes = "mom_eam_daily_maintenance_order-添加") @PostMapping(value = "/add") @Transactional(rollbackFor = {Exception.class}) public Result add(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) { Date planStartTime = dailyMaintenanceOrder.getPlanStartTime(); String maintenanceCycleId = dailyMaintenanceOrder.getMaintenanceCycleId(); MaintenanceCycle maintenanceCycle = maintenanceCycleService.getById(maintenanceCycleId); String unit = maintenanceCycle.getUnit(); int effectiveTime = maintenanceCycle.getEffectiveTime().intValue(); Date date = null; if ("min".equals(unit)) { date = DateUtils.getMinAfter(planStartTime, effectiveTime); } else if ("hour".equals(unit)) { date = DateUtils.getHourAfter(planStartTime, effectiveTime); } else if ("day".equals(unit)) { date = DateUtils.getDayAfter(planStartTime, effectiveTime); } dailyMaintenanceOrder.setPlanEndTime(date);//创建类型(1手动创建,2自动创建) dailyMaintenanceOrder.setCreateType("1");//创建类型(1手动创建,2自动创建) dailyMaintenanceOrder.setConfirmStatus("0");//移交确认状态(0未确认,1主任确认,2检验员确认) dailyMaintenanceOrder.setPrecisionInspectionStatus("0");//精度检验单流程状态(0未确认,1精度检验者,2维修室主任,3设备检验员,4使用单位技术主管,5设备检验员(盖章)) dailyMaintenanceOrderService.save(dailyMaintenanceOrder); List dailyMaintenanceOrderDetails = dailyMaintenanceOrder.getDailyMaintenanceOrderDetails(); for (DailyMaintenanceOrderDetail dailyMaintenanceOrderDetail : dailyMaintenanceOrderDetails) { String id = dailyMaintenanceOrder.getId(); dailyMaintenanceOrderDetail.setId(""); dailyMaintenanceOrderDetail.setDailyMaintenanceOrderId(id); dailyMaintenanceOrderDetailService.save(dailyMaintenanceOrderDetail); } return Result.OK("添加成功!"); } /** * 编辑 * * @param dailyMaintenanceOrder * @return */ @AutoLog(value = "mom_eam_daily_maintenance_order-编辑") @ApiOperation(value = "mom_eam_daily_maintenance_order-编辑", notes = "mom_eam_daily_maintenance_order-编辑") //@RequiresPermissions("org.jeecg.modules:mom_eam_daily_maintenance_order:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) public Result edit(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) { /** * 获取数据库原始工单,对比原始工单中保养标准与周期是否发生变化 * 是:删除工单明细,重新维护 * 否:无需改变 */ String orderId = dailyMaintenanceOrder.getId(); DailyMaintenanceOrder order = dailyMaintenanceOrderService.getById(orderId); String oldMaintenanceStandardId = order.getMaintenanceStandardId(); String oldMaintenanceCycleId = order.getMaintenanceCycleId(); /** * 前段传出的新标准、新周期 */ String maintenanceStandardId = dailyMaintenanceOrder.getMaintenanceStandardId(); String maintenanceCycleId = dailyMaintenanceOrder.getMaintenanceCycleId(); Date planStartTime = dailyMaintenanceOrder.getPlanStartTime(); MaintenanceCycle maintenanceCycle = maintenanceCycleService.getById(maintenanceCycleId); String unit = maintenanceCycle.getUnit(); int effectiveTime = maintenanceCycle.getEffectiveTime().intValue(); Date date = null; if ("min".equals(unit)) { date = DateUtils.getMinAfter(planStartTime, effectiveTime); } else if ("hour".equals(unit)) { date = DateUtils.getHourAfter(planStartTime, effectiveTime); } else if ("day".equals(unit)) { date = DateUtils.getDayAfter(planStartTime, effectiveTime); } dailyMaintenanceOrder.setPlanEndTime(date); dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder); /** * 若果原标准原周期发生变化,删除原工单明细 重新维护 */ if (!oldMaintenanceStandardId.equals(maintenanceStandardId) || !oldMaintenanceCycleId.equals(maintenanceCycleId)) { List dailyMaintenanceOrderDetails = dailyMaintenanceOrderDetailService.lambdaQuery().eq(DailyMaintenanceOrderDetail::getDailyMaintenanceOrderId, orderId).eq(DailyMaintenanceOrderDetail::getDelFlag, 0).list(); for (DailyMaintenanceOrderDetail dailyMaintenanceOrderDetail : dailyMaintenanceOrderDetails) { dailyMaintenanceOrderDetailService.removeById(dailyMaintenanceOrderDetail); } } List dailyMaintenanceOrderDetails = dailyMaintenanceOrder.getDailyMaintenanceOrderDetails(); for (DailyMaintenanceOrderDetail dailyMaintenanceOrderDetail : dailyMaintenanceOrderDetails) { String id = dailyMaintenanceOrder.getId(); dailyMaintenanceOrderDetail.setDailyMaintenanceOrderId(id); dailyMaintenanceOrderDetailService.saveOrUpdate(dailyMaintenanceOrderDetail); } return Result.OK("编辑成功!"); } /** * 通过id删除 * * @param id * @return */ @AutoLog(value = "mom_eam_daily_maintenance_order-通过id删除") @ApiOperation(value = "mom_eam_daily_maintenance_order-通过id删除", notes = "mom_eam_daily_maintenance_order-通过id删除") //@RequiresPermissions("org.jeecg.modules:mom_eam_daily_maintenance_order:delete") @DeleteMapping(value = "/delete") public Result delete(@RequestParam(name = "id", required = true) String id) { dailyMaintenanceOrderService.removeById(id); return Result.OK("删除成功!"); } /** * 批量删除 * * @param ids * @return */ @AutoLog(value = "mom_eam_daily_maintenance_order-批量删除") @ApiOperation(value = "mom_eam_daily_maintenance_order-批量删除", notes = "mom_eam_daily_maintenance_order-批量删除") //@RequiresPermissions("org.jeecg.modules:mom_eam_daily_maintenance_order:deleteBatch") @DeleteMapping(value = "/deleteBatch") public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { this.dailyMaintenanceOrderService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } /** * 通过id查询 * * @param id * @return */ //@AutoLog(value = "mom_eam_daily_maintenance_order-通过id查询") @ApiOperation(value = "mom_eam_daily_maintenance_order-通过id查询", notes = "mom_eam_daily_maintenance_order-通过id查询") @GetMapping(value = "/queryById") public Result queryById(@RequestParam(name = "id", required = true) String id) { DailyMaintenanceOrder dailyMaintenanceOrder = dailyMaintenanceOrderService.getById(id); if (dailyMaintenanceOrder == null) { return Result.error("未找到对应数据"); } return Result.OK(dailyMaintenanceOrder); } /** * 导出excel * * @param request * @param dailyMaintenanceOrder */ //@RequiresPermissions("org.jeecg.modules:mom_eam_daily_maintenance_order:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, DailyMaintenanceOrder dailyMaintenanceOrder) { return super.exportXls(request, dailyMaintenanceOrder, DailyMaintenanceOrder.class, "mom_eam_daily_maintenance_order"); } /** * 通过excel导入数据 * * @param request * @param response * @return */ //@RequiresPermissions("mom_eam_daily_maintenance_order:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, DailyMaintenanceOrder.class); } /** * 获取保养周期 * qsw 2023-5-11 */ @GetMapping("getMaintenanceCycleByStandardId") public Result getMaintenanceCycleByStandardId(@Param("maintenanceStandardId") String maintenanceStandardId) { List maintenanceCycles = dailyMaintenanceOrderService.getMaintenanceCycleByStandardId(maintenanceStandardId); return Result.ok(maintenanceCycles); } /** * 根据保养标准,保养周期获取保养标准下对应的保养项目 (手动生成日常保养工单) * qsw 2023-4-13 */ @GetMapping("getMaintenanceProjectId") public Result getMaintenanceProjectId(@RequestParam(name = "maintenanceStandardId", required = true) String maintenanceStandardId, @RequestParam(name = "maintenanceCycleId", required = true) String maintenanceCycleId) { List> maps = dailyMaintenanceOrderService.getMaintenanceProjectId(maintenanceStandardId, maintenanceCycleId); // for (Map map : maps) { // //获取是否有无异常照片数据 //// List sysUploadRelas = uploadRelaService.lambdaQuery().eq(SysUploadRela::getBusId, (String) map.get("maintenanceStandardDetailId")).eq(SysUploadRela::getDelFlag, 0).list(); // List sysUploadRelas = sysBaseApi.listByBusIdAndBusType((String) map.get("maintenanceStandardDetailId"),null); // if (sysUploadRelas.size() > 0) { //// List uploadRelas = uploadRelaService.listByBusIdAndBusType((String) map.get("maintenanceStandardDetailId"), "daily_maintenance_standard_photo"); // List uploadRelas =sysBaseApi.listByBusIdAndBusType((String) map.get("maintenanceStandardDetailId"), "daily_maintenance_standard_photo"); // SysUpload upload = new SysUpload(); // if (CollectionUtils.isNotEmpty(uploadRelas)) { //// upload = uploadService.getById(uploadRelas.get(0).getUploadId()); // upload = sysBaseApi.getUploadById(uploadRelas.get(0).getUploadId()); // } // map.put("upload", upload); // } else { // SysUpload upload = new SysUpload(); // map.put("upload", upload); // } // } return Result.ok(maps); } @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT, RequestMethod.POST}) public Result editStatus(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) { if("4".equals(dailyMaintenanceOrder.getStatus())){ dailyMaintenanceOrder.setActualStartTime(new Date()); } boolean b = dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder); if (b) { return Result.OK("下发成功!"); } else { return Result.error("下发失败!"); } } @RequestMapping(value = "/orderGet", method = {RequestMethod.PUT, RequestMethod.POST}) public Result orderGet(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String userId = sysUser.getId(); dailyMaintenanceOrder.setMaintenanceUserId(userId); dailyMaintenanceOrder.setStatus("3"); boolean b = dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder); if (b) { return Result.OK("领取成功!"); } else { return Result.error("领取失败!"); } } @RequestMapping(value = "/revocation", method = {RequestMethod.PUT, RequestMethod.POST}) public Result revocation(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) { String id = dailyMaintenanceOrder.getId(); DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(id); String status = maintenanceOrder.getStatus(); if ("5".equals(status)) { maintenanceOrder.setActualEndTime(null); boolean b = dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder); List finishTransferOrders = finishTransferOrderService.lambdaQuery() .eq(FinishTransferOrder::getMaintenanceOrderId, id) .eq(FinishTransferOrder::getDelFlag,0) .eq(FinishTransferOrder::getEquipmentId, maintenanceOrder.getEquipmentId()).list(); for (FinishTransferOrder finishTransferOrder : finishTransferOrders) { finishTransferOrderService.removeById(finishTransferOrder); } List precisionInspectionList = precisionInspectionService.lambdaQuery() .eq(PrecisionInspection::getMaintenanceOrderId, id) .eq(PrecisionInspection::getDelFlag,0) .eq(PrecisionInspection::getEquipmentId, maintenanceOrder.getEquipmentId()).list(); for (PrecisionInspection precisionInspection : precisionInspectionList) { List precisionInspectionDetails = precisionInspectionDetailService.lambdaQuery() .eq(PrecisionInspectionDetail::getPrecisionInspectionId, precisionInspection.getId()) .eq(PrecisionInspectionDetail::getDelFlag,0) .list(); for (PrecisionInspectionDetail precisionInspectionDetail : precisionInspectionDetails) { precisionInspectionDetailService.removeById(precisionInspectionDetail); } precisionInspectionService.removeById(precisionInspection); } if (b) { return Result.OK("撤销成功!"); } else { return Result.error("撤销失败!"); } } else { return Result.error("仅限已完工状态撤销完成操作!"); } } /** * 保养工单派工、改派 */ @RequestMapping(value = "/assign", method = {RequestMethod.PUT,RequestMethod.POST}) @Transactional(rollbackFor = { Exception.class }) public Result assign(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) { dailyMaintenanceOrder.setStatus("3"); dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder); return Result.OK("工单派工成功!"); } @RequestMapping(value = "/report", method = {RequestMethod.PUT, RequestMethod.POST}) public Result report(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String userId = sysUser.getId(); dailyMaintenanceOrder.setMaintenanceUserId(userId); dailyMaintenanceOrder.setActualEndTime(new Date()); boolean b = dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder); String id = dailyMaintenanceOrder.getId(); DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(id); FinishTransferOrder finishTransferOrder = new FinishTransferOrder(); finishTransferOrder.setEquipmentId(maintenanceOrder.getEquipmentId()); finishTransferOrder.setMaintenanceOrderId(maintenanceOrder.getId()); finishTransferOrder.setOperateUser(userId); finishTransferOrder.setRepairUser(userId); finishTransferOrder.setStatus("1"); finishTransferOrder.setDelFlag(0); finishTransferOrderService.save(finishTransferOrder); this.createPrecisionInspection(maintenanceOrder); if (!b) { return Result.error("报工失败!"); } else { return Result.ok("报工成功!"); } } void createPrecisionInspection(DailyMaintenanceOrder dailyMaintenanceOrder){ PrecisionInspection precisionInspection = new PrecisionInspection(); precisionInspection.setMaintenanceOrderId(dailyMaintenanceOrder.getId()); precisionInspection.setEquipmentId(dailyMaintenanceOrder.getEquipmentId()); precisionInspectionService.save(precisionInspection); List equipmentPrecisionParameters = equipmentPrecisionParametersService.lambdaQuery() .eq(EquipmentPrecisionParameters::getEquipmentId, dailyMaintenanceOrder.getEquipmentId()) .eq(EquipmentPrecisionParameters::getDelFlag, "0").list(); PrecisionInspectionDetail precisionInspectionDetail = null; for (EquipmentPrecisionParameters equipmentPrecisionParameter : equipmentPrecisionParameters) { precisionInspectionDetail = new PrecisionInspectionDetail(); precisionInspectionDetail.setPrecisionInspectionId(precisionInspection.getId()); precisionInspectionDetail.setEquipmentId(dailyMaintenanceOrder.getEquipmentId()); precisionInspectionDetail.setPrecisionParametersId(equipmentPrecisionParameter.getPrecisionParametersId()); String upperLimit = equipmentPrecisionParameter.getUpperLimit()+""; String lowerLimit = equipmentPrecisionParameter.getLowerLimit()+""; precisionInspectionDetail.setTolerance("["+upperLimit+"—"+lowerLimit+"]"); precisionInspectionDetailService.save(precisionInspectionDetail); } } /** * 日常保养工单 获取设备台站已绑定的对象部门 * qsw 2023-7-11 */ @GetMapping("getSysDeparts") public Result getSysDeparts() { List sysDeparts = dailyMaintenanceOrderService.getSysDeparts(); return Result.ok(sysDeparts); } /** * 审批 */ @RequestMapping(value = "/approve", method = {RequestMethod.PUT, RequestMethod.POST}) public Result approve(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String userId = sysUser.getId(); String orderId = dailyMaintenanceOrder.getId(); DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(orderId); String equipmentId = maintenanceOrder.getEquipmentId(); String confirmStatus = maintenanceOrder.getConfirmStatus(); List finishTransferOrders = finishTransferOrderService.lambdaQuery() .eq(FinishTransferOrder::getMaintenanceOrderId, orderId) .eq(FinishTransferOrder::getEquipmentId, equipmentId).list(); if(finishTransferOrders.size()>0){ FinishTransferOrder finishTransferOrder = finishTransferOrders.get(0); if ("0".equals(confirmStatus)){ finishTransferOrder.setRepairDirectorUser(userId); finishTransferOrderService.updateById(finishTransferOrder); maintenanceOrder.setConfirmStatus("1"); dailyMaintenanceOrderService.updateById(maintenanceOrder); }else{ finishTransferOrder.setEquipmentInspectorUser(userId); finishTransferOrderService.updateById(finishTransferOrder); maintenanceOrder.setConfirmStatus("2"); maintenanceOrder.setStatus("8"); dailyMaintenanceOrderService.updateById(maintenanceOrder); } } return Result.OK("审批成功!"); } }