wangfei
2024-09-19 d85033771c1dcdd07eacf6c1dcd2c9feceba7798
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -1,10 +1,9 @@
package com.mes.damage.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
import com.mes.common.config.Const;
import com.mes.damage.entity.Damage;
import com.mes.damage.entity.DamagePrint;
import com.mes.damage.mapper.DamageMapper;
@@ -20,8 +19,6 @@
import javax.annotation.Resource;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -48,15 +45,15 @@
     * 查询报工信息
     */
    @Override
    public List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure) {
    public List<Damage> selectDamage(String startTime, String endTime, int type, String workingProcedure) {
        LambdaQueryWrapper<Damage> damageSelectWrapper = new LambdaQueryWrapper<>();
        damageSelectWrapper.between(Damage::getDamageTime, startTime, endTime);
        if (type != 0) {
            damageSelectWrapper.eq(Damage::getType, type);
        }
        if (status != 0) {
            damageSelectWrapper.eq(Damage::getStatus, status);
        }
//        if (status != 0) {
//            damageSelectWrapper.eq(Damage::getStatus, status);
//        }
        if (!"0".equals(workingProcedure)) {
            damageSelectWrapper.eq(Damage::getWorkingProcedure, workingProcedure);
        }
@@ -145,34 +142,45 @@
        }
        this.saveBatch(damageList);
    }
    /**
     * 拿走打印数据查询
     */
    @Override
    public List<DamagePrint> selectDamagePrint(Damage damage) {
        MPJQueryWrapper<Damage> listDamage=new MPJQueryWrapper<Damage>()
        MPJQueryWrapper<Damage> listDamage = new MPJQueryWrapper<Damage>()
                .select("t.engineer_id,t.glass_id,b.tempering_layout_id,b.tempering_feed_sequence,b.width,b.height,b.thickness")
                .leftJoin("glass_info as b  on t.glass_id=b.glass_id")
                .eq("t.working_procedure",damage.getWorkingProcedure())
                .eq("t.type",damage.getType());
                .eq("t.working_procedure", damage.getWorkingProcedure())
                .eq("t.type", damage.getType());
        // 动态添加条件,当 id 有值时
        if (damage.getEngineerId() != null) {
            listDamage.eq("t.engineer_id", damage.getEngineerId());
        }
        return damageMapper.selectJoinList(DamagePrint.class,listDamage);
        return damageMapper.selectJoinList(DamagePrint.class, listDamage);
    }
    /**
     * 拿走打印打印详情查询
     */
    @Override
    public List<DamagePrint> selectDamagePrintDetails(Damage damage) {
        List<DamagePrint> listDamage=damageMapper.selectJoinList(DamagePrint.class,new MPJQueryWrapper<Damage>()
        List<DamagePrint> listDamage = damageMapper.selectJoinList(DamagePrint.class, new MPJQueryWrapper<Damage>()
                .select("b.flow_card_id,b.layer,t.engineer_id,b.tempering_layout_id,b.tempering_feed_sequence,t.glass_id,b.width,b.height,b.thickness")
                .leftJoin("glass_info as b  on t.glass_id=b.glass_id")
                .eq("t.working_procedure",damage.getWorkingProcedure())
                .eq("t.type",damage.getType())
                .eq("t.engineer_id",damage.getEngineerId())
                .eq("t.working_procedure", damage.getWorkingProcedure())
                .eq("t.type", damage.getType())
                .eq("t.engineer_id", damage.getEngineerId())
        );
        return listDamage;
    }
    @Override
    public void deleteByGlassId(String glassId) {
        baseMapper.delete(
                new LambdaQueryWrapper<Damage>()
                        .eq(Damage::getGlassId, glassId)
                        .in(Damage::getType, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
        );
    }
}