| | |
| | | import lombok.SneakyThrows; |
| | | import org.dromara.common.core.constant.DictConstants; |
| | | import org.dromara.common.core.domain.R; |
| | | import org.dromara.common.core.utils.DateUtils; |
| | | import org.dromara.common.core.utils.MapstructUtils; |
| | | import org.dromara.common.core.utils.StringUtils; |
| | | import org.dromara.common.mybatis.core.page.TableDataInfo; |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.dromara.common.satoken.utils.LoginHelper; |
| | | import org.dromara.eims.domain.EimsEqu; |
| | | import org.dromara.eims.domain.EimsMaintOrder; |
| | | import org.dromara.eims.domain.EimsMaintSt; |
| | | import org.dromara.eims.domain.bo.EimsMaintStBo; |
| | | import org.dromara.eims.domain.bo.EimsMultipleMaintStBo; |
| | | import org.dromara.eims.domain.vo.EimsMaintOrderVo; |
| | | import org.dromara.eims.domain.vo.EimsMaintStVo; |
| | | import org.dromara.eims.mapper.EimsEquMapper; |
| | |
| | | List<EimsMaintOrderVo> orderList = orderMapper.selectVoList(orderLqw); |
| | | // TODO 根据字典maint_order_status |
| | | Map<String, Long> cMap = orderList.stream() |
| | | .filter(order -> List.of("0", "1", "2", "3").contains(order.getStatus())) |
| | | .filter(order -> List.of("0", "1", "2").contains(order.getStatus())) |
| | | .collect(Collectors.groupingBy(EimsMaintOrderVo::getStatus, Collectors.counting())); |
| | | stVo.setOrderCount(orderList.size()); |
| | | stVo.setDbyCount(cMap.getOrDefault("0", 0L).intValue()); |
| | | stVo.setByCount(cMap.getOrDefault("1", 0L).intValue()); |
| | | stVo.setDyzCount(cMap.getOrDefault("2", 0L).intValue()); |
| | | stVo.setWcCount(cMap.getOrDefault("3", 0L).intValue()); |
| | | stVo.setDyzCount(cMap.getOrDefault("1", 0L).intValue()); |
| | | stVo.setWcCount(cMap.getOrDefault("2", 0L).intValue()); |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | List<EimsMaintOrderVo> orderList = orderMapper.selectVoList(orderLqw); |
| | | // TODO 根据字典maint_order_status |
| | | Map<String, Long> cMap = orderList.stream() |
| | | .filter(order -> List.of("0", "1", "2", "3").contains(order.getStatus())) |
| | | .filter(order -> List.of("0", "1", "2").contains(order.getStatus())) |
| | | .collect(Collectors.groupingBy(EimsMaintOrderVo::getStatus, Collectors.counting())); |
| | | stVo.setOrderCount(orderList.size()); |
| | | stVo.setDbyCount(cMap.getOrDefault("0", 0L).intValue()); |
| | | stVo.setByCount(cMap.getOrDefault("1", 0L).intValue()); |
| | | stVo.setDyzCount(cMap.getOrDefault("2", 0L).intValue()); |
| | | stVo.setWcCount(cMap.getOrDefault("3", 0L).intValue()); |
| | | stVo.setDyzCount(cMap.getOrDefault("1", 0L).intValue()); |
| | | stVo.setWcCount(cMap.getOrDefault("2", 0L).intValue()); |
| | | |
| | | } |
| | | |
| | |
| | | * @return 是否修改成功 |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public Boolean updateByBo(EimsMaintStBo bo) { |
| | | EimsMaintSt update = MapstructUtils.convert(bo, EimsMaintSt.class); |
| | | |
| | | if(bo.getVerifyUser()!=null){ |
| | | EimsMaintSt eimsMaintSt = baseMapper.selectById(bo.getId()); |
| | | String status = eimsMaintSt.getStatus(); |
| | | if(status==null || status.equals(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.N)){ |
| | | if(update.getVerifyTime()==null) update.setStatus(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.Y); |
| | | if(update.getVerifyTime()==null) update.setVerifyTime(new Date()); |
| | | } |
| | | } |
| | | // if(bo.getVerifyUser()!=null){ |
| | | // EimsMaintSt eimsMaintSt = baseMapper.selectById(bo.getId()); |
| | | // String status = eimsMaintSt.getStatus(); |
| | | // if(status==null || status.equals(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.N)){ |
| | | // if(update.getVerifyTime()==null) update.setStatus(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.Y); |
| | | // if(update.getVerifyTime()==null) update.setVerifyTime(new Date()); |
| | | // } |
| | | // } |
| | | |
| | | if(update.getVerifyTime()==null) update.setVerifyTime(new Date()); |
| | | //工单汇总完成需同步更新st下子工单 |
| | | |
| | | EimsMaintStVo st = baseMapper.selectVoById(bo.getId()); |
| | | |
| | | Long equId = st.getEquId(); |
| | | LambdaQueryWrapper<EimsMaintOrder> wrapper = Wrappers.lambdaQuery(); |
| | | wrapper.eq(EimsMaintOrder::getEquId,equId); |
| | | wrapper.eq(EimsMaintOrder::getPlanTime,st.getPlanTime()); |
| | | List<EimsMaintOrder> eimsMaintOrderList = orderMapper.selectList(wrapper); |
| | | // st下子工单所有状态设置为3-已完成 |
| | | eimsMaintOrderList.forEach(order -> { |
| | | order.setStatus(bo.getStatus()); |
| | | if(order.getStatus().equals("1")){ |
| | | order.setMaintUser(LoginHelper.getUserId()); |
| | | }else if(order.getStatus().equals("2")){ |
| | | order.setVerifyUser(LoginHelper.getUserId()); |
| | | } |
| | | }); |
| | | orderMapper.updateBatchById(eimsMaintOrderList); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | validEntityBeforeSave(update); |
| | | return baseMapper.updateById(update) > 0; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Boolean updateBatchByBo(EimsMultipleMaintStBo bo) { |
| | | List<EimsMaintStBo> maintStBoList = bo.getMultipleMaintStBoList(); |
| | | if(maintStBoList==null || maintStBoList.isEmpty())return true; |
| | | List<EimsMaintSt> maintStList = MapstructUtils.convert(maintStBoList, EimsMaintSt.class); |
| | | baseMapper.updateBatchById(maintStList); |
| | | // 更新汇总下子工单 |
| | | List<String> maintCodeList = maintStBoList.stream() |
| | | .map(EimsMaintStBo::getMaintCode) |
| | | .toList(); |
| | | |
| | | for (int i = 0; i < maintCodeList.size(); i++) { |
| | | String maintCode = maintCodeList.get(i); |
| | | String[] split = maintCode.split("_"); |
| | | LambdaQueryWrapper<EimsMaintOrder> wrapper = Wrappers.lambdaQuery(); |
| | | wrapper.eq(EimsMaintOrder::getEquId,split[0]); |
| | | wrapper.eq(EimsMaintOrder::getPlanTime,split[1]); |
| | | List<EimsMaintOrder> eimsMaintOrderList = orderMapper.selectList(wrapper); |
| | | // st下子工单所有状态设置为3-已完成 |
| | | eimsMaintOrderList.forEach(order -> { |
| | | order.setStatus("2"); |
| | | order.setVerifyUser(LoginHelper.getUserId()); |
| | | }); |
| | | orderMapper.updateBatchById(eimsMaintOrderList); |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 保存前的数据校验 |
| | | */ |