严智鑫
2024-07-24 bbde3826fd8f2bdeadd8a762936cfe3c3c0e5915
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -7,6 +7,9 @@
import com.github.yulichang.query.MPJLambdaQueryWrapper;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.config.Const;
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
@@ -24,6 +27,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.print.attribute.standard.MediaSize;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -52,21 +57,40 @@
    @Autowired
    TaskCacheService taskCacheService;
    @Autowired
    DamageService damageService;
    /**
     * 识别   拿走:200/破损:201
     *
     * @param glassId
     * @param ControlsId
     * @param arguments
     * @return
     */
    @Override
    public boolean identWorn(String glassId, int ControlsId) {
    public boolean identWorn(Map<String, String> arguments) {
        String glassId=arguments.get("glassId");
        int controlsId=arguments.get("controlsId").isEmpty()?0:Integer.parseInt(arguments.get("controlsId"));
        int line=arguments.get("line").isEmpty()?0:Integer.parseInt(arguments.get("line"));
        String machine=arguments.get("machine");
        if(controlsId==0||line==0||machine==null||glassId==null||glassId.isEmpty()){
            log.info("前端传递数据不全:{}",arguments);
            return false;
        }
        int state=controlsId==200?3:2;
        List<EdgStorageCageDetails> edgStorageCageDetails = baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class).eq(EdgStorageCageDetails::getGlassId, glassId));
        if (edgStorageCageDetails.size() == 1) {
            EdgStorageCageDetails item = edgStorageCageDetails.get(0);
            item.setState(ControlsId);
            baseMapper.update(edgStorageCageDetails.get(0), new MPJLambdaWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class).eq(EdgStorageCageDetails::getGlassId, glassId));
            item.setState(controlsId);
            Damage damage =new Damage();
            damage.setGlassId(glassId);
            damage.setLine(line);
            damage.setWorkingProcedure(machine);
            damage.setRemark("");
            damage.setStatus(state);//201破损,200拿走   =》破损表 2破损  3 拿走
            damageService.insertDamage(damage);
            baseMapper.update(item, new MPJLambdaWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class).eq(EdgStorageCageDetails::getGlassId, glassId));
            return true;
        }
//            Sql版本
@@ -89,11 +113,11 @@
    public List<Map<String, Object>> selectCutTerritory() {
        List<UpPattenUsage> upPattenUsage = upPattenUsageMapper.selectList(new MPJLambdaWrapper<UpPattenUsage>()
                .selectAll(UpPattenUsage.class)
                .eq(UpPattenUsage::getState, 1));
                .orderByDesc(UpPattenUsage::getState)
                .orderByDesc(UpPattenUsage::getId));
        if (!upPattenUsage.isEmpty()) {
            UpPattenUsage upPattenUsage1 = upPattenUsage.get(0);
            return optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
            List<Map<String, Object>> cutTerritorys=optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
                    .selectAll(OptimizeDetail.class)
                    .selectAs(OptimizeLayout::getWidth, "olWidth")
                    .selectAs(OptimizeLayout::getWidth, "olHeight")
@@ -103,6 +127,21 @@
                    .eq(OptimizeDetail::getProjectNo, upPattenUsage1.getEngineeringId())
                    .eq(OptimizeDetail::getStockId, upPattenUsage1.getLayoutSequence())
            );
            List<Map<String, Object>> ResultcutTerritorys=new ArrayList<>();
            for (Map<String, Object> cutTerritory : cutTerritorys) {
                EdgStorageCageDetails edgStorageCageDetails=baseMapper.selectOne(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
                        .selectAll(EdgStorageCageDetails.class)
                        .eq(EdgStorageCageDetails::getGlassId, cutTerritory.get("glass_id"))
                        .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN));
//                log.info("内容:{}-------{}",cutTerritory,edgStorageCageDetails);
                if(edgStorageCageDetails!=null){
                    cutTerritory.put("glass_state",edgStorageCageDetails.getState());
                }else{
                    cutTerritory.put("glass_state",0);
                }
                ResultcutTerritorys.add(cutTerritory);
            }
            return ResultcutTerritorys;
//            Sql版本
//            return optimizeDetailMapper.selectJoinMaps(new MPJQueryWrapper<OptimizeDetail>().selectAll(OptimizeDetail.class)