| | |
| | | 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.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | 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; |
| | |
| | | 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; |
| | |
| | | @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 |
| | |
| | | } |
| | | |
| | | //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 2024-3-18 |
| | | */ |
| | | @Override |
| | | public String findAreaProductionCode(String userId) { |
| | | return this.baseMapper.findAreaProductionCode(userId); |
| | | } |
| | | |
| | | /** |
| | | * 设备检定工单 创建时通过设备获取设备精度参数 |
| | | * qsw 2023-7-18 |
| | |
| | | } |
| | | |
| | | /** |
| | | *首页技术状态数量统计 |
| | | *首页公司级 技术状态数量统计 |
| | | * qsw 2024-3-13 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getEquipmentTechnologyStatusList(String factoryModelId) { |
| | | return this.baseMapper.getEquipmentTechnologyStatusList(factoryModelId); |
| | | public List<Map<String, Object>> getFactoryEquipmentTechnologyStatusList() { |
| | | return this.baseMapper.getFactoryEquipmentTechnologyStatusList(); |
| | | } |
| | | |
| | | /** |
| | |
| | | * qsw 2024-3-13 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getReportRepairEquipmentList(String factoryModelId) { |
| | | return this.baseMapper.getReportRepairEquipmentList(factoryModelId); |
| | | public List<Map<String, Object>> getFactoryReportRepairEquipmentList() { |
| | | return this.baseMapper.getFactoryReportRepairEquipmentList(); |
| | | } |
| | | |
| | | /** |
| | |
| | | * qsw 2024-3-14 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getThisMonthMaintenanceList(String factoryModelId) { |
| | | return this.baseMapper.getThisMonthMaintenanceList(factoryModelId); |
| | | public List<Map<String, Object>> getFactoryThisMonthMaintenanceList() { |
| | | return this.baseMapper.getFactoryThisMonthMaintenanceList(); |
| | | } |
| | | |
| | | /** |
| | |
| | | * qsw 2024-3-14 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getNextMonthMaintenanceList(String factoryModelId) { |
| | | return this.baseMapper.getNextMonthMaintenanceList(factoryModelId); |
| | | public List<Map<String, Object>> getFactoryNextMonthMaintenanceList() { |
| | | return this.baseMapper.getFactoryNextMonthMaintenanceList(); |
| | | } |
| | | |
| | | /** |
| | | *首页公司级 本月三保完成数量 |
| | | * qsw 2024-3-14 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getFactoryThisMonthMaintenanceFinishList() { |
| | | return this.baseMapper.getFactoryThisMonthMaintenanceFinishList(); |
| | | } |
| | | |
| | | /** |
| | |
| | | * qsw 2024-3-14 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getNextNextMonthMaintenanceList(String factoryModelId) { |
| | | return this.baseMapper.getNextNextMonthMaintenanceList(factoryModelId); |
| | | public List<Map<String, Object>> getFactoryNextNextMonthMaintenanceList() { |
| | | return this.baseMapper.getFactoryNextNextMonthMaintenanceList(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | *首页(二级页面)技术状态数量统计 |
| | | * qsw 2024-3-13 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getEquipmentTechnologyStatusList(String workCenterId,String areaId) { |
| | | return this.baseMapper.getEquipmentTechnologyStatusList(workCenterId,areaId); |
| | | } |
| | | |
| | | /** |
| | | *首页 技术状态点击弹出对应明细 |
| | | * qsw 2024-5-25 |
| | | */ |
| | | @Override |
| | | public IPage<Map<String, Object>> getEquipmentByTechnologyStatus(Integer pageNo, Integer pageSize,String workCenterId, String areaId,String technologyStatus) { |
| | | IPage<Map> pageData = new Page<Map>(pageNo, pageSize); |
| | | return this.baseMapper.getEquipmentByTechnologyStatus(pageData,workCenterId,areaId,technologyStatus); |
| | | } |
| | | |
| | | /** |
| | | *首页(二级页面)设备报修情况统计 |
| | | * qsw 2024-3-13 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getReportRepairEquipmentList(String workCenterId,String areaId) { |
| | | return this.baseMapper.getReportRepairEquipmentList(workCenterId,areaId); |
| | | } |
| | | |
| | | /** |
| | | *首页 设备报修情况统计明细展示 |
| | | * qsw 2024-5-25 |
| | | */ |
| | | @Override |
| | | public IPage<Map<String, Object>> getEquipmentByReportRepair(Integer pageNo, Integer pageSize, String workCenterId, String areaId, String isStop) { |
| | | IPage<Map> pageData = new Page<Map>(pageNo, pageSize); |
| | | return this.baseMapper.getEquipmentByReportRepair(pageData,workCenterId,areaId,isStop); |
| | | } |
| | | |
| | | /** |
| | | *首页(二级页面)本月三保计划 |
| | | * qsw 2024-3-14 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getThisMonthMaintenanceList(String workCenterId,String areaId) { |
| | | return this.baseMapper.getThisMonthMaintenanceList(workCenterId,areaId); |
| | | } |
| | | |
| | | /** |
| | | *首页本月三保计划明细 |
| | | * qsw 2024-3-14 |
| | | */ |
| | | @Override |
| | | public IPage<Map<String, Object>> showThisMonthMaintenanceList(Integer pageNo, Integer pageSize, String workCenterId, String areaId) { |
| | | IPage<Map> pageData = new Page<Map>(pageNo, pageSize); |
| | | return this.baseMapper.showThisMonthMaintenanceList(pageData,workCenterId,areaId); |
| | | } |
| | | |
| | | /** |
| | | *首页(二级页面)下月三保计划 |
| | | * qsw 2024-3-14 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getNextMonthMaintenanceList(String workCenterId,String areaId) { |
| | | return this.baseMapper.getNextMonthMaintenanceList(workCenterId,areaId); |
| | | } |
| | | |
| | | /** |
| | | *首页下月三保计划明细展示 |
| | | * qsw 2024-3-14 |
| | | */ |
| | | @Override |
| | | public IPage<Map<String, Object>> showNextMonthMaintenanceList(Integer pageNo, Integer pageSize, String workCenterId, String areaId) { |
| | | IPage<Map> pageData = new Page<Map>(pageNo, pageSize); |
| | | return this.baseMapper.showNextMonthMaintenanceList(pageData,workCenterId,areaId); |
| | | } |
| | | |
| | | /** |
| | | *首页(二级页面)下下月三保计划 |
| | | * qsw 2024-3-14 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getNextNextMonthMaintenanceList(String workCenterId,String areaId) { |
| | | return this.baseMapper.getNextNextMonthMaintenanceList(workCenterId,areaId); |
| | | } |
| | | |
| | | /** |
| | | *首页(二级页面)下下月三保计划明细 |
| | | * qsw 2024-3-14 |
| | | */ |
| | | @Override |
| | | public IPage<Map<String, Object>> showNextNextMonthMaintenanceList(Integer pageNo, Integer pageSize, String workCenterId, String areaId) { |
| | | IPage<Map> pageData = new Page<Map>(pageNo, pageSize); |
| | | return this.baseMapper.showNextNextMonthMaintenanceList(pageData,workCenterId,areaId); |
| | | } |
| | | |
| | | /** |
| | | *首页(二级页面)本月三保完成数量 |
| | | * qsw 2024-3-14 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getThisMonthMaintenanceFinishList(String workCenterId,String areaId) { |
| | | return this.baseMapper.getThisMonthMaintenanceFinishList(workCenterId,areaId); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<Map<String, Object>> showThisMonthMaintenanceFinishList(Integer pageNo, Integer pageSize, String workCenterId, String areaId) { |
| | | IPage<Map> pageData = new Page<Map>(pageNo, pageSize); |
| | | return this.baseMapper.showThisMonthMaintenanceFinishList(pageData,workCenterId,areaId); |
| | | } |
| | | |
| | | /** |
| | | *工段级 本月三保延期数量 |
| | | * qsw 2024-3-20 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> get3MaintenancePostponeCount(String areaId) { |
| | | return this.baseMapper.get3MaintenancePostponeCount(areaId); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<Map<String, Object>> show3MaintenancePostponeCount(Integer pageNo, Integer pageSize, String areaId) { |
| | | IPage<Map> pageData = new Page<Map>(pageNo, pageSize); |
| | | return this.baseMapper.show3MaintenancePostponeCount(pageData,areaId); |
| | | } |
| | | |
| | | /** |
| | | *工段级 本月三保超期数量 |
| | | * qsw 2024-3-20 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> get3MaintenanceOverdueCount(String areaId) { |
| | | return this.baseMapper.get3MaintenanceOverdueCount(areaId); |
| | | } |
| | | |
| | | /** |
| | | * 工段级 三保超期数量明细 |
| | | * qsw 2024-3-20 |
| | | */ |
| | | @Override |
| | | public IPage<Map<String, Object>> show3MaintenanceOverdueCount(Integer pageNo, Integer pageSize, String areaId) { |
| | | IPage<Map> pageData = new Page<Map>(pageNo, pageSize); |
| | | return this.baseMapper.show3MaintenanceOverdueCount(pageData,areaId); |
| | | } |
| | | |
| | | /** |
| | | *首页二保计划展示 |
| | | * qsw 2024-3-15 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getTwoMaintenancePlanList(String productionCode) { |
| | | Boolean flag = true; |
| | | 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)){ |
| | | //工段级直接显示工段下要保养的设备明细 |
| | | flag = false; |
| | | String siteProductionCode = this.baseMapper.findSiteProductionCode(productionCode); |
| | | Area areaOne = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, siteProductionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0)); |
| | | Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0)); |
| | | if(areaOne != null && area != null){ |
| | | String maintenanceDate = this.baseMapper.findMaintenanceDate(areaOne.getId()); |
| | | list = this.baseMapper.getAreTwoMaintenancePlanDetails(area.getId(), maintenanceDate); |
| | | } |
| | | } |
| | | } |
| | | }else if(USER_TYPE_3.equals(userType)){ |
| | | String code = this.baseMapper.findProductionCode(user.getId()); |
| | | Area area = null; |
| | | if(StringUtils.isBlank(productionCode)){ |
| | | area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0)); |
| | | if(area != null){ |
| | | areaList = areaService.lambdaQuery().eq(Area::getType, "1").eq(Area::getId,area.getId()).eq(Area::getDelFlag, "0").list(); |
| | | } |
| | | }else{ |
| | | //工段级直接显示工段下要保养的设备明细 |
| | | flag = false; |
| | | Area areaOne = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0)); |
| | | area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0)); |
| | | if(areaOne != null && area != null){ |
| | | String maintenanceDate = this.baseMapper.findMaintenanceDate(areaOne.getId()); |
| | | list = this.baseMapper.getAreTwoMaintenancePlanDetails(area.getId(), maintenanceDate); |
| | | } |
| | | } |
| | | }else if(USER_TYPE_2.equals(userType)){ |
| | | //工段级直接显示工段下要保养的设备明细 |
| | | flag = false; |
| | | String areaProductionCode = this.baseMapper.findAreaProductionCode(user.getId()); |
| | | String code = this.baseMapper.findSiteProductionCode(productionCode); |
| | | Area areaOne = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0)); |
| | | Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, areaProductionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0)); |
| | | if(areaOne != null && area != null){ |
| | | String maintenanceDate = this.baseMapper.findMaintenanceDate(areaOne.getId()); |
| | | list = this.baseMapper.getAreTwoMaintenancePlanDetails(area.getId(), maintenanceDate); |
| | | } |
| | | } |
| | | if(flag == true){ |
| | | 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; |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getAreaEquipmentList(String equipmentNum, String areaId,List<String> equipmentIds) { |
| | | return this.baseMapper.getAreaEquipmentList(equipmentNum,areaId,equipmentIds); |
| | | } |
| | | |
| | | /** |
| | | *首页 第四级 对应工区下,设备台账信息展示; |
| | | * qsw 2024-4-22 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getOperationCertificate(String username) { |
| | | return this.baseMapper.getOperationCertificate(username); |
| | | } |
| | | |
| | | /** |
| | | *首页 第四级 对应工区下,设备台账信息展示; |
| | | * qsw 2024-4-22 |
| | | */ |
| | | @Override |
| | | public List<Map<String, Object>> getEquipmentReportRepairCount(String equipmentId) { |
| | | return this.baseMapper.getEquipmentReportRepairCount(equipmentId); |
| | | } |
| | | } |