From 538857185263f29b325de9a34ae066c21b7cd371 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 22 八月 2025 11:33:37 +0800
Subject: [PATCH] 全部提交

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/entity/MdmDept.java             |  100 +++++++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.java               |   10 
 doc/sql/mdm/mdm.mysql.all.create.sql                                                                                  |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineExcel.java                    |   69 +++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineSaveVO.java                   |   19 +-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileController.java       |    5 
 blade-service/blade-mdm/pom.xml                                                                                       |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/MdmDeptMapper.java       |   16 +
 doc/mdm/qinzhetemplate.xlsx                                                                                           |    0 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/controller/MachineController.java       |   26 --
 /dev/null                                                                                                             |   52 -----
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/MdmDeptService.java     |   35 +++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/MachineService.java                     |   24 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineImportService.java       |  121 +++++++++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/MdmDeptMapper.xml        |   19 ++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java                      |    6 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java |    7 
 17 files changed, 404 insertions(+), 109 deletions(-)

diff --git a/blade-service/blade-mdm/pom.xml b/blade-service/blade-mdm/pom.xml
index 13d00bb..8756645 100644
--- a/blade-service/blade-mdm/pom.xml
+++ b/blade-service/blade-mdm/pom.xml
@@ -79,11 +79,13 @@
             <artifactId>tika-core</artifactId>
             <version>3.2.0</version>
         </dependency>
+        <!--
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-devtools</artifactId>
             <optional>true</optional>
         </dependency>
+        -->
         <dependency>
             <groupId>org.springblade</groupId>
             <artifactId>blade-core-test</artifactId>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/MachineService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/MachineService.java
index 0f9d47c..8cfa102 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/MachineService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/MachineService.java
@@ -2,6 +2,8 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BizServiceImpl;
 import org.springblade.core.mp.support.Condition;
@@ -10,11 +12,19 @@
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.basesetting.machine.mapper.MachineMapper;
+import org.springblade.mdm.basesetting.machine.vo.MachineExcel;
 import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
 import org.springblade.mdm.basesetting.machine.vo.MachineSaveVO;
 import org.springblade.mdm.basesetting.machine.vo.MachineVO;
+import org.springblade.mdm.basesetting.producedivision.entity.MdmDept;
+import org.springblade.mdm.basesetting.producedivision.entity.ProduceDivision;
+import org.springblade.mdm.basesetting.producedivision.service.MdmDeptService;
+import org.springblade.mdm.basesetting.producedivision.vo.DivisionExcel;
+import org.springblade.mdm.basesetting.producedivision.vo.ImportResult;
+import org.springblade.mdm.basesetting.producedivision.vo.QinzheFgbExcel;
 import org.springblade.system.feign.ISysClient;
 import org.springblade.system.pojo.entity.Dept;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -25,11 +35,15 @@
 import java.nio.file.InvalidPathException;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
 
 @Service
 public class MachineService extends BizServiceImpl<MachineMapper, Machine> {
 	@Autowired
 	private ISysClient sysClient;
+	@Autowired
+	private MdmDeptService mdmDeptService;
 	@Transactional
 	public void saveMachine(MachineSaveVO vo){
 		checkMachine(vo);
@@ -92,7 +106,6 @@
 		machine.setOperator(vo.getOperator());
 		machine.setControlSystem(vo.getControlSystem());
 		machine.setOwnerDept(vo.getOwnerDept());
-		machine.setPollingHours(vo.getPollingHours());
 		machine.setProgSendDir(vo.getProgSendDir());
 		machine.setProgReceiveDir(vo.getProgReceiveDir());
 		machine.setProgTempDir(vo.getProgTempDir());
@@ -120,9 +133,7 @@
 				query.setDeptAncestors(rs.getData().getAncestors()+","+rs.getData().getId());
 			}
 		}
-		IPage<MachineVO> page = this.getBaseMapper().pageQuery(Condition.getPage(query), query);
-
-		return page;
+		return this.getBaseMapper().pageQuery(Condition.getPage(query), query);
 	}
 
 	/**
@@ -190,8 +201,5 @@
 		return this.lambdaQuery().eq(Machine::getCode, machineCode).one();
 	}
 
-	@Transactional
-	public String importMachines(MultipartFile file) {
-		return "";//瀵煎叆鎴愬姛锛岀粰绌轰覆锛岄儴鍒嗕笉鎴愬姛缁欐彁绀�
-	}
+
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/controller/MachineController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/controller/MachineController.java
index 34c1a5e..ac15873 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/controller/MachineController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/controller/MachineController.java
@@ -1,31 +1,21 @@
 package org.springblade.mdm.basesetting.machine.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-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 lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
 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.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.basesetting.machine.MachineService;
-import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO;
+import org.springblade.mdm.basesetting.machine.service.MachineImportService;
+import org.springblade.mdm.basesetting.machine.vo.MachineExcel;
 import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
 import org.springblade.mdm.basesetting.machine.vo.MachineSaveVO;
 import org.springblade.mdm.basesetting.machine.vo.MachineVO;
-import org.springblade.mdm.program.vo.MdmProgramImportVO;
-import org.springblade.system.pojo.entity.User;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -33,7 +23,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 @Slf4j
 @RestController
@@ -43,7 +32,8 @@
 
 	@Autowired
 	private MachineService service;
-
+	@Autowired
+	private MachineImportService machineImportService;
 	/**
 	 * 鏂板
 	 */
@@ -79,7 +69,7 @@
 	@Operation(summary = "鏈哄簥瀵煎叆", description = "鏈哄簥瀵煎叆锛屽叏閮ㄦ垚鍔熻繑鍥炵┖涓诧紝閮ㄥ垎鎴愬姛杩斿洖鍏蜂綋淇℃伅")
 	public R<String> importMachines(@RequestParam MultipartFile file) {
 		try {
-			return R.data(service.importMachines(file));
+			return R.data(machineImportService.importMachines(file));
 		}catch (Exception e){
 			log.error("瀵煎叆閿欒",e);
 			return R.fail(e.getMessage());
@@ -118,14 +108,14 @@
 		query.setSize(Integer.MAX_VALUE);
 		IPage<MachineVO> pages = service.pageQuery(query);
 
-		List<MachineExcelVO> list = new ArrayList<>();
+		List<MachineExcel> list = new ArrayList<>();
 		pages.getRecords().forEach(m ->{
-			MachineExcelVO excelVO = new MachineExcelVO();
+			MachineExcel excelVO = new MachineExcel();
 			BeanUtils.copyProperties(m, excelVO);
 			list.add(excelVO);
 		});
 
-		ExcelUtil.export(response, "鏈哄簥鏁版嵁" + DateUtil.time(), "鏈哄簥鏁版嵁琛�", list, MachineExcelVO.class);
+		ExcelUtil.export(response, "鏈哄簥鏁版嵁" + DateUtil.time(), "鏈哄簥鏁版嵁琛�", list, MachineExcel.class);
 	}
 
 	@Operation(summary = "浜х敓鏈哄簥鍥炰紶缁撴瀯鏍�", description = "浜х敓鏈哄簥鍥炰紶缁撴瀯鏍�")
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.java
index 8b96067..5a6f6bf 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.java
@@ -1,9 +1,6 @@
 package org.springblade.mdm.basesetting.machine.mapper;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Param;
 import org.springblade.core.mp.mapper.BladeMapper;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
@@ -12,6 +9,11 @@
 
 public interface MachineMapper extends BladeMapper<Machine> {
 
+	/**
+	 * 鏈哄簥鍒嗛〉鏌ヨ
+	 * @param page 鍒嗛〉淇℃伅
+	 * @param query 鏌ヨ鍙傛暟
+	 * @return 鍒嗛〉鏁版嵁
+	 */
 	IPage<MachineVO> pageQuery(IPage<Machine> page, @Param("query") MachineQueryVO query);
-	//pageMachine
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineImportService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineImportService.java
new file mode 100644
index 0000000..1c8c364
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineImportService.java
@@ -0,0 +1,121 @@
+package org.springblade.mdm.basesetting.machine.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.jsonwebtoken.lang.Collections;
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.mp.base.BizServiceImpl;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.basesetting.machine.MachineService;
+import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.basesetting.machine.mapper.MachineMapper;
+import org.springblade.mdm.basesetting.machine.vo.MachineExcel;
+import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
+import org.springblade.mdm.basesetting.machine.vo.MachineSaveVO;
+import org.springblade.mdm.basesetting.machine.vo.MachineVO;
+import org.springblade.mdm.basesetting.producedivision.entity.MdmDept;
+import org.springblade.mdm.basesetting.producedivision.entity.ProduceDivision;
+import org.springblade.mdm.basesetting.producedivision.service.MdmDeptService;
+import org.springblade.mdm.basesetting.producedivision.vo.ImportResult;
+import org.springblade.system.feign.IDictBizClient;
+import org.springblade.system.feign.ISysClient;
+import org.springblade.system.pojo.entity.Dept;
+import org.springblade.system.pojo.entity.DictBiz;
+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.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.InvalidPathException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+@Service
+public class MachineImportService extends BizServiceImpl<MachineMapper, Machine> {
+	@Autowired
+	private ISysClient sysClient;
+	@Autowired
+	private IDictBizClient dictBizClient;
+	@Autowired
+	private MdmDeptService mdmDeptService;
+	@Autowired
+	private MachineService machineService;
+	@Transactional
+	public String importMachines(MultipartFile file) {
+		List<MachineExcel> list = ExcelUtil.read(file, MachineExcel.class);
+		return "";//瀵煎叆鎴愬姛锛岀粰绌轰覆锛岄儴鍒嗕笉鎴愬姛缁欐彁绀�
+	}
+
+	@Transactional
+	ImportResult transAndSave(List<MachineExcel> list){
+		//machine_spec
+			//machine_control_system
+		//machine_control_system
+		R<List<DictBiz>> machineSpecListRes = dictBizClient.getList("machine_spec");
+		List<DictBiz> machineSpecList = machineSpecListRes.isSuccess() ? machineSpecListRes.getData() : Collections.emptyList();
+
+		R<List<DictBiz>> machineSystemRes = dictBizClient.getList("machine_control_system");
+		List<DictBiz> machineSystemList = machineSystemRes.isSuccess() ? machineSystemRes.getData() : Collections.emptyList();
+
+		R<List<DictBiz>> machineGroupRes = dictBizClient.getList("machine_group");
+		List<DictBiz>  machineGroupList = machineGroupRes.isSuccess() ? machineGroupRes.getData() : Collections.emptyList();
+		DictBiz emptyDit = new DictBiz();
+
+		List<Machine> entityList = new ArrayList<>();
+		MdmDept ownerDept;
+		ImportResult ir = new ImportResult();
+		int failCount = 0;
+		int successCount = 0;
+		StringBuilder msg = new StringBuilder();
+		for(MachineExcel excelVO : list){
+			Machine machine = new Machine();
+
+			BeanUtils.copyProperties(excelVO, machine);
+			ownerDept = mdmDeptService.getByName(excelVO.getOwnerDeptName());
+			if(ownerDept != null){
+				machine.setOwnerDept(ownerDept.getId());
+			}
+			//绫诲瀷
+			Optional<DictBiz> specOpt = machineSpecList.stream().filter(s -> StringUtils.equals(s.getDictValue(),excelVO.getMachineSpecName())).findFirst();
+			machine.setMachineSpec(specOpt.orElse(emptyDit).getDictKey());
+			//绯荤粺
+			Optional<DictBiz> sysOpt = machineSystemList.stream().filter(s -> StringUtils.equals(s.getDictValue(),excelVO.getControlSystemName())).findFirst();
+			machine.setControlSystem(sysOpt.orElse(emptyDit).getDictKey());
+
+			//鏈哄簥缁�
+			Optional<DictBiz> groupOpt = machineGroupList.stream().filter(s -> StringUtils.equals(s.getDictValue(),excelVO.getMachineGroupName())).findFirst();
+			machine.setControlSystem(groupOpt.orElse(emptyDit).getDictKey());
+
+			//entityList.add(machine);
+			Machine oriMachine = machineService.getByCode(machine.getCode());
+
+			if(oriMachine != null){
+				msg.append(machine.getCode()).append("鏈哄簥缂栫爜閲嶅:").append(machine.getCode());
+				failCount ++;
+			}
+
+			machineService.save(machine);
+			successCount ++;
+		}
+
+		ir.setFailure(failCount);
+		ir.setSuccess(successCount);
+
+		if(ir.getFailure()==0){
+			ir.setMessage("瀵煎叆鎴愬姛");
+		}else{
+			ir.setMessage(msg.toString());
+		}
+		return ir;
+	}
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineExcel.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineExcel.java
new file mode 100644
index 0000000..e085a04
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineExcel.java
@@ -0,0 +1,69 @@
+package org.springblade.mdm.basesetting.machine.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+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;
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class MachineExcel {
+
+	@ColumnWidth(20)
+	@ExcelProperty("鏈哄簥缂栧彿")
+	private String code;
+
+	@ExcelProperty("鏈哄簥鍨嬪彿")
+	private String name;
+	@ExcelIgnore
+	@ExcelProperty("鏈哄簥缁�")
+	private String machineGroupCode;
+	@ExcelProperty("鏈哄簥缁�")
+	private String machineGroupName;
+	/**
+	 * 鏈哄櫒绫诲瀷(瑙勬牸):01杞﹀簥/02閾e簥,鍦ㄤ笟鍔″瓧鍏搁厤缃紙key=machine_spec锛�
+	 */
+	@ExcelProperty("鏈哄簥绫诲瀷")
+	private String machineSpecName;
+
+
+	@ExcelProperty("鎿嶄綔鍛�")
+	private String operator;
+
+	@ExcelIgnore
+	@ExcelProperty("鎵�灞炲崟浣峣d")
+	private Long ownerDept;
+
+	@ExcelProperty("鎵�灞炲崟浣�")
+	private String ownerDeptName;
+
+	@ExcelProperty("鐢熶骇鍟�")
+	private String manufacturer;
+
+	@ExcelIgnore
+	@ExcelProperty("鎺у埗绯荤粺瀛楀吀key")
+	private String controlSystem;
+	@ExcelProperty("鎺у埗绯荤粺")
+	private String controlSystemName;
+
+	@Schema(description = "绋嬪簭涓存椂鐩綍")
+	private String progTempDir;
+
+	@ExcelProperty("绋嬪簭涓嬪彂鐩綍")
+	private String progSendDir;
+
+	@Schema(description = "SND鏂囦欢澶逛繚鎸佹椂闂�(灏忔椂)")
+	private Integer sendDirExpiryHours;
+
+	@ExcelProperty("绋嬪簭鍥炰紶鐩綍")
+	private String progReceiveDir;
+	@Schema(description = "RECEIVE鏂囦欢澶逛繚鎸佹椂闂�(灏忔椂)")
+	private Integer receiveDirExpiryHours;
+
+	@ExcelProperty("澶囨敞")
+	private String remark;
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineExcelVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineExcelVO.java
deleted file mode 100644
index 92a7613..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineExcelVO.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.springblade.mdm.basesetting.machine.vo;
-
-import lombok.Data;
-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;
-@Data
-@ColumnWidth(25)
-@HeadRowHeight(20)
-@ContentRowHeight(18)
-public class MachineExcelVO {
-
-	@ColumnWidth(20)
-	@ExcelProperty("鏈哄簥缂栧彿")
-	private String code;
-
-	@ExcelProperty("鏈哄簥鍨嬪彿")
-	private String name;
-
-	@ExcelProperty("鏈哄簥缁勭紪鍙�")
-	private String machineGroupCode;
-	/**
-	 * 鏈哄櫒瑙勬牸:01杞﹀簥/02閾e簥,鍦ㄤ笟鍔″瓧鍏搁厤缃紙key=machine_spec锛�
-	 */
-	@ExcelProperty("鏈哄簥瑙勬牸")
-	private String machineSpec;
-
-	@ExcelProperty("鎿嶄綔鍛�")
-	private String operator;
-
-	@ExcelProperty("鎵�灞炲崟浣岻D")
-	private Long ownerDept;
-
-	@ExcelProperty("鐢熶骇鍟�")
-	private String manufacturer;
-
-	@ExcelProperty("杞鏃堕棿")
-	private Integer pollingHours;
-
-	@ExcelProperty("鎺у埗绯荤粺")
-	private String controlSystem;
-
-	@ExcelProperty("绋嬪簭涓嬪彂鐩綍")
-	private String progSendDir;
-
-	@ExcelProperty("绋嬪簭鍥炰紶鐩綍")
-	private String progReceiveDir;
-
-	@ExcelProperty("澶囨敞")
-	private String remark;
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineSaveVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineSaveVO.java
index c1ee382..1bd2f10 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineSaveVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineSaveVO.java
@@ -22,34 +22,35 @@
 	@Schema(description = "鎿嶄綔鍛�(鏂囨湰褰曞叆)")
 	private String operator;
 
-	@Schema(description = "鎵�灞炲崟浣�")
+	@Schema(description = "鎵�灞炵粍缁�")
 	private Long ownerDept;
 
 	@Schema(description = "鐢熶骇鍟�")
 	private String manufacturer;
 
-	@Schema(description = "杞鏃堕棿")
-	private Integer pollingHours;
 
 	@Schema(description = "鎺у埗绯荤粺")
 	private String controlSystem;
+
+	@Schema(description = "鐘舵��")
+	private String statusName;
+
+	@Schema(description = "绋嬪簭涓存椂鐩綍")
+	private String progTempDir;
 	/**
 	 * 绋嬪簭涓嬪彂鐩綍
 	 */
+	@Schema(description = "绋嬪簭鍥炰紶鐩綍")
 	private String progSendDir;
-	/**
-	 * ',
-	 */
+
 	@Schema(description = "绋嬪簭鍥炰紶鐩綍")
 	private String progReceiveDir;
-	@Schema(description = "绋嬪簭涓存椂鐩綍")
-	private String progTempDir;
+
 	@Schema(description = "澶囨敞")
 	private String remark;
 
 	@Schema(description = "send鏂囦欢澶逛繚鎸佹椂闂� 灏忔椂")
 	private Integer sendDirExpiryHours;
-
 
 	@Schema(description = "receive鏂囦欢澶逛繚鎸佹椂闂� 灏忔椂")
 	private Integer receiveDirExpiryHours;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/entity/MdmDept.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/entity/MdmDept.java
new file mode 100644
index 0000000..9273250
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/entity/MdmDept.java
@@ -0,0 +1,100 @@
+
+package org.springblade.mdm.basesetting.producedivision.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 瀹炰綋绫�
+ *
+ * @author Chill
+ */
+@Data
+@TableName("blade_dept")
+@Schema(description = "Dept瀵硅薄")
+public class MdmDept implements Serializable {
+
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 涓婚敭
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	@Schema(description = "涓婚敭")
+	@TableId(value = "id", type = IdType.ASSIGN_ID)
+	private Long id;
+
+	/**
+	 * 绉熸埛ID
+	 */
+	@Schema(description = "绉熸埛ID")
+	private String tenantId;
+
+	/**
+	 * 鐖朵富閿�
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	@Schema(description = "鐖朵富閿�")
+	private Long parentId;
+
+	/**
+	 * 鏈烘瀯鍚�
+	 */
+	@Schema(description = "鏈烘瀯鍚�")
+	private String deptName;
+
+	/**
+	 * 鏈烘瀯鍏ㄧО
+	 */
+	@Schema(description = "鏈烘瀯鍏ㄧО")
+	private String fullName;
+
+	/**
+	 * 绁栫骇鏈烘瀯涓婚敭
+	 */
+	@Schema(description = "绁栫骇鏈烘瀯涓婚敭")
+	private String ancestors;
+
+	/**
+	 * 鏈烘瀯绫诲瀷
+	 */
+	@Schema(description = "鏈烘瀯绫诲瀷")
+	private Integer deptCategory;
+
+	/**
+	 * 鎺掑簭
+	 */
+	@Schema(description = "鎺掑簭")
+	private Integer sort;
+
+	/**
+	 * 澶囨敞
+	 */
+	@Schema(description = "澶囨敞")
+	private String remark;
+
+	/**
+	 * 涓氬姟鐘舵��
+	 */
+	@Schema(description = "涓氬姟鐘舵��")
+	private Integer status;
+
+	/**
+	 * 鏄惁宸插垹闄�
+	 */
+	@TableLogic
+	@Schema(description = "鏄惁宸插垹闄�")
+	private Integer isDeleted;
+
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/MdmDeptMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/MdmDeptMapper.java
new file mode 100644
index 0000000..ccee408
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/MdmDeptMapper.java
@@ -0,0 +1,16 @@
+
+package org.springblade.mdm.basesetting.producedivision.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.mdm.basesetting.producedivision.entity.MdmDept;
+
+/**
+ * DeptMapper 鎺ュ彛
+ *
+ * @author yangsy
+ */
+public interface MdmDeptMapper extends BaseMapper<MdmDept> {
+
+
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/MdmDeptMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/MdmDeptMapper.xml
new file mode 100644
index 0000000..c5cc383
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/MdmDeptMapper.xml
@@ -0,0 +1,19 @@
+<?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.basesetting.producedivision.mapper.MdmDeptMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="deptResultMap" type="org.springblade.mdm.basesetting.producedivision.entity.MdmDept">
+        <id column="id" property="id"/>
+        <result column="parent_id" property="parentId"/>
+        <result column="dept_name" property="deptName"/>
+        <result column="full_name" property="fullName"/>
+        <result column="ancestors" property="ancestors"/>
+        <result column="dept_category" property="deptCategory"/>
+        <result column="sort" property="sort"/>
+        <result column="remark" property="remark"/>
+        <result column="is_deleted" property="isDeleted"/>
+    </resultMap>
+
+
+</mapper>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/MdmDeptService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/MdmDeptService.java
new file mode 100644
index 0000000..2cea087
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/MdmDeptService.java
@@ -0,0 +1,35 @@
+package org.springblade.mdm.basesetting.producedivision.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.basesetting.producedivision.entity.MdmDept;
+import org.springblade.mdm.basesetting.producedivision.mapper.MdmDeptMapper;
+import org.springblade.mdm.commons.service.ParamService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class MdmDeptService extends ServiceImpl<MdmDeptMapper, MdmDept> {
+	@Autowired
+	private ParamService paramService;
+
+	/**
+	 * 鏍规嵁鍚嶇О鑾峰彇閮ㄩ棬
+	 * @param deptName 閮ㄩ棬鍚嶇О
+	 * @return 鍖归厤鐨勯儴闂�
+	 */
+	public MdmDept getByName(String deptName) {
+		MdmDept dept = null;
+		List<MdmDept> depts = this.lambdaQuery().eq(MdmDept::getDeptName, deptName)
+			.eq(MdmDept::getStatus, 1).list();
+		Long userId = null;
+		if (!depts.isEmpty()) {
+			dept = depts.get(0);
+		}
+
+		return dept;
+	}
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java
index dc89527..1a1a0aa 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java
@@ -13,15 +13,11 @@
 import org.flowable.engine.task.Comment;
 import org.flowable.task.api.history.HistoricTaskInstance;
 import org.springblade.core.excel.util.ExcelUtil;
-import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO;
-import org.springblade.mdm.commons.vo.IdsVO;
-import org.springblade.mdm.flow.entity.ApproveRecord;
 import org.springblade.mdm.flow.service.ApproveRecordService;
 import org.springblade.mdm.flow.service.ApproveTableService;
 import org.springblade.mdm.flow.service.FlowBusinessService;
@@ -35,13 +31,11 @@
 import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.web.bind.annotation.*;
 
-import java.io.IOException;
 import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 
 @Slf4j
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileController.java
index c3e55ff..c78ba35 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileController.java
@@ -8,11 +8,6 @@
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
-import org.springblade.core.tool.utils.Func;
-import org.springblade.mdm.basesetting.machine.MachineService;
-import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO;
-import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
-import org.springblade.mdm.basesetting.machine.vo.MachineVO;
 import org.springblade.mdm.gkw.programnode.service.MachineFileService;
 import org.springblade.mdm.machineback.service.MachineBackFileService;
 import org.springblade.mdm.machineback.vo.MachineBackFileExcelVO;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java
index c6f6989..8524996 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java
@@ -16,19 +16,12 @@
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.UrlUtil;
-import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO;
-import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
-import org.springblade.mdm.basesetting.machine.vo.MachineVO;
-import org.springblade.mdm.commons.vo.IdsVO;
 import org.springblade.mdm.gkw.programnode.service.MachineFileService;
 import org.springblade.mdm.machineback.service.MachineBackFileService;
 import org.springblade.mdm.machineback.service.NcProgramExportInnerService;
 import org.springblade.mdm.machineback.vo.MachineBackFileHandleExcelVO;
 import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO;
 import org.springblade.mdm.machineback.vo.MachineBackFileVO;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.IOException;
diff --git a/doc/mdm/qinzhetemplate.xlsx b/doc/mdm/qinzhetemplate.xlsx
new file mode 100644
index 0000000..275d534
--- /dev/null
+++ b/doc/mdm/qinzhetemplate.xlsx
Binary files differ
diff --git a/doc/sql/mdm/mdm.mysql.all.create.sql b/doc/sql/mdm/mdm.mysql.all.create.sql
index 0f7c8bb..a747ce2 100644
--- a/doc/sql/mdm/mdm.mysql.all.create.sql
+++ b/doc/sql/mdm/mdm.mysql.all.create.sql
@@ -30,7 +30,9 @@
   `polling_hours` int(11) COMMENT '妫�鏌ョ▼搴忓洖浼犵殑杞鏃堕棿锛堝皬鏃讹級',
   `control_system` varchar(20) DEFAULT NULL COMMENT '鎺у埗绯荤粺锛堝鍙戦偅绉戯級锛屽湪涓氬姟瀛楀吀閰嶇疆(key=machine_controll_system)锛屼娇鐢ㄨ嫳鏂囧瓧姣�',
   `prog_send_dir` varchar(400)  COMMENT '绋嬪簭涓嬪彂鐩綍',
+  `send_dir_expiry_hours` int NOT NULL DEFAULT 8 COMMENT 'send鏂囦欢澶规枃浠舵湁鏁堟湡锛堝皬鏃�)',
   `prog_receive_dir` varchar(400)  COMMENT '绋嬪簭鍥炰紶鐩綍',
+  `receive_dir_expiry_hours` varchar(255) NOT NULL DEFAULT 8 COMMENT 'receive鏂囦欢澶规枃浠舵湁鏁堟湡锛堝皬鏃讹級',
   `prog_temp_dir` varchar(400)  COMMENT '绋嬪簭闀挎湡瀛樺偍鐩綍',
   `remark` varchar(200)  COMMENT '澶囨敞',
   `status` int DEFAULT NULL COMMENT '涓氬姟鐘舵�侊紝1锛氬惎鐢紱0绂佺敤',

--
Gitblit v1.9.3