From 9b015b51b72ba050b4c38a6ba79eb45b7065e67d Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期四, 25 七月 2024 10:11:52 +0800 Subject: [PATCH] 调整sql --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/StreamController.java | 122 +++++++++++++++++++++++++++++++++++++--- 1 files changed, 113 insertions(+), 9 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/StreamController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/StreamController.java index bd29589..c8459af 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/StreamController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/StreamController.java @@ -1,6 +1,7 @@ package org.jeecg.modules.eam.controller; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.jeecg.dingtalk.api.user.vo.User; import com.jeecg.dingtalk.api.user.vo.UserRole; import org.jeecg.common.api.dto.message.MessageDTO; @@ -12,8 +13,8 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.api.vo.Result; -import org.jeecg.modules.eam.entity.Equipment; -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.ButtonVo; import org.jeecg.modules.system.entity.*; import org.jeecg.modules.system.service.*; @@ -27,15 +28,11 @@ import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; +import java.time.LocalDate; +import java.time.ZoneId; import java.util.*; import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.eam.entity.StreamOperation; -import org.jeecg.modules.eam.entity.ABCAssessment; -import org.jeecg.modules.eam.entity.Stream; -import org.jeecg.modules.eam.service.IStreamService; -import org.jeecg.modules.eam.service.IStreamOperationService; -import org.jeecg.modules.eam.service.IABCAssessmentService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; @@ -93,6 +90,23 @@ @Autowired private IEamEquipmentService equipmentService; + @Autowired + private IdentityService sysIdentityService; + + @Autowired + private IEquipmentMaintenancePlanDetailService planDetailService; + + @Autowired + private IEquipmentMaintenancePlanService planService; + + @Autowired + private IMaintenanceStandardService maintenanceStandardService; + @Autowired + private IEquipmentUpdateInfoService updateInfoService; + + + + /*---------------------------------涓昏〃澶勭悊-begin-------------------------------------*/ @@ -112,9 +126,14 @@ @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { + LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); + SysUser sysUser = userService.getById(user.getId()); + if(StringUtils.isNotBlank(sysUser.getAreaId())){ + stream.setAreaId(sysUser.getAreaId()); + } QueryWrapper<Stream> queryWrapper = QueryGenerator.initQueryWrapper(stream, req.getParameterMap()); Page<Stream> page = new Page<Stream>(pageNo, pageSize); - IPage<Stream> pageList = streamService.page(page, queryWrapper); + IPage<Stream> pageList = streamService.myPage(page, stream); return Result.OK(pageList); } @@ -136,6 +155,22 @@ streamService.save(stream); List<ABCAssessment> abcAssessmentList = stream.getAssessmentList(); for(ABCAssessment abcAssessment:abcAssessmentList){ + Equipment equipment = equipmentService.getById(abcAssessment.getEquipmentId()); + boolean isD = "D".equals(abcAssessment.getFinalStandard()); + boolean a = StringUtils.isNotBlank(equipment.getStandardA())&&StringUtils.isNotBlank(abcAssessment.getStandardA())&&equipment.getStandardA().equals(abcAssessment.getStandardA()); + boolean b = StringUtils.isNotBlank(equipment.getStandardB())&&StringUtils.isNotBlank(abcAssessment.getStandardB())&&equipment.getStandardB().equals(abcAssessment.getStandardB()); + boolean c = StringUtils.isNotBlank(equipment.getStandardC())&&StringUtils.isNotBlank(abcAssessment.getStandardC())&&equipment.getStandardC().equals(abcAssessment.getStandardC()); + boolean d = StringUtils.isNotBlank(equipment.getStandardD())&&StringUtils.isNotBlank(abcAssessment.getStandardD())&&equipment.getStandardD().equals(abcAssessment.getStandardD()); + boolean e = StringUtils.isNotBlank(equipment.getStandardE())&&StringUtils.isNotBlank(abcAssessment.getStandardE())&&equipment.getStandardE().equals(abcAssessment.getStandardE()); + boolean f = StringUtils.isNotBlank(equipment.getStandardF())&&StringUtils.isNotBlank(abcAssessment.getStandardF())&&equipment.getStandardF().equals(abcAssessment.getStandardF()); + if(isD&&a&&b&&c&&d&&e&&f){ + abcAssessment.setStandardA(null); + abcAssessment.setStandardB(null); + abcAssessment.setStandardC(null); + abcAssessment.setStandardD(null); + abcAssessment.setStandardE(null); + abcAssessment.setStandardF(null); + } abcAssessment.setStreamId(stream.getId()); } aBCAssessmentService.saveBatch(abcAssessmentList); @@ -577,12 +612,81 @@ List<SysDictItem> nodes = sysDictItemService.selectItemsByMainId(streamNode.getId()); if(buttonVo.getNodeSort()+1==nodes.size()){ List<ABCAssessment> abcAssessments = aBCAssessmentService.selectByMainId(buttonVo.getStreamId()); + EquipmentMaintenancePlan plan = new EquipmentMaintenancePlan(); + UUID uuid = UUID.randomUUID(); + long mostSignificantBits = uuid.getMostSignificantBits(); + long leastSignificantBits = uuid.getLeastSignificantBits(); + + // 灏嗘渶楂樹綅鍜屾渶浣庝綅鍙栧嚭锛岀劧鍚庡悎骞朵负涓�涓猯ong绫诲瀷鐨勫�� + long combinedBits = mostSignificantBits ^ leastSignificantBits; + + // 灏嗗悎骞跺悗鐨刲ong鍊艰浆鎹负16杩涘埗瀛楃涓� + String hexString = Long.toHexString(combinedBits); + String planNum = sysIdentityService.getNumByTypeAndLength("MaintenancePlan",4); + plan.setId(hexString); + plan.setNum(planNum); + plan.setType("3"); + plan.setStatus("created"); + plan.setCreateReason("鍥燗BC鏍囪瘑浠嶣鎴朇鍙樻洿涓篈鑰屽鑷翠笅娆′笁淇濇椂闂磋繃鏈燂紝灏辫繖浜涜澶囩敓鎴愮殑涓存椂淇濆吇璁″垝"); + List<EquipmentMaintenancePlanDetail> details = new ArrayList<>(); for(ABCAssessment abcAssessment:abcAssessments){ Equipment equipment = equipmentService.getById(abcAssessment.getEquipmentId()); + String oldStandard = abcAssessment.getOldStandard(); + String newStandard = abcAssessment.getFinalStandard(); + LocalDate currentDate = LocalDate.now(); + + // 灏嗗綋鍓嶆棩鏈熷姞涓�澶� + LocalDate nextDay = currentDate.plusDays(1); + LocalDate nextMonth = currentDate.plusMonths(1); + + // 灏哃ocalDate杞崲涓篋ate + Date currentDateAsDate = Date.from(currentDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); + Date nextDayAsDate =Date.from(nextDay.atStartOfDay(ZoneId.systemDefault()).toInstant()); + Date nextMonthAsDate = Date.from(nextMonth.atStartOfDay(ZoneId.systemDefault()).toInstant()); + Date needingDate = equipment.getNextThirdMaintenanceTime(); + Boolean a = StringUtils.isNotBlank(oldStandard)&&(oldStandard.equals("B")||oldStandard.equals("C")); + Boolean b = StringUtils.isNotBlank(newStandard)&&newStandard.equals("A");; + Boolean c = ObjectUtils.isNotNull(needingDate)&&needingDate.compareTo(currentDateAsDate)<0; + if(a&&b&&c){ + EquipmentMaintenancePlanDetail equipmentMaintenancePlanDetail = new EquipmentMaintenancePlanDetail(); + equipmentMaintenancePlanDetail.setPlanId(hexString); + equipmentMaintenancePlanDetail.setEquipmentId(equipment.getId()); + equipmentMaintenancePlanDetail.setPlanStartTime(nextDayAsDate); + equipmentMaintenancePlanDetail.setPlanEndTime(nextMonthAsDate); + MaintenanceStandard maintenanceStandard = maintenanceStandardService.getOne(new QueryWrapper<MaintenanceStandard>() + .eq("equipment_id",equipment.getId()) + .eq("maintenance_type","3") + .eq("version_status","2") + .eq("del_flag",0),false); + if(ObjectUtils.isNotNull(maintenanceStandard)){ + equipmentMaintenancePlanDetail.setStandardId(maintenanceStandard.getId()); + details.add(equipmentMaintenancePlanDetail); + } + } equipment.setEquipmentImportanceId(abcAssessment.getFinalStandard()); + equipment.setStandardA(abcAssessment.getStandardA()); + equipment.setStandardB(abcAssessment.getStandardB()); + equipment.setStandardC(abcAssessment.getStandardC()); + equipment.setStandardD(abcAssessment.getStandardD()); + equipment.setStandardE(abcAssessment.getStandardE()); + equipment.setStandardF(abcAssessment.getStandardF()); equipmentService.updateById(equipment); + EquipmentUpdateInfo equipmentUpdateInfo = new EquipmentUpdateInfo(); + equipmentUpdateInfo.setOldAbcTag(oldStandard); + equipmentUpdateInfo.setNewAbcTag(newStandard); + equipmentUpdateInfo.setEquipmentId(equipment.getId()); + equipmentUpdateInfo.setUpdatePerson(user.getId()); + equipmentUpdateInfo.setUpdateType("ABC"); + equipmentUpdateInfo.setUpdateDate(currentDateAsDate); + updateInfoService.save(equipmentUpdateInfo); + + } + if(details.size()>0){ + planService.save(plan); + planDetailService.saveBatch(details); } } + SysDictItem nextStreamNodeItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>().eq("dict_id",streamNode.getId()).eq("sort_order",buttonVo.getNodeSort()+1),false); return getResult(buttonVo, user, streamOperations, nextStreamNodeItem); } -- Gitblit v1.9.3