qushaowei
2024-03-18 7c5b03f261845c4e0ec2b4f1f59e21222d055232
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java
@@ -1,11 +1,19 @@
package org.jeecg.modules.eam.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.eam.entity.Area;
import org.jeecg.modules.eam.entity.CalibrationOrder;
import org.jeecg.modules.eam.entity.CalibrationOrderDetail;
import org.jeecg.modules.eam.entity.Equipment;
import org.jeecg.modules.eam.mapper.CalibrationOrderDetailMapper;
import org.jeecg.modules.eam.mapper.CalibrationOrderMapper;
import org.jeecg.modules.eam.model.MaintenanceCycleVo;
import org.jeecg.modules.eam.service.IAreaService;
import org.jeecg.modules.eam.service.ICalibrationOrderService;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +21,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -26,10 +35,29 @@
@Service
public class CalibrationOrderServiceImpl extends ServiceImpl<CalibrationOrderMapper, CalibrationOrder> implements ICalibrationOrderService {
    /**
     * 用户类型(1 普通成员 2 工段 3 分厂/中心 4 公司)
     */
    private static final Integer USER_TYPE_1 = 1;
    private static final Integer USER_TYPE_2 = 2;
    private static final Integer USER_TYPE_3 = 3;
    private static final Integer USER_TYPE_4 = 4;
    /**
     * 车间层级类型(1 公司 2 分厂、中心 3 工段)
     */
    private static final String ORG_TYPE_1 = "1";
    private static final String ORG_TYPE_2 = "2";
    private static final String ORG_TYPE_3 = "3";
    @Autowired
    private CalibrationOrderMapper calibrationOrderMapper;
    @Autowired
    private CalibrationOrderDetailMapper calibrationOrderDetailMapper;
    @Autowired
    private IAreaService areaService;
    @Override
@@ -81,6 +109,25 @@
    }
    //qsw 2023-7-18================================================================================
    /**
     * 根据模型传入的编码  判断改编码公司/中心/工段的哪一级
     * qsw 2024-3-18
     */
    @Override
    public String findOrgType(String productionCode) {
        return this.baseMapper.findOrgType(productionCode);
    }
    /**
     * 获取当前登录人是中心及对应的编码
     * qsw 2024-3-18
     */
    @Override
    public String findProductionCode(String userId) {
        return this.baseMapper.findProductionCode(userId);
    }
    /**
     * 设备检定工单 创建时通过设备获取设备精度参数
     * qsw 2023-7-18
@@ -150,8 +197,8 @@
     * qsw 2024-3-13
     */
    @Override
    public List<Map<String, Object>> getEquipmentTechnologyStatusList(String factoryModelId) {
        return this.baseMapper.getEquipmentTechnologyStatusList(factoryModelId);
    public List<Map<String, Object>> getEquipmentTechnologyStatusList(String workCenterId,String areaId) {
        return this.baseMapper.getEquipmentTechnologyStatusList(workCenterId,areaId);
    }
    /**
@@ -159,8 +206,8 @@
     * qsw 2024-3-13
     */
    @Override
    public List<Map<String, Object>> getReportRepairEquipmentList(String factoryModelId) {
        return this.baseMapper.getReportRepairEquipmentList(factoryModelId);
    public List<Map<String, Object>> getReportRepairEquipmentList(String workCenterId,String areaId) {
        return this.baseMapper.getReportRepairEquipmentList(workCenterId,areaId);
    }
    /**
@@ -168,8 +215,8 @@
     * qsw 2024-3-14
     */
    @Override
    public List<Map<String, Object>> getThisMonthMaintenanceList(String factoryModelId) {
        return this.baseMapper.getThisMonthMaintenanceList(factoryModelId);
    public List<Map<String, Object>> getThisMonthMaintenanceList(String workCenterId,String areaId) {
        return this.baseMapper.getThisMonthMaintenanceList(workCenterId,areaId);
    }
    /**
@@ -177,8 +224,8 @@
     * qsw 2024-3-14
     */
    @Override
    public List<Map<String, Object>> getNextMonthMaintenanceList(String factoryModelId) {
        return this.baseMapper.getNextMonthMaintenanceList(factoryModelId);
    public List<Map<String, Object>> getNextMonthMaintenanceList(String workCenterId,String areaId) {
        return this.baseMapper.getNextMonthMaintenanceList(workCenterId,areaId);
    }
    /**
@@ -186,8 +233,8 @@
     * qsw 2024-3-14
     */
    @Override
    public List<Map<String, Object>> getNextNextMonthMaintenanceList(String factoryModelId) {
        return this.baseMapper.getNextNextMonthMaintenanceList(factoryModelId);
    public List<Map<String, Object>> getNextNextMonthMaintenanceList(String workCenterId,String areaId) {
        return this.baseMapper.getNextNextMonthMaintenanceList(workCenterId,areaId);
    }
    /**
@@ -195,7 +242,42 @@
     * qsw 2024-3-14
     */
    @Override
    public List<Map<String, Object>> getThisMonthMaintenanceFinishList(String factoryModelId) {
        return this.baseMapper.getThisMonthMaintenanceFinishList(factoryModelId);
    public List<Map<String, Object>> getThisMonthMaintenanceFinishList(String workCenterId,String areaId) {
        return this.baseMapper.getThisMonthMaintenanceFinishList(workCenterId,areaId);
    }
    /**
     *首页二保计划展示
     * qsw 2024-3-15
     */
    @Override
    public List<Map<String, Object>> getTwoMaintenancePlanList(String productionCode) {
        List<Map<String, Object>> list = new ArrayList<>();
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        Integer userType = user.getUserType();
        List<Area> areaList = null;
        if(USER_TYPE_4.equals(userType)){
            if(StringUtils.isBlank(productionCode)){
                areaList = areaService.lambdaQuery().eq(Area::getType, "1").eq(Area::getDelFlag, "0").list();
            }else{
                String orgType = this.baseMapper.findOrgType(productionCode);
                if(ORG_TYPE_2.equals(orgType)){
                    Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
                    areaList = areaService.lambdaQuery().eq(Area::getType, "1").eq(Area::getId,area.getId()).eq(Area::getDelFlag, "0").list();
                }
//                else if(ORG_TYPE_3.equals(orgType)){
//                    Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
//                    list = calibrationOrderService.getThisMonthMaintenanceFinishList("",area.getId());
//                }
            }
        }
        for (Area area : areaList) {
            String id = area.getId();
            List<Map<String, Object>> centerTwoMaintenancePlanList = this.baseMapper.getCenterTwoMaintenancePlanList(id);
            if(centerTwoMaintenancePlanList.size()>0){
                list.add(centerTwoMaintenancePlanList.get(0));
            }
        }
        return list;
    }
}