ZengTao
2025-11-11 aa5d2f68e1d97f7a1b20fa15e1bde9195544bb3e
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -3,6 +3,8 @@
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
@@ -13,6 +15,7 @@
import com.mes.damage.service.DamageService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.opctask.entity.LoadGlassDeviceTaskHistory;
import com.mes.pp.entity.DamageDetails;
import com.mes.pp.entity.ReportingWork;
import com.mes.pp.entity.ReportingWorkDetail;
@@ -55,32 +58,43 @@
    WorkAssignmentMapper workAssignmentMapper;
    //    private final static String ERP_URL = "http://192.168.2.100:8086";
    private final static String ERP_URL = "http://10.153.19.174:8086";
    private final static String ERP_URL = "http://192.168.2.100:8086";
    /**
     * 查询报工信息
     */
    @Override
    public List<Damage> selectDamage(String startTime, String endTime, int type, int status, 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 (!"0".equals(workingProcedure)) {
            damageSelectWrapper.eq(Damage::getWorkingProcedure, workingProcedure);
        }
        List<Damage> damageList = baseMapper.selectList(damageSelectWrapper);
//        for (Damage damage : damageList) {
//            damage.setStatus(2);
//        }
        return damageList;
    /**
     * 分页查询损坏记录
     * @param startTime 开始时间(格式:yyyy-MM-dd HH:mm:ss)
     * @param endTime 结束时间(格式:yyyy-MM-dd HH:mm:ss)
     * @param type 损坏类型(0表示查询所有类型)
     * @param status 状态(0表示查询所有状态)
     * @param workingProcedure 工序("0"表示查询所有工序)
     * @param pageNum 页码(从1开始)
     * @param pageSize 每页条数
     * @return 分页后的损坏记录列表
     */
    @Override
    public Page<Damage> selectDamage(
            String startTime,
            String endTime,
            int type,
            int status,
            String workingProcedure,
            int pageNum,  // 新增:动态页码
            int pageSize  // 新增:动态每页条数
    ) {
        Page<Damage> page = new Page<>(pageNum, pageSize);
        LambdaQueryWrapper<Damage> damageSelectWrapper = new LambdaQueryWrapper<>();
        damageSelectWrapper.between(Damage::getDamageTime, startTime, endTime)
                .eq(type != 0, Damage::getType, type)
                .eq(status != 0, Damage::getStatus, status)
                .eq(!"0".equals(workingProcedure), Damage::getWorkingProcedure, workingProcedure);
        return this.page(page, damageSelectWrapper);
    }
    /**
@@ -209,6 +223,7 @@
                    new LambdaQueryWrapper<Damage>()
                            .in(Damage::getType, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
                            .notIn(Damage::getStatus, 7, 8)
                            .lt(Damage::getStatus, 7)
                            .eq(Damage::getGlassId, damage.getGlassId())
            );
        } else {
@@ -316,6 +331,7 @@
                new LambdaQueryWrapper<Damage>()
                        .eq(Damage::getGlassId, glassId)
                        .in(Damage::getType, Const.GLASS_STATE_DAMAGE_TAKE)
                        .lt(Damage::getStatus, 7)
        );
    }
@@ -366,10 +382,12 @@
            result.put("title", reportingWorkJson);
            result.put("type", 0);
            if (reportingWorkDetails.get(0).getDamageDetails().get(0).getPatchStatus() == 1) {
                result.put("isPatch", 1);
            } else {
                result.put("isPatch", 0);
            if (reportingWorkDetails.get(0).getDamageDetails() != null) {
                if (reportingWorkDetails.get(0).getDamageDetails().get(0).getPatchStatus() == 1) {
                    result.put("isPatch", 1);
                } else {
                    result.put("isPatch", 0);
                }
            }
            result.put("userId", "admin");
            result.put("userName", "admin");
@@ -412,4 +430,9 @@
            return false;
        }
    }
    @Override
    public List<Damage> queryUnTempByFlowCardId(String flowCardId){
        return baseMapper.queryUnTempByFlowCardId(flowCardId);
    }
}