wangfei
2024-07-11 9dae9b219bc4eb9c776cc31f2d4d58dbeb190031
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -4,8 +4,9 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
import com.mes.downglassinfo.service.DownGlassInfoService;
import com.mes.downglassinfo.service.DownGlassTaskService;
@@ -16,6 +17,7 @@
import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
import com.mes.downworkstation.service.DownWorkstationService;
import com.mes.downworkstation.service.DownWorkstationTaskService;
import com.mes.glassinfo.service.GlassInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -40,7 +42,10 @@
    private DownGlassInfoMapper downGlassInfoMapper;
    @Autowired
    private DownGlassTaskService downGlassTaskService;
    @Autowired
    private GlassInfoService glassInfoService;
    @Autowired
    private DamageService damageservice;
    @Autowired
    private DownWorkstationTaskService downWorkstationTaskService;
@@ -53,10 +58,10 @@
    @Override
    public int getTotalQuantity(int workstationId) {
        DownWorkstation result = baseMapper.selectOne(new QueryWrapper<DownWorkstation>().lambda()
                .select(DownWorkstation::getTotalquantity)
                .select(DownWorkstation::getTotalQuantity)
                .eq(DownWorkstation::getWorkstationId, workstationId));
        return result != null ? result.getTotalquantity() : 0;
        return result != null ? result.getTotalQuantity() : 0;
    }
@@ -76,20 +81,29 @@
        List<Map<String, Object>> result = new ArrayList<>();
        for (DownWorkstionAndDownGlassinfo downWorkstionAndDownGlassinfo : workstationList) {
            Map<String, Object> rack = new HashMap<>();
            // 创建子项(item)对象
            Map<String, Object> item = new HashMap<>();
            item.put("height", downWorkstionAndDownGlassinfo.getTotalheight()); // 设置子项高度,根据实际情况设置
            item.put("width", downWorkstionAndDownGlassinfo.getTotalwidth()); // 设置子项宽度,根据实际情况设置
            item.put("fillColor", "yellow"); // 设置子项颜色
            item.put("content", downWorkstionAndDownGlassinfo.getFlowCardId()); // 使用流程卡号作为子项内容
            item.put("height", downWorkstionAndDownGlassinfo.getTotalheight());
            item.put("width", downWorkstionAndDownGlassinfo.getTotalwidth());
            item.put("fillColor", "yellow");
            item.put("content", downWorkstionAndDownGlassinfo.getFlowCardId());
            rack.put("item", item); // 将子项对象放入货架对象中
            // 查询 DownGlassInfo 并添加到 item 中
            MPJQueryWrapper<DownGlassInfo> glassInfoQueryWrapper = new MPJQueryWrapper<>();
            glassInfoQueryWrapper.select("*"); // 查询所有列
            glassInfoQueryWrapper.eq("flow_card_id", downWorkstionAndDownGlassinfo.getFlowCardId());
            List<DownGlassInfo> downGlassInfoList = downGlassInfoMapper.selectList(glassInfoQueryWrapper);
            result.add(rack); // 将货架对象添加到结果列表中
            //log.info("货架对象: {}", rack);
         if (!downGlassInfoList.isEmpty()) {
                item.put("downGlassInfoList", downGlassInfoList);
            }
            rack.put("item", item);
            result.add(rack);
        }
        log.info("result"+(result));
        return result; // 返回最终结果
    }
@@ -102,7 +116,7 @@
                .eq("workstation_id", workstationId);
        DownWorkstation result = baseMapper.selectOne(queryWrapper);
        return result != null ? result.getRacksnumber() : 0;
        return result != null ? result.getRacksNumber() : 0;
    }
    //根据条件获取工位玻璃信息
@@ -127,10 +141,18 @@
    @Override
    public int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
    public int updateFlowCardIdAndCount(String flowCardId,  int workstationId,int layer) {
        int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId,layer);
        QueryWrapper<Damage> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("process_id", flowCardId);
        queryWrapper.eq("technology_number", layer);
       int artificialnumber=damageservice.count(queryWrapper);
        UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
        updateWrapper.set("total_quantity", glassInfoCount)
                .set("flow_card_id", flowCardId)
                .set("layer", layer)
                .set("artificial_number", artificialnumber)
                .eq("workstation_id", workstationId);
        return baseMapper.update(new DownWorkstation(), updateWrapper);