package com.mes.md.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.mes.md.entity.KBBTJPDrawingBP; import com.mes.md.entity.PrimitiveTask; import com.mes.md.entity.TaskingLog; import com.mes.md.mapper.KBBTJPDrawingBPMapper; import com.mes.md.mapper.TaskingLogMapper; import com.mes.md.service.KBBTJPDrawingBPService; import com.mes.md.service.PrimitiveTaskService; import com.mes.md.service.TaskingLogService; 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.text.SimpleDateFormat; import java.util.*; /** *

* 原始任务表 前端控制器 *

* * @author wu * @since 2024-08-28 */ @Slf4j @RestController @RequestMapping("/primitiveTask") public class PrimitiveTaskController { @Autowired private PrimitiveTaskService primitiveTaskService; @Autowired private KBBTJPDrawingBPService kBBTJPDrawingBPService; @Autowired KBBTJPDrawingBPMapper kBBTJPDrawingBPMapper; @Autowired TaskingLogService taskingLogService; @Autowired TaskingLogMapper taskingLogMapper; @ApiOperation("查询当前设备,未完工状态的线上任务") @PostMapping("/selectPrimitiveTask") @ResponseBody public Result findMachineTask(@RequestBody PrimitiveTask primitiveTask) { List list =primitiveTaskService.selectPrimitiveTask(primitiveTask); return Result.build(200,"成功",list); } @ApiOperation("查询当前 标准,可领取的任务(客户表)") @PostMapping("/findKBBTJPDrawingBP") @ResponseBody public Result findKBBTJPDrawingBP() { List list =kBBTJPDrawingBPService.notReceiveKBBTJPDrawingBP(); return Result.build(200,"成功",list); } @ApiOperation("领取或结束 ") @PostMapping("/startOrStopPrimitiveTasking") @ResponseBody public Result startOrStopPrimitiveTasking(@RequestBody PrimitiveTask primitiveTask) { int list =primitiveTaskService.startOrStopPrimitiveTasking(primitiveTask); return Result.build(200,"成功",list); } @ApiOperation("根据批次号进行手动报工") @PostMapping("/updatePrimitiveTask") @ResponseBody public Result updatePrimitiveTask(@RequestBody PrimitiveTask primitiveTask) { boolean list =primitiveTaskService.updatePrimitiveTask(primitiveTask); return Result.build(200,"成功",list); } @ApiOperation("查询 日产量未完成(客户表)") @PostMapping("/findDayNotCompleteOutput") @ResponseBody public Result findDayNotCompleteOutput(@RequestBody Map map) { int dayCount=1-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 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 list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper); return Result.build(200,"成功",list); } @ApiOperation("查询 日产量(客户表)") @PostMapping("/findDailyOutput") @ResponseBody public Result findDailyOutput(@RequestBody Map map) { int dayCount=Integer.valueOf(map.get("dayCount").toString()); List result=taskingLogService.selectTaskingLog(dayCount); return Result.build(200,"成功",result); } @ApiOperation("查询 计划量 m² 片数(客户表)") @PostMapping("/findPlannedQuantity") @ResponseBody public Result findPlannedQuantity() { //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, 1-dayCount); cal.set(Calendar.DAY_OF_MONTH, 1); Date startDate = cal.getTime(); // 获取当月最后一天 Calendar lastDayCal = (Calendar) cal.clone(); lastDayCal.add(Calendar.MONTH, 1); lastDayCal.add(Calendar.DATE, -1); Date endDate = lastDayCal.getTime(); // 获取当月天数 int dayCount = lastDayCal.get(Calendar.DAY_OF_MONTH); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("CAST(PlanDate AS DATE) AS CreateDate,isNull(sum(task_quantity),0) as task_quantity_sum,isNull(sum(length*width*task_quantity)/1000000,0) as area_sum") .ge("PlanDate",startDate).le("PlanDate",endDate).groupBy("CAST(PlanDate AS DATE)") .orderByAsc("CAST(PlanDate AS DATE)");; List list=kBBTJPDrawingBPMapper.selectMaps((QueryWrapper)queryWrapper); List resultDate=new ArrayList<>(); // 重置日历到当月第一天 cal.setTime(startDate); for (int i=0;i(); 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); } @ApiOperation("查询 完成量 m² 片数") @PostMapping("/findFinishQuantity") @ResponseBody public Result findFinishQuantity(@RequestBody Map map) { 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, 1-dayCount); cal.set(Calendar.DAY_OF_MONTH, 1); Date startDate = cal.getTime(); // 获取当月最后一天 Calendar lastDayCal = (Calendar) cal.clone(); lastDayCal.add(Calendar.MONTH, 1); lastDayCal.add(Calendar.DATE, -1); Date endDate = lastDayCal.getTime(); // 获取当月天数 int dayCount = lastDayCal.get(Calendar.DAY_OF_MONTH); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("CAST(operation_record_time AS DATE) AS CreateDate,ifNull(sum(task_quantity),0) as task_quantity_sum,ifNull(sum(length*width*task_quantity)/1000000,0) as area_sum") .ge("operation_record_time",startDate).le("operation_record_time",endDate).eq("work_state","完工").groupBy("CAST(operation_record_time AS DATE)") .orderByAsc("CAST(operation_record_time AS DATE)");; List list=taskingLogMapper.selectMaps((QueryWrapper)queryWrapper); List resultDate=new ArrayList<>(); // 重置日历到当月第一天 cal.setTime(startDate); for (int i=0;i(); 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); } }