“linengliang”
2023-09-19 8aa74635a762bbb5a49253b055eb69db5ebaab2d
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java
@@ -1,15 +1,11 @@
package org.jeecg.modules.eam.service.impl;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecg.common.util.DateUtils;
import org.jeecg.common.util.UUIDGenerator;
import org.jeecg.modules.eam.entity.PredictiveWorkOrder;
import org.jeecg.modules.eam.entity.PredictiveWorkPlan;
import org.jeecg.modules.eam.entity.PredictiveWorkPlanParameter;
@@ -20,12 +16,9 @@
import org.jeecg.modules.eam.service.IPredictiveWorkPlanParameterHistoryService;
import org.jeecg.modules.eam.service.IPredictiveWorkPlanParameterService;
import org.jeecg.modules.eam.service.IPredictiveWorkPlanService;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Service;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -86,24 +79,51 @@
            }
            if (needCreateFlag) {
                //生成工单 ,将参数信息备份
                this.createOrder(predictiveWorkPlan.getId(), predictiveWorkPlan.getEquipmentId());
                this.backInfo(predictiveWorkPlan.getId(), predictiveWorkPlanParameterList);
                PredictiveWorkOrder predictiveWorkOrder = this.createOrder(predictiveWorkPlan.getId(), predictiveWorkPlan.getEquipmentId());
                if (predictiveWorkOrder != null) {
                    this.backInfo(predictiveWorkPlan.getId(), predictiveWorkOrder.getId(), predictiveWorkPlanParameterList);
                }
            }
        }
    }
    private void createOrder(String workPlanId, String equipmentId) {
    @Override
    public void removeByWorkPlanId(String predictiveWorkPlanId) {
        LambdaUpdateChainWrapper<PredictiveWorkPlanParameter> lambdaUpdate = this.lambdaUpdate();
        lambdaUpdate.eq(PredictiveWorkPlanParameter::getWorkPlanId, predictiveWorkPlanId);
        lambdaUpdate.remove();
    }
    @Override
    public void revise(String oldWorkPlanId, String workPlanId) {
        LambdaQueryChainWrapper<PredictiveWorkPlanParameter> lambdaQuery = this.lambdaQuery();
        lambdaQuery.eq(PredictiveWorkPlanParameter::getWorkPlanId, oldWorkPlanId).eq(PredictiveWorkPlanParameter::getDelFlag, 0);
        List<PredictiveWorkPlanParameter> insertList = lambdaQuery.list();
        for (PredictiveWorkPlanParameter predictiveWorkPlanParameter : insertList) {
            predictiveWorkPlanParameter.setWorkPlanId(workPlanId);
            predictiveWorkPlanParameter.setId(UUIDGenerator.generate());
        }
        this.saveBatch(insertList);
    }
    private PredictiveWorkOrder createOrder(String workPlanId, String equipmentId) {
        PredictiveWorkOrder predictiveWorkOrder = new PredictiveWorkOrder();
        predictiveWorkOrder.setWorkPlanId(workPlanId);
        predictiveWorkOrder.setEquipmentId(equipmentId);
        //TODO 待验证
        predictiveWorkOrderService.add(predictiveWorkOrder);
        return predictiveWorkOrder;
    }
    private void backInfo(String workPlanId, List<PredictiveWorkPlanParameter> predictiveWorkPlanParameterList) {
    private void backInfo(String workPlanId, String workOrderId, List<PredictiveWorkPlanParameter> predictiveWorkPlanParameterList) {
        List<PredictiveWorkPlanParameterHistory> list = new ArrayList<>();
        for (PredictiveWorkPlanParameter predictiveWorkPlanParameter : predictiveWorkPlanParameterList) {
            PredictiveWorkPlanParameterHistory predictiveWorkPlanParameterHistory = new PredictiveWorkPlanParameterHistory();
            predictiveWorkPlanParameterHistory.setWorkPlanId(workPlanId);
            //TODO 加属性workOrderId
            predictiveWorkPlanParameterHistory.setWorkOrderId(workOrderId);
            predictiveWorkPlanParameterHistory.setParameterUnit(predictiveWorkPlanParameter.getParameterUnit());
            predictiveWorkPlanParameterHistory.setParameterId(predictiveWorkPlanParameter.getParameterId());
            predictiveWorkPlanParameterHistory.setParameterCode(predictiveWorkPlanParameter.getParameterCode());
            predictiveWorkPlanParameterHistory.setParameterName(predictiveWorkPlanParameter.getParameterName());
@@ -130,7 +150,21 @@
    }
    private ParameterVo findParameterInfo(String saveTableName, float lowerLimitValue, float upperLimitValue, String parameterCode) {
        return this.getBaseMapper().findParameterInfo(saveTableName, lowerLimitValue, upperLimitValue, parameterCode);
//        String temp = "[" + saveTableName + "]";
//        return this.getBaseMapper().findParameterInfo(temp, lowerLimitValue, upperLimitValue, parameterCode);
        Integer lowerLimitValueInt = (int) lowerLimitValue;
        Integer upperLimitValueInt = (int)upperLimitValue;
        String sql = "SELECT TOP 1 " +
                "            t1.CollectTime collectTime, " +
                "            t1." + parameterCode + " actualValue " +
                "        FROM " +
                "            [" + saveTableName + "] t1 " +
                "        WHERE " +
                "            t1." + parameterCode + " <  " + lowerLimitValueInt +
                "           OR t1." + parameterCode + " > " + upperLimitValueInt +
                "        ORDER BY " +
                "            t1.CollectTime DESC";
        return this.getBaseMapper().findCommonParameterInfo(sql);
    }
    private List<PredictiveWorkPlanParameter> listParameter(String predictiveWorkPlanId) {