车间能级提升-智能设备管理系统
zhuguifei
2025-03-14 3e0f519c396ac8a72e7bbd426e4f38fa6cc403dc
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java
ÎļþÃû´Ó eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderStServiceImpl.java ÐÞ¸Ä
@@ -1,9 +1,9 @@
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;
@@ -12,18 +12,17 @@
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;
@@ -44,9 +43,9 @@
 */
@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;
@@ -57,7 +56,7 @@
     * @return ä¿å…»å·¥å•汇总
     */
    @Override
    public EimsMaintOrderStVo queryById(Long id) {
    public EimsMaintStVo queryById(Long id) {
        return baseMapper.selectVoById(id);
    }
@@ -69,18 +68,17 @@
     * @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());
@@ -88,7 +86,6 @@
            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);
@@ -115,20 +112,35 @@
     * @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;
    }
    /**
@@ -138,8 +150,8 @@
     * @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) {
@@ -155,12 +167,12 @@
     * @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());
@@ -174,7 +186,7 @@
    /**
     * ä¿å­˜å‰çš„æ•°æ®æ ¡éªŒ
     */
    private void validEntityBeforeSave(EimsMaintOrderSt entity) {
    private void validEntityBeforeSave(EimsMaintSt entity) {
        //TODO åšä¸€äº›æ•°æ®æ ¡éªŒ,如唯一约束
    }
@@ -194,7 +206,7 @@
        }
        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());