| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.github.xiaoymin.knife4j.core.util.CollectionUtils; |
| | | import io.swagger.annotations.Api; |
| | |
| | | import org.jeecg.common.system.util.JwtUtil; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.eam.entity.CalibrationOrder; |
| | | import org.jeecg.modules.eam.entity.CalibrationOrderDetail; |
| | | import org.jeecg.modules.eam.entity.CalibrationOrderReport; |
| | | import org.jeecg.modules.eam.entity.Equipment; |
| | | import org.jeecg.modules.eam.service.ICalibrationOrderDetailService; |
| | | import org.jeecg.modules.eam.service.ICalibrationOrderReportService; |
| | | import org.jeecg.modules.eam.service.ICalibrationOrderService; |
| | | import org.jeecg.modules.eam.service.IEamEquipmentService; |
| | | import org.jeecg.modules.eam.entity.*; |
| | | import org.jeecg.modules.eam.service.*; |
| | | import org.jeecg.modules.eam.vo.CalibrationOrderPage; |
| | | import org.jeecgframework.poi.excel.ExcelImportUtil; |
| | | import org.jeecgframework.poi.excel.def.NormalExcelConstants; |
| | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.time.LocalDate; |
| | | import java.time.ZoneId; |
| | | import java.util.*; |
| | | import java.util.concurrent.atomic.AtomicReference; |
| | | import java.util.stream.Collectors; |
| | |
| | | private ICalibrationOrderReportService calibrationOrderReportService; |
| | | @Autowired |
| | | private IEamEquipmentService equipmentService; |
| | | |
| | | @Autowired |
| | | private IPrecisionParametersTemplateDetailService precisionParametersTemplateDetailService; |
| | | // @Autowired |
| | | // private IUploadRelaService uploadRelaService; |
| | | // @Autowired |
| | |
| | | QueryWrapper<CalibrationOrder> queryWrapper = QueryGenerator.initQueryWrapper(calibrationOrder, req.getParameterMap()); |
| | | Page<CalibrationOrder> page = new Page<CalibrationOrder>(pageNo, pageSize); |
| | | IPage<CalibrationOrder> pageList = calibrationOrderService.page(page, queryWrapper); |
| | | for (CalibrationOrder record : pageList.getRecords()) { |
| | | String id = record.getId(); |
| | | String status = record.getStatus(); |
| | | String managementMode = record.getManagementMode(); |
| | | String equipmentId = record.getEquipmentId(); |
| | | Equipment equipment = equipmentService.getById(equipmentId); |
| | | if(equipment != null){ |
| | | record.setEquipmentNum(equipment.getNum()); |
| | | record.setEquipmentName(equipment.getName()); |
| | | record.setEquipmentModel(equipment.getModel()); |
| | | record.setEquipmentSpecification(equipment.getSpecification()); |
| | | } |
| | | List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(equipmentId); |
| | | record.setPrecisionParameterList(precisionParameterList); |
| | | if("4".equals(status)){ |
| | | if("data".equals(managementMode)){ |
| | | List<CalibrationOrderDetail> calibrationOrderDetails = calibrationOrderDetailService.lambdaQuery() |
| | | .eq(CalibrationOrderDetail::getCalibrationOrderId, id) |
| | | .eq(CalibrationOrderDetail::getJudgmentResult, "fail") |
| | | .eq(CalibrationOrderDetail::getDelFlag,"0").list(); |
| | | if(calibrationOrderDetails.size()>0){ |
| | | record.setCalibrationResult("异常"); |
| | | }else{ |
| | | record.setCalibrationResult("正常"); |
| | | } |
| | | }else{ |
| | | List<CalibrationOrderReport> calibrationOrderReports = calibrationOrderReportService.lambdaQuery() |
| | | .eq(CalibrationOrderReport::getCalibrationOrderId, id) |
| | | .eq(CalibrationOrderReport::getJudgmentResult, "fail") |
| | | .eq(CalibrationOrderReport::getDelFlag, "0").list(); |
| | | if(calibrationOrderReports.size()>0){ |
| | | record.setCalibrationResult("异常"); |
| | | }else{ |
| | | record.setCalibrationResult("正常"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // for (CalibrationOrder record : pageList.getRecords()) { |
| | | // String id = record.getId(); |
| | | // String status = record.getStatus(); |
| | | // String managementMode = record.getManagementMode(); |
| | | // String equipmentId = record.getEquipmentId(); |
| | | // Equipment equipment = equipmentService.getById(equipmentId); |
| | | // if(equipment != null){ |
| | | // record.setEquipmentNum(equipment.getNum()); |
| | | // record.setEquipmentName(equipment.getName()); |
| | | // record.setEquipmentModel(equipment.getModel()); |
| | | // record.setEquipmentSpecification(equipment.getSpecification()); |
| | | // } |
| | | // List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(equipmentId); |
| | | // record.setPrecisionParameterList(precisionParameterList); |
| | | // if("4".equals(status)){ |
| | | // if("data".equals(managementMode)){ |
| | | // List<CalibrationOrderDetail> calibrationOrderDetails = calibrationOrderDetailService.lambdaQuery() |
| | | // .eq(CalibrationOrderDetail::getCalibrationOrderId, id) |
| | | // .eq(CalibrationOrderDetail::getJudgmentResult, "fail") |
| | | // .eq(CalibrationOrderDetail::getDelFlag,"0").list(); |
| | | // if(calibrationOrderDetails.size()>0){ |
| | | // record.setCalibrationResult("异常"); |
| | | // }else{ |
| | | // record.setCalibrationResult("正常"); |
| | | // } |
| | | // }else{ |
| | | // List<CalibrationOrderReport> calibrationOrderReports = calibrationOrderReportService.lambdaQuery() |
| | | // .eq(CalibrationOrderReport::getCalibrationOrderId, id) |
| | | // .eq(CalibrationOrderReport::getJudgmentResult, "fail") |
| | | // .eq(CalibrationOrderReport::getDelFlag, "0").list(); |
| | | // if(calibrationOrderReports.size()>0){ |
| | | // record.setCalibrationResult("异常"); |
| | | // }else{ |
| | | // record.setCalibrationResult("正常"); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | return Result.OK(pageList); |
| | | } |
| | | /** |
| | |
| | | for (CalibrationOrderDetail calibrationOrderDetail : calibrationOrderDetails) { |
| | | calibrationOrderDetailService.removeById(calibrationOrderDetail); |
| | | } |
| | | List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(calibrationOrder.getEquipmentId()); |
| | | CalibrationOrderDetail calibrationOrderDetail = null; |
| | | for (Map<String, Object> map : precisionParameterList) { |
| | | calibrationOrderDetail = new CalibrationOrderDetail(); |
| | | addAndEdit(calibrationOrder); |
| | | return Result.OK("编辑成功!"); |
| | | } |
| | | |
| | | private void addAndEdit(@RequestBody CalibrationOrder calibrationOrder) { |
| | | String precisionParametersTemplateId = calibrationOrder.getCalibrationOrderUda1(); |
| | | List<PrecisionParametersTemplateDetail> precisionParametersTemplateDetails = precisionParametersTemplateDetailService |
| | | .list(new QueryWrapper<PrecisionParametersTemplateDetail>() |
| | | .eq("precision_parameters_template_id",precisionParametersTemplateId) |
| | | .eq("del_flag",0)); |
| | | for (PrecisionParametersTemplateDetail precisionParametersTemplateDetail : precisionParametersTemplateDetails) { |
| | | CalibrationOrderDetail calibrationOrderDetail = new CalibrationOrderDetail(); |
| | | calibrationOrderDetail.setCalibrationOrderId(calibrationOrder.getId()); |
| | | calibrationOrderDetail.setEquipmentPrecisionParametersId((String)map.get("id")); |
| | | calibrationOrderDetail.setPrecisionParametersId((String)map.get("precisionParametersId")); |
| | | calibrationOrderDetail.setCalibrationOrderDetailUda1(precisionParametersTemplateDetail.getId()); |
| | | calibrationOrderDetail.setPrecisionParametersId(precisionParametersTemplateDetail.getPrecisionParametersId()); |
| | | calibrationOrderDetail.setSort(precisionParametersTemplateDetail.getSort()); |
| | | calibrationOrderDetailService.save(calibrationOrderDetail); |
| | | } |
| | | return Result.OK("编辑成功!"); |
| | | } |
| | | |
| | | /** |
| | |
| | | public Result<String> addNew(@RequestBody CalibrationOrder calibrationOrder) { |
| | | calibrationOrder.setStatus("1"); |
| | | calibrationOrderService.save(calibrationOrder); |
| | | List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(calibrationOrder.getEquipmentId()); |
| | | CalibrationOrderDetail calibrationOrderDetail = null; |
| | | for (Map<String, Object> map : precisionParameterList) { |
| | | calibrationOrderDetail = new CalibrationOrderDetail(); |
| | | calibrationOrderDetail.setCalibrationOrderId(calibrationOrder.getId()); |
| | | calibrationOrderDetail.setEquipmentPrecisionParametersId((String)map.get("id")); |
| | | calibrationOrderDetail.setPrecisionParametersId((String)map.get("precisionParametersId")); |
| | | calibrationOrderDetailService.save(calibrationOrderDetail); |
| | | } |
| | | addAndEdit(calibrationOrder); |
| | | return Result.OK("添加成功!"); |
| | | } |
| | | |
| | |
| | | calibrationOrderService.removeById(id); |
| | | return Result.OK("删除成功!"); |
| | | } |
| | | @GetMapping(value = "/listByMainId") |
| | | public Result<IPage<CalibrationOrderDetail>> listByMainId(CalibrationOrderDetail calibrationOrderDetail, |
| | | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<CalibrationOrderDetail> queryWrapper = QueryGenerator.initQueryWrapper(calibrationOrderDetail, req.getParameterMap()); |
| | | Page<CalibrationOrderDetail> page = new Page<CalibrationOrderDetail>(pageNo, pageSize); |
| | | IPage<CalibrationOrderDetail> pageList = calibrationOrderDetailService.pageList(page,calibrationOrderDetail.getCalibrationOrderId()); |
| | | return Result.OK(pageList); |
| | | } |
| | | @RequestMapping(value = "/saveFinal", method = {RequestMethod.PUT, RequestMethod.POST}) |
| | | public Result<String> saveFinal(@RequestBody CalibrationOrder calibrationOrder) { |
| | | calibrationOrder.setCalibrationTime(new Date()); |
| | | calibrationOrder.setStatus("5"); |
| | | if(StringUtils.isNotBlank(calibrationOrder.getEquipmentId())){ |
| | | String equipmentId = calibrationOrder.getEquipmentId(); |
| | | Equipment equipment = equipmentService.getById(equipmentId); |
| | | if(ObjectUtils.isNotNull(equipment)){ |
| | | LocalDate currentDate = LocalDate.now(); |
| | | // 添加维护周期的日期 |
| | | String checkPeriod = equipment.getCheckPeriod(); |
| | | if(StringUtils.isNotBlank(checkPeriod)){ |
| | | LocalDate dateAfter30Days = currentDate.plusDays(Integer.parseInt(checkPeriod)); |
| | | Date result = Date.from(dateAfter30Days.atStartOfDay(ZoneId.systemDefault()).toInstant()); |
| | | equipment.setTechnologyStatus(calibrationOrder.getCalibrationOrderUda6()); |
| | | equipment.setTechnologyStatusQualificationTime(new Date()); |
| | | equipment.setNextTechnologyStatusQualificationTime(result); |
| | | }else { |
| | | return Result.error("该设备尚未维护检定周期,请先维护检定周期"); |
| | | } |
| | | |
| | | // 转换为java.util.Date |
| | | equipmentService.updateById(equipment); |
| | | } |
| | | |
| | | |
| | | } |
| | | calibrationOrderService.updateById(calibrationOrder); |
| | | return Result.OK("编辑成功!"); |
| | | } |
| | | } |