diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java index b6729a343..a0412e633 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquPlanController.java @@ -118,7 +118,7 @@ public class EquPlanController extends BaseController { * 导出计划列表 */ @RequiresPermissions("device:inspectionPlan:export") - @Log(title = "计划", businessType = BusinessType.EXPORT) + @Log(title = "导出计划", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, EquPlan equPlan) { List list = equPlanService.selectEquPlanList(equPlan); @@ -139,7 +139,7 @@ public class EquPlanController extends BaseController { * 新增计划 */ @RequiresPermissions("device:inspectionPlan:add") - @Log(title = "计划", businessType = BusinessType.INSERT) + @Log(title = "新增计划", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody EquPlan equPlan) { return equPlanService.insertEquPlan(equPlan); @@ -149,7 +149,7 @@ public class EquPlanController extends BaseController { * 修改计划 */ @RequiresPermissions("device:inspectionPlan:edit") - @Log(title = "计划", businessType = BusinessType.UPDATE) + @Log(title = "修改计划", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody EquPlan equPlan) { return equPlanService.updateEquPlan(equPlan); @@ -159,7 +159,7 @@ public class EquPlanController extends BaseController { * 删除计划 */ @RequiresPermissions("device:inspectionPlan:remove") - @Log(title = "计划", businessType = BusinessType.DELETE) + @Log(title = "删除计划", businessType = BusinessType.DELETE) @DeleteMapping("/{planIds}") public AjaxResult remove(@PathVariable String[] planIds) { return equPlanService.deleteEquPlanByPlanIds(planIds); diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java index f2d4b5032..8ffb5b7b1 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlan.java @@ -205,6 +205,9 @@ public class EquPlan extends BaseEntity { @Excel(name = "委外原因") private String workReason; + //jgy 新增 生产线体编码 每天生成线体信息的时候只生成计划生产的 + private String lineCode; + public String getWorkOutsourcingUnit() { return workOutsourcingUnit; } @@ -581,6 +584,14 @@ public class EquPlan extends BaseEntity { return delFlag; } + public void setLineCode(String lineCode) { + this.lineCode = lineCode; + } + + public String getLineCode() { + return lineCode; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceTaskMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceTaskMapper.java index d812d27e2..f3b252f89 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceTaskMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/DeviceTaskMapper.java @@ -1,12 +1,8 @@ package com.op.device.mapper; -import com.op.common.core.domain.BaseFileData; -import com.op.device.domain.EquFile; import com.op.device.domain.EquOrder; import com.op.device.domain.EquPlan; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - import java.util.List; /** @@ -23,4 +19,6 @@ public interface DeviceTaskMapper { EquOrder getNewTaskOrder(EquPlan quPlan); EquOrder getNewTaskOrder0(EquPlan plan); + + List getPlanProduceLine();//计划生产产线查询 } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java index 27d3c4295..1430fd296 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java @@ -1,14 +1,12 @@ package com.op.device.service.impl; -import com.baomidou.dynamic.datasource.annotation.DS; +import com.alibaba.fastjson.JSONArray; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; -import com.op.common.core.context.SecurityContextHolder; import com.op.common.core.domain.R; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; -import com.op.common.security.utils.SecurityUtils; import com.op.device.domain.*; import com.op.device.mapper.*; import com.op.device.service.IDeviceTaskService; @@ -19,18 +17,15 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.time.LocalDate; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import static com.op.common.core.web.domain.AjaxResult.error; import static com.op.common.core.web.domain.AjaxResult.success; @@ -253,8 +248,9 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService { EquPlan equPlan = new EquPlan(); equPlan.setPlanType("spotInspection"); List plans = deviceTaskMapper.getPlans(equPlan); + List producePlans = this.confirmPlanProduceLine(plans,poolName); - for (EquPlan plan : plans) { + for (EquPlan plan : producePlans) { EquOrder hasTask = deviceTaskMapper.getNewTaskOrder(plan); if (hasTask == null || Integer.parseInt(plan.getPlanLoop()) <= hasTask.getDays() || checkHourTask(hasTask, plan)) { //生成点检计划 @@ -560,4 +556,48 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService { System.out.println("------>" + batchCount); } + //筛选出 当天要计划生成的数据 + private List confirmPlanProduceLine(List plans,String poolName) { + //查询到当天要生产的产线 + List planProduceLine = deviceTaskMapper.getPlanProduceLine();//计划生产产线 + List planProduceLineCode = new ArrayList<>(); + List produceLine = new ArrayList<>(); + + for(String str : planProduceLine){ + str = str.substring(1, str.length() - 1); + String[] subArrays = str.split("],\\["); + for (String subArrayStr : subArrays) { + subArrayStr = subArrayStr.substring(1, subArrayStr.length() - 1); + String[] parts = subArrayStr.split("\",\""); + for (int i = 1 ; i < parts.length ; i++) { + if(i == parts.length - 1){ + planProduceLineCode.add(parts[i].replaceAll("\"", "")); + }else{ + planProduceLineCode.add(parts[i]); + } + } + } + } + + List uniqueLineCodeList = planProduceLineCode.stream().distinct().collect(Collectors.toList()); + List returnPlanList = new ArrayList<>(); + if(!CollectionUtils.isEmpty(uniqueLineCodeList) && !CollectionUtils.isEmpty(plans)){ + for(String lineCode : uniqueLineCodeList){ + for(EquPlan equPlan : plans){ + if(!StringUtils.isBlank(equPlan.getLineCode())){ + if(equPlan.getLineCode().equals(lineCode)){ + returnPlanList.add(equPlan); + produceLine.add(lineCode);//生成产线 + } + } + } + } + } + + produceLine = produceLine.stream().distinct().collect(Collectors.toList()); + logger.info(poolName + "工厂今日生成的产线:" + JSONArray.toJSONString(produceLine)); + logger.info(poolName + "工厂返回生成今日生产的产线点检计划信息:" + JSONArray.toJSONString(returnPlanList)); + return returnPlanList; + } + } diff --git a/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml index 038211833..9dc260624 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/DeviceTaskMapper.xml @@ -25,11 +25,18 @@ ep.plan_code planCode, epe.equipment_code equipmentCode, epe.equipment_name equipmentName, + ebae.equipment_code lineCode, epe.id planEquId from equ_plan ep left join equ_plan_equ epe on ep.plan_code = epe.plan_code + left join equ_bind_auxiliary_equipment ebae on epe.equipment_code = ebae.auxiliary_equipment_code where ep.del_flag = '0' and epe.del_flag = '0' and ep.plan_status = '0' - and epe.equipment_code in ( select be.equipment_code from base_equipment be where be.del_flag = '0' ) + and epe.equipment_code in( + select be.equipment_code from base_equipment be + left join equ_bind_auxiliary_equipment ebae0 on be.equipment_code = ebae0.auxiliary_equipment_code + where be.del_flag = '0' + and ebae0.del_flag = '0' + ) and ep.plan_type = #{planType} and CONVERT(varchar(10),GETDATE(), 120) >= CONVERT(varchar(10),ep.plan_loop_start, 120) @@ -66,4 +73,10 @@ and del_flag = '0' order by create_time desc + +