严智鑫
2025-03-21 8ba5b88ffa394d06b81ae1802e5ebd075d34050a
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java
@@ -1,19 +1,21 @@
package com.mes.md.controller;
import com.mes.md.entity.KBBTJPDrawingBP;
import com.mes.md.entity.Machine;
import com.mes.md.entity.PrimitiveTask;
import com.mes.md.entity.Tasking;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mes.md.entity.*;
import com.mes.md.mapper.KBBTJPDrawingBPMapper;
import com.mes.md.service.KBBTJPDrawingBPService;
import com.mes.md.service.PrimitiveTaskService;
import com.mes.md.service.TaskingLogService;
import com.mes.md.service.TaskingService;
import com.mes.utils.Result;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.text.SimpleDateFormat;
import java.util.*;
/**
 * <p>
@@ -23,6 +25,7 @@
 * @author wu
 * @since 2024-08-28
 */
@Slf4j
@RestController
@RequestMapping("/primitiveTask")
public class PrimitiveTaskController {
@@ -31,6 +34,10 @@
    private PrimitiveTaskService primitiveTaskService;
    @Autowired
    private KBBTJPDrawingBPService kBBTJPDrawingBPService;
    @Autowired
    KBBTJPDrawingBPMapper kBBTJPDrawingBPMapper;
    @Autowired
    TaskingLogService taskingLogService;
    @ApiOperation("查询当前设备,未完工状态的线上任务")
    @PostMapping("/selectPrimitiveTask")
@@ -62,5 +69,81 @@
        boolean list =primitiveTaskService.updatePrimitiveTask(primitiveTask);
        return Result.build(200,"成功",list);
    }
    @ApiOperation("查询 日产量未完成(客户表)")
    @PostMapping("/findDayNotCompleteOutput")
    @ResponseBody
    public Result findDayNotCompleteOutput(@RequestBody Map<String, String> map) {
        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("scan_id,(task_quantity-isNull(report_count,0)) as notComplete,isNull((length*width*(task_quantity-isNull(report_count,0)))/1000000,0) as area_sum").
                gt("CreateDate",cal.getTime()).apply("task_quantity>isNull(report_count,0)");
        List<Map> list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper);
        return Result.build(200,"成功",list);
    }
    @ApiOperation("查询 日产量(客户表)")
    @PostMapping("/findDailyOutput")
    @ResponseBody
    public Result findDailyOutput(@RequestBody Map<String, String> map) {
        int dayCount=Integer.valueOf(map.get("dayCount").toString());
        List<Map> result=taskingLogService.selectTaskingLog(dayCount);
        return Result.build(200,"成功",result);
    }
    @ApiOperation("查询 计划量 m² 片数(客户表)")
    @PostMapping("/findPlannedQuantity")
    @ResponseBody
    public Result findPlannedQuantity(@RequestBody Map<String, String> map) {
        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);
        Date startDate = cal.getTime();
        QueryWrapper<KBBTJPDrawingBP> 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",startDate).groupBy("CAST(CreateDate AS DATE)")
                .orderByAsc("CAST(CreateDate AS DATE)");;
        List<Map> list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper);
        List<Map> resultDate=new ArrayList<>();
        for (int i=0;i<dayCount;i++){
            Date thisdate=cal.getTime();
            cal.add(Calendar.DATE, 1);
            Map thisMap=new HashMap<>();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String dateString = sdf.format(thisdate);
            thisMap.put("CreateDate",dateString);
//            if(list.size()>0){
//                log.info("对比:{},{},{}",list.get(0).get("CreateDate"),dateString,list.get(0).get("CreateDate").toString().equals(dateString));
//            }
            if (list.size()>0&&list.get(0).get("CreateDate").toString().equals(dateString)){
                thisMap.put("task_quantity_sum",list.get(0).get("task_quantity_sum"));
                thisMap.put("area_sum",list.get(0).get("area_sum"));
                list.remove(0);
            }else{
                thisMap.put("task_quantity_sum",0);
                thisMap.put("area_sum",0);
            }
            resultDate.add(thisMap);
        }
        return Result.build(200,"成功",resultDate);
    }
}