严智鑫
2025-04-03 f2a5a09c879849110b42c46297ab4c080500e61d
JiuMuMesParent/moduleService/DeviceInteractionModule/src/test/java/com/mes/DeviceInteractionModuleApplicationTest.java
@@ -1,14 +1,14 @@
package com.mes;
import cn.hutool.core.bean.BeanUtil;
import cn.smallbun.screw.core.util.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.md.entity.*;
import com.mes.md.mapper.*;
import com.mes.md.service.AccountService;
import com.mes.md.service.PrimitiveTaskService;
import com.mes.md.service.ProjectService;
import com.mes.md.service.TaskingService;
import com.mes.md.service.*;
import com.mes.tools.HexConversion;
import com.mes.utils.HexUtil;
import lombok.extern.slf4j.Slf4j;
@@ -25,8 +25,11 @@
import java.io.OutputStream;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @Author : yanzhixin
@@ -69,12 +72,78 @@
    @Autowired
    KBBTLensSortingMapper kBBTLensSortingMapper;
    @Autowired
    KBBTProgramsOperationLogBPMapper kBBTProgramsOperationLogBPMapper;
    @Autowired
    KBBTProgramsOperationLogBPService kBBTProgramsOperationLogBPService;
    @Autowired
    TaskingLogMapper taskingLogMapper;
    @Autowired
    TaskingLogService taskingLogService;
    /**
     * 测试 提交报工  以及玻璃数据
     */
    @Test
    public void reportTaskingLog() {
        taskingLogService.reportTaskingLog();
    }
    /**
     * 测试 扫码后库位
     */
    @Test
    public void testInset() {
        // 从数据库中查询出的对象集合
        List<Tasking> listTasking = taskingMapper.selectList(new QueryWrapper<Tasking>());
        List<KBBTProgramsOperationLogBP> abc =kBBTProgramsOperationLogBPMapper.selectList(new QueryWrapper<KBBTProgramsOperationLogBP>());
        // 判端是否为空
        if (CollectionUtils.isNotEmpty(listTasking)) {
            // 进行拆解封装
            List<KBBTProgramsOperationLogBP> stationDictVOS = listTasking.stream().map(item -> {
                KBBTProgramsOperationLogBP newData = new KBBTProgramsOperationLogBP();
                newData.setGlassId(item.getGlassId());
                newData.setState(item.getState());
                newData.setWorkState(item.getWorkState());
                newData.setGlassState(item.getGlassState());
                newData.setState(item.getState());
                newData.setScanId(item.getScanId());
                newData.setProgramId(item.getProgramId());
                newData.setBatchNumber(item.getBatchNumber()==null?"":item.getBatchNumber());
                newData.setTaskType(item.getTaskType());
                newData.setLength(item.getLength());
                newData.setWidth(item.getWidth());
                newData.setThickness(item.getThickness());
                newData.setDrawingMarking(item.getDrawingMarking());
                //newData.setIsMarking(item.getIsMarking());//是否打标:0不打标   1打标
                newData.setIsSilkScreen(item.getIsSilkScreen());
                newData.setIsWorking(1);
                newData.setSilkScreenX(item.getSilkScreenX());
                newData.setSilkScreenY(item.getSilkScreenY());
                newData.setR_1_1(item.getR_1_1());
                newData.setR_1_2(item.getR_1_2());
                newData.setR_2_1(item.getR_2_1());
                newData.setR_2_2(item.getR_2_2());
                newData.setR_3_1(item.getR_3_1());
                newData.setR_3_2(item.getR_3_2());
                newData.setR_4_1(item.getR_4_1());
                newData.setR_4_2(item.getR_4_2());
                newData.setCreateDate(new Date());
                kBBTProgramsOperationLogBPMapper.insert(newData);
                return newData;
            }).collect(Collectors.toList());
            log.info("保存数据是否成功:{},{}",stationDictVOS);
        }
    }
    /**
     * 测试 扫码后库位
     */
    @Test
    public void testStr() {
        //创建Calendar实例
        Calendar cal = Calendar.getInstance();
        //设置当前时间
@@ -104,7 +173,7 @@
    public void testSaoMa() {
        try {
// 创建TCP客户端并连接到服务器
            String serverAddress = "192.168.1.8";
            String serverAddress = "10.36.164.19";
            int serverPort = 2001;
            Socket clientSocket = new Socket(serverAddress, serverPort);
            // 创建输入流和输出流
@@ -276,6 +345,129 @@
//        log.info("内容{}",KBBTJPDrawingBP);
    }
    //周产量测试
    @Test
    public void testDailyOutput() {
        Map map=new HashMap();
        map.put("dayCount",1);
        int dayCount=0-Integer.valueOf(map.get("dayCount").toString());
        Calendar cal = Calendar.getInstance();
        //设置当前时间
        cal.setTime(new Date());
        cal.add(Calendar.DATE, dayCount);
        QueryWrapper<KBBTProgramsOperationLogBP> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("CreateDate,isNull(sum(task_quantity),0) as task_quantity_sum,isNull(sum(report_count),0) as report_count_sum")
                .gt("CreateDate",cal.getTime()).groupBy("CreateDate");
        List<KBBTProgramsOperationLogBP> list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper);
        log.info("内容{}{}",list,cal.getTime());
    }
    //日产量测试
    @Test
    public void testWeekOutput() {
        Map map=new HashMap();
        map.put("dayCount",1);
        int dayCount=0-Integer.valueOf(map.get("dayCount").toString());
        Calendar cal = Calendar.getInstance();
        //设置当前时间
        cal.setTime(new Date());
        cal.add(Calendar.DATE, dayCount);
        QueryWrapper<KBBTProgramsOperationLogBP> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("CAST(CreateDate AS DATE) AS CreateDate,isNull(sum(task_quantity),0) as task_quantity_sum,isNull(sum(length*width*task_quantity)/1000000,0) as area_sum")
                .gt("CreateDate",cal.getTime()).groupBy("CAST(CreateDate AS DATE)");
        List<KBBTProgramsOperationLogBP> list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper);
        log.info("内容{}{}",list,cal.getTime());
        log.info("内容{}",list);
    }
    //日产量未完成
    @Test
    public void testDayNotFinshOutput() {
        Map map=new HashMap();
        map.put("dayCount",1);
        int dayCount=0-Integer.valueOf(map.get("dayCount").toString());
        Calendar cal = Calendar.getInstance();
        //设置当前时间
        cal.setTime(new Date());
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        cal.add(Calendar.DATE, dayCount);
        QueryWrapper<KBBTJPDrawingBP> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("OrderNo,(sum(task_quantity-isNull(report_count,0))) as notComplete,sum(isNull((length*width*(task_quantity-isNull(report_count,0)))/1000000,0)) as area_sum").
                gt("PlanDate",cal.getTime()).having("sum(task_quantity-isNull(report_count,0))>0")
                .groupBy("OrderNo");
        List<Map> list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper);
        log.info("内容{}",list);
    }
    //日产量 分线 已完成
    @Test
    public void testDayss() {
        List<Map> map=taskingLogService.selectTaskingLog(20);
        log.info("内容{}",map);
    }
    //日产量 分线 已完成
    @Test
    public void testDays() {
        Map map=new HashMap();
        map.put("dayCount",5);
        int dayCount=Integer.valueOf(map.get("dayCount").toString());
        Calendar cal = Calendar.getInstance();
        //设置当前时间
        cal.setTime(new Date());
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        cal.add(Calendar.DATE, 0-dayCount);
        //近dayCount天的计划数量
        QueryWrapper<KBBTJPDrawingBP> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("CAST(CreateDate AS DATE) AS CreateDate,isNull(sum(task_quantity),0) as task_quantity_sum")
                .gt("CreateDate",cal.getTime()).groupBy("CAST(CreateDate AS DATE)").orderByAsc("CAST(CreateDate AS DATE)");
        List<Map> list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper);
        //近dayCount天的计划数量
        List<String> dateList=new ArrayList<>();
        Map<String,Object> mapList=new HashMap<>();
        for (int i=0;i<dayCount;i++){
            cal.add(Calendar.DATE, 1);
            log.info("内容{}",cal.getTime().toString());
            dateList.add(cal.getTime().toString());//日期顺序
            Map<String,Object> item=new HashMap<>();
            item.put("report_count_sum",0);
            item.put("task_quantity_sum",0);
            try {
                DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
                Date d=df.parse(cal.getTime().toString());
                item.put("CreateDate",d.toString());
            }catch (Exception e){
                log.info("异常");
            }
            mapList.put(cal.getTime().toString(), item);//每个日期的数据 -匹配用
        }
        //遍历匹配
        for (int i=0;i<list.size();i++){
            cal.setTime((Date)list.get(i).get("CreateDate"));
            cal.set(Calendar.HOUR_OF_DAY, 0);
            cal.set(Calendar.MINUTE, 0);
            cal.set(Calendar.SECOND, 0);
            cal.set(Calendar.MILLISECOND, 0);
            mapList.put(cal.getTime().toString(), list.get(i));
        }
        //遍历顺序
        List result=new ArrayList();
        for (int i=0;i<dateList.size();i++){
            result.add(mapList.get(dateList.get(i)));
            //log.info("结果{}",mapList.get(dateList.get(i)));
        }
        log.info("返回内容{}",result);
    }