From ed69dfaf1bd7a3529d624e41a5f8b5346ebd83a1 Mon Sep 17 00:00:00 2001 From: sunjianxi <839419401@qq.com> Date: Tue, 23 Dec 2025 16:26:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E4=BA=A7=E7=9B=B8=E5=85=B3-sjx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TeamSetController.java | 168 +++++++++++++++++ .../controller/WorkOrderController.java | 14 ++ .../entity/PersonAbilityEntity.java | 5 + .../excel/SchedulingBoardExcel.java | 171 ++++++++++++++++++ .../scheduling/excel/WorkCenterExcel.java | 2 +- .../scheduling/mapper/TeamSetMapper.java | 2 +- .../scheduling/mapper/TeamSetMapper.xml | 2 +- .../scheduling/mapper/WorkOrderMapper.java | 3 + .../scheduling/mapper/WorkOrderMapper.xml | 44 +++++ .../scheduling/mapper/YieldOrderMapper.xml | 2 +- .../scheduling/service/ITeamSetService.java | 2 +- .../scheduling/service/IWorkOrderService.java | 3 + .../service/impl/TeamSetServiceImpl.java | 4 +- .../service/impl/WorkOrderServiceImpl.java | 54 ++++-- 14 files changed, 458 insertions(+), 18 deletions(-) create mode 100644 blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/TeamSetController.java create mode 100644 blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/excel/SchedulingBoardExcel.java diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/TeamSetController.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/TeamSetController.java new file mode 100644 index 0000000..f207890 --- /dev/null +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/TeamSetController.java @@ -0,0 +1,168 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.scheduling.scheduling.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.scheduling.scheduling.entity.TeamSetEntity; +import org.springblade.scheduling.scheduling.excel.TeamSetExcel; +import org.springblade.scheduling.scheduling.service.ITeamSetService; +import org.springblade.scheduling.scheduling.vo.TeamSetVO; +import org.springblade.scheduling.scheduling.wrapper.TeamSetWrapper; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * 班组设置表 控制器 + * + * @author BladeX + * @since 2025-12-22 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/teamSet") +@Tag(name = "班组设置表", description = "班组设置表接口") +public class TeamSetController extends BladeController { + + private final ITeamSetService teamSetService; + + /** + * 班组设置表 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入TeamSet") + public R detail(TeamSetEntity TeamSet) { + TeamSetEntity detail = teamSetService.getOne(Condition.getQueryWrapper(TeamSet)); + return R.data(TeamSetWrapper.build().entityVO(detail)); + } + /** + * 班组设置表 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入TeamSet") + public R> list(@Parameter(hidden = true) @RequestParam Map TeamSet, Query query) { + IPage pages = teamSetService.page(Condition.getPage(query), Condition.getQueryWrapper(TeamSet, TeamSetEntity.class)); + return R.data(TeamSetWrapper.build().pageVO(pages)); + } + + /** + * 班组设置表 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入TeamSet") + public R> page(TeamSetVO TeamSet, Query query) { + IPage pages = teamSetService.selectTeamSetPage(Condition.getPage(query), TeamSet); + return R.data(pages); + } + + /** + * 班组设置表 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入TeamSet") + public R save(@Valid @RequestBody TeamSetEntity TeamSet) { + return R.status(teamSetService.save(TeamSet)); + } + + /** + * 班组设置表 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入TeamSet") + public R update(@Valid @RequestBody TeamSetEntity TeamSet) { + return R.status(teamSetService.updateById(TeamSet)); + } + + /** + * 班组设置表 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入TeamSet") + public R submit(@Valid @RequestBody TeamSetEntity TeamSet) { + return R.status(teamSetService.saveOrUpdate(TeamSet)); + } + + /** + * 班组设置表 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(teamSetService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-TeamSet") + @ApiOperationSupport(order = 9) + @Operation(summary = "导出数据", description = "传入TeamSet") + public void exportTeamSet(@Parameter(hidden = true) @RequestParam Map TeamSet, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(TeamSet, TeamSetEntity.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(TeamSet::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(TeamSetEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = teamSetService.export(queryWrapper); + ExcelUtil.export(response, "班组设置表数据" + DateUtil.time(), "班组设置表数据表", list, TeamSetExcel.class); + } + + @GetMapping("/findList") + @ApiOperationSupport(order = 2) + @Operation(summary = "列表", description = "传入Equipment") + public R> findList() { + List list = teamSetService.list(); + return R.data(list); + } + +} diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java index e7e8946..eeab7ea 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java @@ -46,10 +46,12 @@ import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.scheduling.scheduling.dto.WorkOrderDto; import org.springblade.scheduling.scheduling.entity.WorkOrderEntity; +import org.springblade.scheduling.scheduling.excel.SchedulingBoardExcel; import org.springblade.scheduling.scheduling.vo.WorkOrderVO; import org.springblade.scheduling.scheduling.excel.WorkOrderExcel; import org.springblade.scheduling.scheduling.service.IWorkOrderService; import org.springblade.scheduling.scheduling.wrapper.WorkOrderWrapper; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; @@ -229,4 +231,16 @@ public class WorkOrderController extends BladeController { return R.data(workOrderService.selectEquip()); } + + /** + * 导出数据 + */ + @PostMapping("/exportBoard") + @ApiOperationSupport(order = 9) + @Operation(summary = "导出数据", description = "传入WorkOrder") + public void exportSchedulingBoard(@RequestBody WorkOrderDto workOrder, HttpServletResponse response) { + List list = workOrderService.exportSchedulingBoard(workOrder); + ExcelUtil.export(response, "车间订单表数据" + DateUtil.time(), "车间订单表数据表", list, SchedulingBoardExcel.class); + } + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/entity/PersonAbilityEntity.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/entity/PersonAbilityEntity.java index 86f00a2..1d02e30 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/entity/PersonAbilityEntity.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/entity/PersonAbilityEntity.java @@ -97,5 +97,10 @@ public class PersonAbilityEntity extends BaseEntity { @Schema(description = "准备工时(分钟)") private BigDecimal prepareTime; + /** + * 0-按单个零件统计 1-按订单统计 + */ + @Schema(description = "0-按单个零件统计 1-按订单统计") + private String type; } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/excel/SchedulingBoardExcel.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/excel/SchedulingBoardExcel.java new file mode 100644 index 0000000..746facf --- /dev/null +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/excel/SchedulingBoardExcel.java @@ -0,0 +1,171 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.scheduling.scheduling.excel; + + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 车间订单表 Excel实体类 + * + * @author BladeX + * @since 2025-11-28 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class SchedulingBoardExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 车间订单号 + */ + @ColumnWidth(20) + @ExcelProperty("车间订单号") + private String woCode; + + /** + * 流程卡号 + */ + @ColumnWidth(20) + @ExcelProperty("流程卡号") + private String cardNo; + + /** + * 零件号 + */ + @ColumnWidth(20) + @ExcelProperty("零件号") + private String partCode; + + /** + * 产品名称 + */ + @ColumnWidth(20) + @ExcelProperty("产品名称") + private String partName; + + /** + * 批次号 + */ + @ColumnWidth(20) + @ExcelProperty("批次号") + private String batchNo; + + /** + * 质量等级 + */ + @ColumnWidth(20) + @ExcelProperty("质量等级") + private String productIdent; + + /** + * 镀种信息 + */ + @ColumnWidth(20) + @ExcelProperty("镀种信息") + private String plate; + + /** + * 面积 + */ + @ColumnWidth(20) + @ExcelProperty("面积(dm2)") + private String ypArea; + + /** + * 生产数量 + */ + @ColumnWidth(20) + @ExcelProperty("生产数量") + private String makeQty; + + /** + * 下达时间 + */ + @ColumnWidth(20) + @ExcelProperty("下达时间") + private String releaseDate; + + + /** + * 当前工序 + */ + @ColumnWidth(20) + @ExcelProperty("当前工序") + private String currentProcess; + + /** + * 加工班组 + */ + @ColumnWidth(20) + @ExcelProperty("加工班组") + private String teamName; + + /** + * 下一工序 + */ + @ColumnWidth(20) + @ExcelProperty("下一工序") + private String nextProcess; + + /** + * 计划开始时间 + */ + @ColumnWidth(20) + @ExcelProperty("计划开始时间") + private String planStartDate; + + /** + * 计划结束时间 + */ + @ColumnWidth(20) + @ExcelProperty("计划结束时间") + private String planEndDate; + + /** + * 需求交期 + */ + @ColumnWidth(20) + @ExcelProperty("需求交期") + private String demandDate; + + + +} diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/excel/WorkCenterExcel.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/excel/WorkCenterExcel.java index 4ae3ed1..588a2ba 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/excel/WorkCenterExcel.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/excel/WorkCenterExcel.java @@ -177,7 +177,7 @@ public class WorkCenterExcel implements Serializable { * */ @ColumnWidth(20) - @ExcelProperty("") + @ExcelProperty("备注") private String remarks; /** * diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/TeamSetMapper.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/TeamSetMapper.java index 9478262..9c8d3a1 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/TeamSetMapper.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/TeamSetMapper.java @@ -50,7 +50,7 @@ public interface TeamSetMapper extends BaseMapper { * @param bsTeamSet 查询参数 * @return List */ - List selectBsTeamSetPage(IPage page, TeamSetVO bsTeamSet); + List selectTeamSetPage(IPage page, TeamSetVO bsTeamSet); /** diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/TeamSetMapper.xml b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/TeamSetMapper.xml index 6653081..394f5ed 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/TeamSetMapper.xml +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/TeamSetMapper.xml @@ -29,7 +29,7 @@ - select * from BS_TEAM_SET where is_deleted = 0 diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java index 905c9ba..dfea78c 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java @@ -31,6 +31,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.scheduling.scheduling.dto.WorkOrderDto; import org.springblade.scheduling.scheduling.entity.WorkOrderEntity; +import org.springblade.scheduling.scheduling.excel.SchedulingBoardExcel; import org.springblade.scheduling.scheduling.excel.WorkOrderExcel; import org.springblade.scheduling.scheduling.vo.WorkOrderVO; @@ -73,4 +74,6 @@ public interface WorkOrderMapper extends BaseMapper { List selectEquip(); + List exportSchedulingBoard(WorkOrderDto workOrderDto); + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml index 1f59ae2..afb3852 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml @@ -178,4 +178,48 @@ FROM MES_EQUIPMENT + + diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/YieldOrderMapper.xml b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/YieldOrderMapper.xml index e028f8b..a7a36c3 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/YieldOrderMapper.xml +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/YieldOrderMapper.xml @@ -93,7 +93,7 @@ LEFT JOIN MES_YIELD_ORDER b ON a.YO_ID = b.ID WHERE a.WORK_CENTER_ID IN ( '122', '162', '184' ) - AND b.STATUS = 3 + AND b.STATUS = 10003 ORDER BY b.WORK_CENTER_ID, b.PRIORITY_APS diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/ITeamSetService.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/ITeamSetService.java index 52bcbab..6b0d326 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/ITeamSetService.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/ITeamSetService.java @@ -48,7 +48,7 @@ public interface ITeamSetService extends BaseService { * @param bsTeamSet 查询参数 * @return IPage */ - IPage selectBsTeamSetPage(IPage page, TeamSetVO bsTeamSet); + IPage selectTeamSetPage(IPage page, TeamSetVO bsTeamSet); /** diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java index a8c192b..1a80808 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java @@ -30,6 +30,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import org.springblade.scheduling.scheduling.dto.WorkOrderDto; import org.springblade.scheduling.scheduling.entity.WorkOrderEntity; +import org.springblade.scheduling.scheduling.excel.SchedulingBoardExcel; import org.springblade.scheduling.scheduling.excel.WorkOrderExcel; import org.springblade.scheduling.scheduling.vo.WorkOrderVO; @@ -84,4 +85,6 @@ public interface IWorkOrderService extends BaseService { List selectTeam(); List selectEquip(); + + List exportSchedulingBoard(WorkOrderDto workOrder); } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/TeamSetServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/TeamSetServiceImpl.java index 9c666b4..92f0d9b 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/TeamSetServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/TeamSetServiceImpl.java @@ -51,8 +51,8 @@ public class TeamSetServiceImpl extends BaseServiceImpl selectBsTeamSetPage(IPage page, TeamSetVO bsTeamSet) { - return page.setRecords(baseMapper.selectBsTeamSetPage(page, bsTeamSet)); + public IPage selectTeamSetPage(IPage page, TeamSetVO bsTeamSet) { + return page.setRecords(baseMapper.selectTeamSetPage(page, bsTeamSet)); } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java index e432b0a..e1643f0 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java @@ -41,6 +41,7 @@ import org.springblade.core.tool.utils.DateUtil; import org.springblade.desk.order.pojo.enums.YieldOrderEnum; import org.springblade.scheduling.scheduling.dto.WorkOrderDto; import org.springblade.scheduling.scheduling.entity.*; +import org.springblade.scheduling.scheduling.excel.SchedulingBoardExcel; import org.springblade.scheduling.scheduling.excel.WorkOrderExcel; import org.springblade.scheduling.scheduling.mapper.WorkOrderMapper; import org.springblade.scheduling.scheduling.service.*; @@ -202,11 +203,14 @@ public class WorkOrderServiceImpl extends BaseServiceImpl exportSchedulingBoard(WorkOrderDto workOrder) { + return baseMapper.exportSchedulingBoard(workOrder); + } + void calculateCr(List list) { //查询订单下的工序,计算cr值 for (YieldOrderEntity entity : list) { @@ -325,7 +334,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workCenterList = craftList.stream().filter(item -> item.getWorkCenterId() != null).map(YieldOrderCraftEntity::getWorkCenterId).collect(Collectors.toList()); if(workCenterList.size() != craftList.size()){ order.setErrorInfo("工序信息不完整,含有未匹配作业中心的工序"); - order.setStatus(6); + order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCategory()); yieldOrderService.updateById(order); continue; } @@ -344,7 +353,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl equipAbilityList = equipAbilityService.list(Wrappers.lambdaQuery().in(EquipAbilityEntity::getWorkCenterId, craft.getWorkCenterId()).eq(EquipAbilityEntity::getCraftId,craft.getCaId())); if(CollectionUtils.isEmpty(equipAbilityList)){ order.setErrorInfo("设备未匹配到对应的设备能力"); - order.setStatus(6); + order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCategory()); yieldOrderService.updateById(order); isSchecuding = false; break; @@ -358,7 +367,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl equipResourceList = equipResourceService.list(Wrappers.lambdaQuery().eq(EquipResourceEntity::getCraftId,craft.getCaId()).eq(EquipResourceEntity::getWorkCenterId,craft.getWorkCenterId()).ge(EquipResourceEntity::getStartTime, dateTime).eq(EquipResourceEntity::getIsUsed, 0).in(EquipResourceEntity::getEquipOrder, entry.getKey())); if(CollectionUtils.isEmpty(equipResourceList)){ - order.setStatus(6); + order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCategory()); order.setErrorInfo("工序:"+craft.getPpsId()+"未匹配到对应的设备资源"); yieldOrderService.updateById(order); isSchecuding = false; @@ -475,22 +484,25 @@ public class WorkOrderServiceImpl extends BaseServiceImpl ppsIds = Arrays.asList(Long.valueOf(10),Long.valueOf(21)); //镀后检验和镀后接收先按半小时计算 if(ability != null){ - if(ppsIds.contains(craft.getPpsId())){ + if("镀后检验".equals(ability.getProcessName()) || "镀后接收".equals(ability.getProcessName())){ totalTime = BigDecimal.valueOf(30); workPlan.setStartTime(prevProcessEnd.plusMinutes(30)); workPlan.setEndTime(prevProcessEnd.plusMinutes(60)); - if(craft.getPpsId() == 10){ + if("镀后接收".equals(ability.getProcessName())){ workPlan.setMakeTeam(Long.valueOf(64)); } - if(craft.getPpsId() == 21){ + if("镀后检验".equals(ability.getProcessName())){ workPlan.setMakeTeam(Long.valueOf(65)); } prevProcessEnd = workPlan.getEndTime(); }else{ - totalTime = totalTime.add(BigDecimal.valueOf(order.getYpQty()).multiply(personAbilityMap.get(craft.getWorkCenterId() + "-" + craft.getPpsId() + "-" + craft.getCaId()).getStandardTime()).add(personAbilityMap.get(craft.getWorkCenterId() + "-" + craft.getPpsId() + "-" + craft.getCaId()).getPrepareTime())); + if("0".equals(ability.getType())){ + totalTime = totalTime.add(BigDecimal.valueOf(order.getYpQty()).multiply(ability.getStandardTime()).add(ability.getPrepareTime())); + }else{ + totalTime = totalTime.add(ability.getStandardTime()).add(ability.getPrepareTime()); + } } @@ -561,6 +573,12 @@ public class WorkOrderServiceImpl extends BaseServiceImpl { workPlanEntity.setWoId(workOrder.getId()); workPlanService.save(workPlanEntity); }); + for(int i=0;i