ÎļþÃû´Ó eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderStServiceImpl.java ÐÞ¸Ä |
| | |
| | | package org.dromara.eims.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import lombok.SneakyThrows; |
| | | import org.dromara.common.core.constant.DictConstants; |
| | | import org.dromara.common.core.domain.R; |
| | | import org.dromara.common.core.domain.model.LoginUser; |
| | | 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.vo.EimsMaintOrderVo; |
| | | import org.dromara.eims.domain.vo.EimsMaintStVo; |
| | | import org.dromara.eims.mapper.EimsEquMapper; |
| | | import org.dromara.eims.mapper.EimsMaintOrderMapper; |
| | | import org.springframework.stereotype.Service; |
| | | import org.dromara.eims.domain.bo.EimsMaintOrderStBo; |
| | | import org.dromara.eims.domain.vo.EimsMaintOrderStVo; |
| | | import org.dromara.eims.domain.EimsMaintOrderSt; |
| | | import org.dromara.eims.mapper.EimsMaintOrderStMapper; |
| | | import org.dromara.eims.service.IEimsMaintOrderStService; |
| | | import org.dromara.eims.mapper.EimsMaintStMapper; |
| | | import org.dromara.eims.service.IEimsMaintStService; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.time.LocalDate; |
| | |
| | | */ |
| | | @RequiredArgsConstructor |
| | | @Service |
| | | public class EimsMaintOrderStServiceImpl implements IEimsMaintOrderStService { |
| | | public class EimsMaintStServiceImpl implements IEimsMaintStService { |
| | | |
| | | private final EimsMaintOrderStMapper baseMapper; |
| | | private final EimsMaintStMapper baseMapper; |
| | | private final EimsEquMapper equMapper; |
| | | private final EimsMaintOrderMapper orderMapper; |
| | | |
| | |
| | | * @return ä¿å
»å·¥åæ±æ» |
| | | */ |
| | | @Override |
| | | public EimsMaintOrderStVo queryById(Long id) { |
| | | public EimsMaintStVo queryById(Long id) { |
| | | return baseMapper.selectVoById(id); |
| | | } |
| | | |
| | |
| | | * @return ä¿å
»å·¥åæ±æ»å页å表 |
| | | */ |
| | | @Override |
| | | public TableDataInfo<EimsMaintOrderStVo> queryPageList(EimsMaintOrderStBo bo, PageQuery pageQuery) { |
| | | LambdaQueryWrapper<EimsMaintOrderSt> lqw = buildQueryWrapper(bo); |
| | | Page<EimsMaintOrderStVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); |
| | | public TableDataInfo<EimsMaintStVo> queryPageList(EimsMaintStBo bo, PageQuery pageQuery) { |
| | | Page<EimsMaintStVo> result = baseMapper.selectMaintStList(pageQuery.build(), buildWrapper(bo)); |
| | | // å¡«å
æ°æ® |
| | | fillStData(result); |
| | | return TableDataInfo.build(result); |
| | | } |
| | | |
| | | private void fillStData(Page<EimsMaintOrderStVo> result) { |
| | | List<EimsMaintOrderStVo> records = result.getRecords(); |
| | | private void fillStData(Page<EimsMaintStVo> result) { |
| | | List<EimsMaintStVo> records = result.getRecords(); |
| | | for (int i = 0; i < records.size(); i++) { |
| | | EimsMaintOrderStVo stVo = records.get(i); |
| | | EimsMaintStVo stVo = records.get(i); |
| | | //1.å¡«å
è®¾å¤ |
| | | EimsEqu eimsEqu = equMapper.selectById(stVo.getEquId()); |
| | | stVo.setAssetNo(eimsEqu.getAssetNo()); |
| | |
| | | LambdaQueryWrapper<EimsMaintOrder> orderLqw = Wrappers.lambdaQuery(); |
| | | orderLqw.eq(EimsMaintOrder::getEquId, stVo.getEquId()); |
| | | LocalDate planTime = stVo.getPlanTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | ; |
| | | LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth()); |
| | | LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth()); |
| | | orderLqw.between(EimsMaintOrder::getPlanTime, startOfMonth, endOfMonth); |
| | |
| | | * @return ä¿å
»å·¥åæ±æ»å表 |
| | | */ |
| | | @Override |
| | | public List<EimsMaintOrderStVo> queryList(EimsMaintOrderStBo bo) { |
| | | LambdaQueryWrapper<EimsMaintOrderSt> lqw = buildQueryWrapper(bo); |
| | | public List<EimsMaintStVo> queryList(EimsMaintStBo bo) { |
| | | LambdaQueryWrapper<EimsMaintSt> lqw = buildQueryWrapper(bo); |
| | | return baseMapper.selectVoList(lqw); |
| | | } |
| | | |
| | | private LambdaQueryWrapper<EimsMaintOrderSt> buildQueryWrapper(EimsMaintOrderStBo bo) { |
| | | private LambdaQueryWrapper<EimsMaintSt> buildQueryWrapper(EimsMaintStBo bo) { |
| | | Map<String, Object> params = bo.getParams(); |
| | | LambdaQueryWrapper<EimsMaintOrderSt> lqw = Wrappers.lambdaQuery(); |
| | | lqw.eq(StringUtils.isNotBlank(bo.getTitle()), EimsMaintOrderSt::getTitle, bo.getTitle()); |
| | | lqw.eq(StringUtils.isNotBlank(bo.getEquId()), EimsMaintOrderSt::getEquId, bo.getEquId()); |
| | | lqw.eq(bo.getPlanTime() != null, EimsMaintOrderSt::getPlanTime, bo.getPlanTime()); |
| | | lqw.eq(bo.getMaintUser() != null, EimsMaintOrderSt::getMaintUser, bo.getMaintUser()); |
| | | lqw.eq(bo.getVerifyUser() != null, EimsMaintOrderSt::getVerifyUser, bo.getVerifyUser()); |
| | | LambdaQueryWrapper<EimsMaintSt> lqw = Wrappers.lambdaQuery(); |
| | | lqw.eq(StringUtils.isNotBlank(bo.getTitle()), EimsMaintSt::getTitle, bo.getTitle()); |
| | | lqw.eq(bo.getPlanTime() != null, EimsMaintSt::getPlanTime, bo.getPlanTime()); |
| | | lqw.eq(bo.getMaintUser() != null, EimsMaintSt::getMaintUser, bo.getMaintUser()); |
| | | lqw.eq(bo.getVerifyUser() != null, EimsMaintSt::getVerifyUser, bo.getVerifyUser()); |
| | | return lqw; |
| | | } |
| | | |
| | | |
| | | private QueryWrapper<EimsMaintSt> buildWrapper(EimsMaintStBo bo) { |
| | | Map<String, Object> params = bo.getParams(); |
| | | QueryWrapper<EimsMaintSt> qw = Wrappers.query(); |
| | | qw.like(StringUtils.isNotBlank(bo.getTitle()), "st.title", bo.getTitle()); |
| | | qw.like(StringUtils.isNotBlank(bo.getEquName()), "equ.equ_name", bo.getEquName()); |
| | | qw.like(StringUtils.isNotBlank(bo.getAssetNo()), "equ.asset_no", bo.getAssetNo()); |
| | | qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null, |
| | | "st.plan_time", params.get("beginPlanTime"), params.get("endPlanTime")); |
| | | qw.eq(bo.getMaintUser() != null, "st.maint_user", bo.getMaintUser()); |
| | | qw.eq(bo.getVerifyUser() != null, "st.verify_user", bo.getVerifyUser()); |
| | | qw.eq(bo.getStatus() != null, "st.status", bo.getStatus()); |
| | | qw.orderByDesc( "st.create_time"); |
| | | return qw; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return æ¯å¦æ°å¢æå |
| | | */ |
| | | @Override |
| | | public Boolean insertByBo(EimsMaintOrderStBo bo) { |
| | | EimsMaintOrderSt add = MapstructUtils.convert(bo, EimsMaintOrderSt.class); |
| | | public Boolean insertByBo(EimsMaintStBo bo) { |
| | | EimsMaintSt add = MapstructUtils.convert(bo, EimsMaintSt.class); |
| | | validEntityBeforeSave(add); |
| | | boolean flag = baseMapper.insert(add) > 0; |
| | | if (flag) { |
| | |
| | | * @return æ¯å¦ä¿®æ¹æå |
| | | */ |
| | | @Override |
| | | public Boolean updateByBo(EimsMaintOrderStBo bo) { |
| | | EimsMaintOrderSt update = MapstructUtils.convert(bo, EimsMaintOrderSt.class); |
| | | public Boolean updateByBo(EimsMaintStBo bo) { |
| | | EimsMaintSt update = MapstructUtils.convert(bo, EimsMaintSt.class); |
| | | |
| | | if(bo.getVerifyUser()!=null){ |
| | | EimsMaintOrderSt eimsMaintOrderSt = baseMapper.selectById(bo.getId()); |
| | | String status = eimsMaintOrderSt.getStatus(); |
| | | 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()); |
| | |
| | | /** |
| | | * ä¿ååçæ°æ®æ ¡éª |
| | | */ |
| | | private void validEntityBeforeSave(EimsMaintOrderSt entity) { |
| | | private void validEntityBeforeSave(EimsMaintSt entity) { |
| | | //TODO åä¸äºæ°æ®æ ¡éª,å¦å¯ä¸çº¦æ |
| | | } |
| | | |
| | |
| | | } |
| | | AtomicBoolean flag = new AtomicBoolean(false); |
| | | ids.stream().anyMatch(id -> { |
| | | EimsMaintOrderStVo stVo = baseMapper.selectVoById(id); |
| | | EimsMaintStVo stVo = baseMapper.selectVoById(id); |
| | | LocalDate planTime = stVo.getPlanTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth()); |
| | | LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth()); |