| | |
| | | package org.jeecg.modules.eam.controller; |
| | | |
| | | import org.jeecg.common.api.dto.message.MessageDTO; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.system.api.ISysBaseAPI; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jeecg.common.system.base.controller.JeecgController; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.modules.eam.entity.*; |
| | | import org.jeecg.modules.eam.service.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.eam.entity.EquipmentMaintenancePlanDetail; |
| | | import org.jeecg.modules.eam.entity.EquipmentMaintenancePlan; |
| | | import org.jeecg.modules.eam.service.IEquipmentMaintenancePlanService; |
| | | import org.jeecg.modules.eam.service.IEquipmentMaintenancePlanDetailService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.jeecg.common.aspect.annotation.AutoLog; |
| | |
| | | @Autowired |
| | | private IEquipmentMaintenancePlanDetailService equipmentMaintenancePlanDetailService; |
| | | |
| | | @Autowired |
| | | private IDailyMaintenanceOrderService dailyMaintenanceOrderService; |
| | | |
| | | @Autowired |
| | | private IEamEquipmentService equipmentService; |
| | | |
| | | @Autowired |
| | | private IMaintenanceStandardService maintenanceStandardService; |
| | | |
| | | @Autowired |
| | | private IdentityService sysIdentityService; |
| | | |
| | | @Autowired |
| | | private ISysBaseAPI sysBaseApi; |
| | | |
| | | @Autowired |
| | | private IDailyMaintenanceOrderDetailService maintenanceOrderDetailService; |
| | | |
| | | @Autowired |
| | | private IMaintenanceStandardDetailService maintenanceStandardDetailService; |
| | | |
| | | |
| | | |
| | | |
| | | /*---------------------------------主表处理-begin-------------------------------------*/ |
| | | |
| | |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<EquipmentMaintenancePlan> queryWrapper = QueryGenerator.initQueryWrapper(equipmentMaintenancePlan, req.getParameterMap()); |
| | | //按创建时间范围查询,从前端接收两个参数,beginTime和endTime |
| | | String beginTime = req.getParameter("beginTime"); |
| | | String endTime = req.getParameter("endTime"); |
| | | if(oConvertUtils.isNotEmpty(beginTime) && oConvertUtils.isNotEmpty(endTime)){ |
| | | queryWrapper.between("create_time",beginTime,endTime); |
| | | } |
| | | Page<EquipmentMaintenancePlan> page = new Page<EquipmentMaintenancePlan>(pageNo, pageSize); |
| | | IPage<EquipmentMaintenancePlan> pageList = equipmentMaintenancePlanService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | |
| | | @PostMapping(value = "/add") |
| | | @Transactional(rollbackFor = {Exception.class}) |
| | | public Result<String> add(@RequestBody EquipmentMaintenancePlan equipmentMaintenancePlan) { |
| | | equipmentMaintenancePlan.setStatus("created"); |
| | | List<EquipmentMaintenancePlanDetail> equipmentMaintenancePlanDetails = equipmentMaintenancePlan.getEquipmentMaintenancePlanDetailList(); |
| | | equipmentMaintenancePlan.setEquipNo(equipmentMaintenancePlanDetails.size()); |
| | | //判断selectOption类型 |
| | | equipmentMaintenancePlan.setStatus("created"); |
| | | equipmentMaintenancePlan.setDelFlag(CommonConstant.DEL_FLAG_0); |
| | | equipmentMaintenancePlanService.save(equipmentMaintenancePlan); |
| | | for(EquipmentMaintenancePlanDetail equipmentMaintenancePlanDetail:equipmentMaintenancePlanDetails){ |
| | | equipmentMaintenancePlanDetail.setPlanId(equipmentMaintenancePlan.getId()); |
| | | if(equipmentMaintenancePlan.getSelectOption().equals("0")){ |
| | | //查询所有设备并将其id封装成idList |
| | | List<Equipment> equipments = equipmentService.list(); |
| | | List<String> idList = equipments.stream().map(Equipment::getId).collect(Collectors.toList()); |
| | | //根据idList和type查询所有设备的保养标准 |
| | | Map<String, Object> maintenanceStandards = equipmentMaintenancePlanService.getStandards(idList,equipmentMaintenancePlan.getType()); |
| | | List<MaintenanceStandard> maintenanceStandardList = (List<MaintenanceStandard>) maintenanceStandards.get("records"); |
| | | //循环maintenanceStandardList将数据封装到equipmentMaintenancePlanDetailList |
| | | List<EquipmentMaintenancePlanDetail> equipmentMaintenancePlanDetailList = new ArrayList<>(); |
| | | equipmentMaintenancePlan.setEquipNo(maintenanceStandardList.size()); |
| | | equipmentMaintenancePlanService.save(equipmentMaintenancePlan); |
| | | for(MaintenanceStandard maintenanceStandard:maintenanceStandardList){ |
| | | EquipmentMaintenancePlanDetail equipmentMaintenancePlanDetail = new EquipmentMaintenancePlanDetail(); |
| | | equipmentMaintenancePlanDetail.setStandardNum(maintenanceStandard.getNum()); |
| | | equipmentMaintenancePlanDetail.setEquipmentName(maintenanceStandard.getEquipmentName()); |
| | | equipmentMaintenancePlanDetail.setEquipmentId(maintenanceStandard.getEquipmentId()); |
| | | equipmentMaintenancePlanDetail.setEquipmentNum(maintenanceStandard.getEquipmentNum()); |
| | | equipmentMaintenancePlanDetail.setModel(maintenanceStandard.getEquipmentModel()); |
| | | equipmentMaintenancePlanDetail.setStandardId(maintenanceStandard.getId()); |
| | | equipmentMaintenancePlanDetail.setPlanId(equipmentMaintenancePlan.getId()); |
| | | equipmentMaintenancePlanDetail.setPlanStartTime(equipmentMaintenancePlan.getBeginTime()); |
| | | equipmentMaintenancePlanDetail.setPlanEndTime(equipmentMaintenancePlan.getEndTime()); |
| | | equipmentMaintenancePlanDetailList.add(equipmentMaintenancePlanDetail); |
| | | } |
| | | equipmentMaintenancePlanDetailService.saveBatch(equipmentMaintenancePlanDetailList); |
| | | } |
| | | equipmentMaintenancePlanDetailService.saveBatch(equipmentMaintenancePlanDetails); |
| | | else{ |
| | | List<EquipmentMaintenancePlanDetail> equipmentMaintenancePlanDetails = equipmentMaintenancePlan.getEquipmentMaintenancePlanDetailList(); |
| | | equipmentMaintenancePlan.setEquipNo(equipmentMaintenancePlanDetails.size()); |
| | | equipmentMaintenancePlanService.save(equipmentMaintenancePlan); |
| | | for(EquipmentMaintenancePlanDetail equipmentMaintenancePlanDetail:equipmentMaintenancePlanDetails){ |
| | | equipmentMaintenancePlanDetail.setPlanId(equipmentMaintenancePlan.getId()); |
| | | } |
| | | equipmentMaintenancePlanDetailService.saveBatch(equipmentMaintenancePlanDetails); |
| | | } |
| | | return Result.OK("添加成功!"); |
| | | } |
| | | |
| | |
| | | } |
| | | @PutMapping("distrbute") |
| | | public Result<?> distrbute(@RequestBody EquipmentMaintenancePlan equipmentMaintenancePlan) { |
| | | LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | equipmentMaintenancePlan.setStatus("distributed"); |
| | | equipmentMaintenancePlanService.updateById(equipmentMaintenancePlan); |
| | | //生成工单 |
| | | List<EquipmentMaintenancePlanDetail> equipmentMaintenancePlanDetails = equipmentMaintenancePlanDetailService.selectByMainId(equipmentMaintenancePlan.getId()); |
| | | for(EquipmentMaintenancePlanDetail equipmentMaintenancePlanDetail:equipmentMaintenancePlanDetails){ |
| | | MaintenanceStandard maintenanceStandard = maintenanceStandardService.getById(equipmentMaintenancePlanDetail.getStandardId()); |
| | | String num = sysIdentityService.getNumByTypeAndLength("MaintenanceOrder",4); |
| | | DailyMaintenanceOrder dailyMaintenanceOrder = new DailyMaintenanceOrder(); |
| | | dailyMaintenanceOrder.setNum(num); |
| | | dailyMaintenanceOrder.setEquipmentId(maintenanceStandard.getEquipmentId()); |
| | | dailyMaintenanceOrder.setPlanStartTime(equipmentMaintenancePlanDetail.getPlanStartTime()); |
| | | dailyMaintenanceOrder.setPlanEndTime(equipmentMaintenancePlanDetail.getPlanEndTime()); |
| | | dailyMaintenanceOrder.setStatus("3");//3:未开始 |
| | | dailyMaintenanceOrder.setMaintenanceStandardId(maintenanceStandard.getId()); |
| | | dailyMaintenanceOrder.setCreateType(CommonConstant.ANNOUNCEMENT_SEND_STATUS_2); |
| | | List<MaintenanceStandardDetail> maintenanceStandardDetailList = equipmentMaintenancePlanService.getCycle(maintenanceStandard.getId(),equipmentMaintenancePlan.getType()); |
| | | if(maintenanceStandardDetailList.size()>0){ |
| | | dailyMaintenanceOrder.setMaintenanceCycleId(maintenanceStandardDetailList.get(0).getMaintenanceCycleId()); |
| | | } |
| | | dailyMaintenanceOrder.setMaintenanceOrderUda1(equipmentMaintenancePlan.getId()); |
| | | dailyMaintenanceOrder.setMaintenanceOrderUda2(equipmentMaintenancePlanDetail.getId()); |
| | | dailyMaintenanceOrder.setDelFlag(CommonConstant.DEL_FLAG_0); |
| | | dailyMaintenanceOrder.setPrecisionInspectionStatus(CommonConstant.STATUS_0); |
| | | dailyMaintenanceOrder.setStoveExemptStatus(CommonConstant.STATUS_0); |
| | | dailyMaintenanceOrder.setConfirmStatus(CommonConstant.STATUS_0); |
| | | dailyMaintenanceOrderService.save(dailyMaintenanceOrder); |
| | | for(MaintenanceStandardDetail maintenanceStandardDetail:maintenanceStandardDetailList){ |
| | | DailyMaintenanceOrderDetail dailyMaintenanceOrderDetail = new DailyMaintenanceOrderDetail(); |
| | | dailyMaintenanceOrderDetail.setDailyMaintenanceOrderId(dailyMaintenanceOrder.getId()); |
| | | dailyMaintenanceOrderDetail.setMaintenanceStandardDetailId(maintenanceStandardDetail.getId()); |
| | | dailyMaintenanceOrderDetail.setMaintenanceStandardId(maintenanceStandard.getId()); |
| | | dailyMaintenanceOrderDetail.setMaintenanceProjectId(maintenanceStandardDetail.getMaintenanceProjectId()); |
| | | dailyMaintenanceOrderDetail.setDelFlag(0); |
| | | maintenanceOrderDetailService.save(dailyMaintenanceOrderDetail); |
| | | } |
| | | } |
| | | equipmentMaintenancePlanService.updateById(equipmentMaintenancePlan); |
| | | String msg = "单据号为【"+equipmentMaintenancePlan.getNum()+"】的保养计划已生成保养工单"; |
| | | MessageDTO messageDTO = new MessageDTO(); |
| | | messageDTO.setTitle("有新的保养工单"); |
| | | messageDTO.setContent(msg); |
| | | messageDTO.setCategory("保养工单"); |
| | | messageDTO.setFromUser(user.getUsername()); |
| | | messageDTO.setToUser("admin"); |
| | | if(equipmentMaintenancePlanDetails.size()!=0){ |
| | | sysBaseApi.sendSysAnnouncement(messageDTO); |
| | | } |
| | | return Result.OK("操作成功"); |
| | | } |
| | | |
| | |
| | | } |
| | | return Result.error("文件导入失败!"); |
| | | } |
| | | |
| | | @GetMapping("/getStandards") |
| | | public Result<?> getStandards(@RequestParam(name="ids",required=true) String ids, |
| | | @RequestParam(name="maintenanceType",required=true) String maintenanceType |
| | | ){ |
| | | List<String> equipmentIds = Arrays.asList(ids.split(",")); |
| | | return Result.OK(equipmentMaintenancePlanService.getStandards(equipmentIds,maintenanceType)); |
| | | } |
| | | /*--------------------------------子表处理-保养计划明细-end----------------------------------------------*/ |
| | | |
| | | |
| | | |
| | | |