From 812aa8b242b320fd8087ede8cb689c5ee167bf08 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 08 九月 2025 11:17:32 +0800
Subject: [PATCH] 增加mes派工报表

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/controller/TaskDispatchStatController.java |   47 +++++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.java         |   16 +++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/TaskDispatchStatService.java       |   67 +++++++++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispathStatQueryVO.java             |   29 +++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.xml          |   27 +++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispatchStatVO.java                 |   61 ++++++++++++
 6 files changed, 247 insertions(+), 0 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/controller/TaskDispatchStatController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/controller/TaskDispatchStatController.java
new file mode 100644
index 0000000..93c117b
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/controller/TaskDispatchStatController.java
@@ -0,0 +1,47 @@
+package org.springblade.mdm.statreport.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.usermodel.DateUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.DateTimeUtil;
+import org.springblade.mdm.flow.service.FlowCommonService;
+import org.springblade.mdm.flow.vo.DispathTaskQueryVO;
+import org.springblade.mdm.statreport.service.ApproveTableService;
+import org.springblade.mdm.statreport.service.TaskDispatchStatService;
+import org.springblade.mdm.statreport.vo.TaskDispatchStatVO;
+import org.springblade.mdm.statreport.vo.TaskDispathStatQueryVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.time.LocalDateTime;
+
+@Slf4j
+@RestController
+@AllArgsConstructor
+@RequestMapping("/statreport/taskdispatch")
+@Tag(name = "mes娲惧伐缁熻", description = "mes娲惧伐缁熻")
+public class TaskDispatchStatController {
+
+	@Autowired
+	private FlowCommonService flowCommonService;
+	@Autowired
+	private ApproveTableService approveTableService;
+
+	private final TaskDispatchStatService taskDispatchStatService;
+	@Operation(summary = "浠诲姟璁″垝缁熻", description = "浠诲姟璁″垝缁熻")
+	@GetMapping("/page")
+	public R<IPage<TaskDispatchStatVO>> dispatchPage(TaskDispathStatQueryVO queryVO) {
+		if(queryVO.getCreateTimeEnd()!=null){
+			queryVO.setCreateTimeEnd(queryVO.getCreateTimeEnd().plusDays(1));
+		}
+		return R.data(taskDispatchStatService.dispatchPage(queryVO));
+	}
+
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.java
new file mode 100644
index 0000000..14b544e
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.java
@@ -0,0 +1,16 @@
+package org.springblade.mdm.statreport.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.mp.mapper.BladeMapper;
+import org.springblade.mdm.flow.entity.TaskDispatch;
+import org.springblade.mdm.flow.vo.DispathTaskQueryVO;
+import org.springblade.mdm.statreport.vo.TaskDispatchStatVO;
+import org.springblade.mdm.statreport.vo.TaskDispathStatQueryVO;
+
+import java.util.List;
+
+public interface TaskDispatchStatMapper{
+
+	IPage<TaskDispatchStatVO> pageQuery(@Param("page")IPage<TaskDispatchStatVO> page, @Param("query") TaskDispathStatQueryVO queryVO);
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.xml
new file mode 100644
index 0000000..7d6c0f2
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/mapper/TaskDispatchStatMapper.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.mdm.statreport.mapper.TaskDispatchStatMapper">
+
+    <select id="pageQuery" resultType="org.springblade.mdm.statreport.vo.TaskDispatchStatVO">
+        select t.drawing_no,t.process_no,t.process_edition,t.create_time,n.update_time cure_time
+        from mdm_task_dispatch t
+        left join mdm_nc_node n
+            on t.drawing_no=n.drawing_no and t.process_no=n.process_no and t.process_edition=n.process_edition
+                   and n.is_deleted=0 and n.is_cured=1 and n.node_type='60'
+        <where>
+            t.is_deleted=0 and t.status=2 and (t.deviation is null or t.deviation='')
+            <if test="query.drawingNo != null and query.drawingNo!=''">
+                <bind name="drawingNo" value="'%'+query.drawingNo+'%'"/>
+                and t.drawing_no like #{drawingNo}
+            </if>
+            <if test="query.createTimeBegin != null">
+                and n.create_time&gt;=#{query.createTimeBegin}
+            </if>
+            <if test="query.createTimeEnd != null">
+                and n.create_time&lt;=#{query.createTimeEnd}
+            </if>
+        </where>
+    </select>
+
+
+</mapper>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/TaskDispatchStatService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/TaskDispatchStatService.java
new file mode 100644
index 0000000..a1b7036
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/TaskDispatchStatService.java
@@ -0,0 +1,67 @@
+
+package org.springblade.mdm.statreport.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.usermodel.DateUtil;
+import org.jetbrains.annotations.NotNull;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.oss.OssTemplate;
+import org.springblade.core.tool.api.R;
+import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.basesetting.machine.service.MachineService;
+import org.springblade.mdm.commons.service.ParamService;
+import org.springblade.mdm.commons.service.UserCommonService;
+import org.springblade.mdm.flow.constants.FlowContants;
+import org.springblade.mdm.flow.entity.TaskDispatch;
+import org.springblade.mdm.flow.service.ApproveInfoQueryService;
+import org.springblade.mdm.flow.service.FlowProgramProperties;
+import org.springblade.mdm.flow.service.TaskDispatchService;
+import org.springblade.mdm.flow.vo.ApproveTableInfo;
+import org.springblade.mdm.flow.vo.DispathTaskQueryVO;
+import org.springblade.mdm.statreport.mapper.TaskDispatchStatMapper;
+import org.springblade.mdm.statreport.utils.WordReplaceUtil;
+import org.springblade.mdm.statreport.vo.TaskDispatchStatVO;
+import org.springblade.mdm.statreport.vo.TaskDispathStatQueryVO;
+import org.springblade.system.feign.IUserClient;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.time.LocalDateTime;
+import java.util.*;
+
+/**
+ * 瀹℃壒璁板綍锛岀敤浜庢煡璇㈡墽琛岃建杩�
+ *
+ * @author yangys
+ */
+@Slf4j
+@Service
+public class TaskDispatchStatService {
+	@Autowired
+	private UserCommonService userCommonService;
+	@Autowired
+	private MachineService machineService;
+	@Autowired
+	private TaskDispatchService taskDispatchService;
+
+	@Autowired
+	private TaskDispatchStatMapper taskDispatchStatMapper;
+
+
+	@Autowired
+	private ParamService paramService;
+
+	public IPage<TaskDispatchStatVO> dispatchPage(TaskDispathStatQueryVO queryVO) {
+
+		IPage<TaskDispatchStatVO> voPage = taskDispatchStatMapper.pageQuery(Condition.getPage(queryVO),queryVO);
+
+		return voPage;
+	}
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispatchStatVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispatchStatVO.java
new file mode 100644
index 0000000..f3ce80d
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispatchStatVO.java
@@ -0,0 +1,61 @@
+package org.springblade.mdm.statreport.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.mdm.commons.vo.BaseVO;
+
+import java.util.Date;
+
+/**
+ * 浠诲姟娲惧伐鍙戣捣鐨勬暟鎹�
+ */
+@Setter
+@Getter
+public class TaskDispatchStatVO extends BaseVO {
+
+	/**
+	 * 璁惧缂栧彿
+	 */
+	private String machineCode;
+	/**
+	 * 宸ュ簭鍚嶇О锛屽鈥滅簿閾b��
+	 */
+	//private String processName;
+
+	/**
+	 * 宸ュ簭鐗堟
+	 */
+	private String processEdition;
+	/**
+	 * 绋嬪簭鏂囦欢鑺傜偣鐨勬暟鎹�
+	 */
+	private String processNo;
+	/**
+	 * 宸ヨ壓鐗堟
+	 */
+	private String craftEdition;
+	/**
+	 * 闆剁粍浠跺彿/鍥惧彿
+	 */
+	private String drawingNo;
+	/**
+	 * 鍥惧彿鐗堟
+	 */
+	private String drawingNoEdition;
+
+	/**
+	 * 浜у搧鍨嬪彿
+	 */
+	private String productModel;
+
+
+	/**
+	 * 绋嬪簭缂栧彿
+	 */
+	private String programNo;
+
+	/**
+	 * 鍥哄寲鏃堕棿
+	 */
+	private Date cureTime;
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispathStatQueryVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispathStatQueryVO.java
new file mode 100644
index 0000000..19d583b
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/vo/TaskDispathStatQueryVO.java
@@ -0,0 +1,29 @@
+package org.springblade.mdm.statreport.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.core.mp.support.Query;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
+import java.util.Date;
+
+/**
+ * 鍒嗛〉鎷嗙嚎鍛�
+ */
+
+@Schema(description = "浠诲姟璁″垝缁熻鏌ヨVO")
+@Setter
+@Getter
+public class TaskDispathStatQueryVO extends Query {
+	@Schema(description = "闆剁粍浠跺彿")
+	private String drawingNo;
+	@Schema(description = "涓嬪彂鏃堕棿寮�濮�")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	private LocalDate createTimeBegin;
+
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	@Schema(description = "涓嬪彂鏃堕棿鎴")
+	private LocalDate createTimeEnd;
+}

--
Gitblit v1.9.3