“linengliang”
2023-10-18 3bef134da79cb768d6444d9a2fc68e0ca7cf7347
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java
@@ -3,6 +3,8 @@
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;
@@ -20,14 +22,8 @@
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;
@@ -45,6 +41,8 @@
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;
@@ -69,6 +67,9 @@
    private ICalibrationOrderReportService calibrationOrderReportService;
    @Autowired
    private IEamEquipmentService equipmentService;
    @Autowired
    private IPrecisionParametersTemplateDetailService precisionParametersTemplateDetailService;
//    @Autowired
//    private IUploadRelaService uploadRelaService;
//    @Autowired
@@ -502,16 +503,24 @@
        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("编辑成功!");
    }
    /**
@@ -523,15 +532,7 @@
    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("添加成功!");
    }
@@ -598,4 +599,38 @@
        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());
        if(StringUtils.isNotBlank(calibrationOrder.getEquipmentId())){
            String equipmentId = calibrationOrder.getEquipmentId();
            Equipment equipment = equipmentService.getById(equipmentId);
            if(ObjectUtils.isNotNull(equipment)){
                LocalDate currentDate = LocalDate.now();
                // 添加30天
                LocalDate dateAfter30Days = currentDate.plusDays(Integer.parseInt(equipment.getCheckPeriod()));
                // 转换为java.util.Date
                Date result = Date.from(dateAfter30Days.atStartOfDay(ZoneId.systemDefault()).toInstant());
                equipment.setTechnologyStatus(calibrationOrder.getCalibrationOrderUda6());
                equipment.setTechnologyStatusQualificationTime(new Date());
                equipment.setNextTechnologyStatusQualificationTime(result);
                equipmentService.updateById(equipment);
            }
        }
        calibrationOrderService.updateById(calibrationOrder);
        return Result.OK("编辑成功!");
    }
}