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
+
+ SELECT
+ a.WO_CODE as "woCode",
+ a.CARD_NO as "cardNo",
+ a.PART_CODE as "partCode",
+ b.PART_NAME as "partName",
+ a.BATCH_NO as "batchNo",
+ b.product_ident as "productIdent",
+ b.plate as "plate",
+ b.yp_area as "ypArea",
+ a.MAKE_QTY as "makeQty",
+ b.RELEASE_DATE as "releaseDate",
+ d.name as "currentProcess",
+ g.ts_name as "teamName",
+ f.name as "nextProcess",
+ a.PLAN_START_DATE as "planStartDate",
+ a.PLAN_END_DATE as "planEndDate",
+ b.DEMAND_DATE as "demandDate"
+ FROM
+ MES_WORK_ORDER a
+ LEFT JOIN MES_YIELD_ORDER b ON a.YO_ID = b.ID
+ LEFT JOIN MES_WORK_PLAN c ON a.WP_ID = c.ID
+ LEFT JOIN BS_PROCESS_SET d on c.PPS_ID = d.ID
+ LEFT JOIN MES_WORK_PLAN e ON c.NEXT_WP_ID = e.ID
+ LEFT JOIN BS_PROCESS_SET f ON e.PPS_ID = f.ID
+ LEFT JOIN BS_TEAM_SET g on c.MAKE_TEAM = g.ID
+
+ a.is_deleted = 0
+
+ and (to_char(c.start_time,'YYYY-MM-DD') = #{startTime} or (c.start_time to_date(CONCAT(#{startTime},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') and c.end_time ]]> to_date(CONCAT(#{startTime},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS')))
+
+
+ and a.wo_code = #{woCode}
+
+
+ and g.ts_name = #{teamName}
+
+
+ and d.name = #{processName}
+
+
+ order by a.WO_CODE,c.start_time
+
+
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