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/machine/MachineService.java |   97 +++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 78 insertions(+), 19 deletions(-)

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 2c46bf8..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,53 +2,117 @@
 
 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;
+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.entity.Machine;
-import org.springblade.mdm.basesetting.machine.entity.MachineSpec;
 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;
-import org.springframework.util.FileSystemUtils;
+import org.springframework.web.multipart.MultipartFile;
 
-import java.io.File;
 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;
 
 @Service
 public class MachineService extends BizServiceImpl<MachineMapper, Machine> {
-
+	@Autowired
+	private ISysClient sysClient;
+	@Autowired
+	private MdmDeptService mdmDeptService;
 	@Transactional
 	public void saveMachine(MachineSaveVO vo){
-		//TODO
+		checkMachine(vo);
+		if(existsByCode(vo.getCode(),null)){
+			throw new ServiceException("鏈哄簥缂栫爜宸插瓨鍦�:"+vo.getCode());
+		}
+
 		Machine machine = new Machine();
 		BeanUtil.copyProperties(vo, machine);
+		machine.setId(null);
 		this.save(machine);
 	}
 
+	/**
+	 * 妫�鏌ユ満搴婂綍鍏ユ暟鎹�
+	 * @param vo 褰曞叆鐨勮〃鍗曟暟鎹甐O
+	 */
+	void checkMachine(MachineSaveVO vo){
+		if(Func.isEmpty(vo.getCode())){
+			throw new ServiceException("鏈哄簥缂栫爜涓嶈兘涓虹┖");
+		}
+
+		if(Func.isEmpty(vo.getName())){
+			throw new ServiceException("鏈哄簥绫诲瀷涓嶈兘涓虹┖");
+		}
+
+		if(Func.isEmpty(vo.getMachineGroupCode())){
+			throw new ServiceException("鎵�灞炵粍缁囦笉鑳戒负绌�");
+		}
+
+		if(Func.isEmpty(vo.getMachineSpec())){
+			throw new ServiceException("鏈哄簥绫诲瀷涓嶈兘涓虹┖");
+		}
+	}
+
+	/**
+	 * 鏍规嵁鏈哄簥缂栫爜鍒ゆ柇鏈哄簥鏄惁瀛樺湪
+	 * @param code 鏈哄簥缂栫爜
+	 * @param excludeId 鎺掗櫎id
+	 * @return 鏄惁瀛樺湪
+	 */
+	boolean existsByCode(String code,Long excludeId){
+		return this.lambdaQuery().eq(Machine::getCode, code).ne(excludeId!=null,Machine::getId, excludeId).count()>0;
+	}
+
 	public boolean updateMachine(MachineSaveVO vo) {
+
+		checkMachine(vo);
+		if(existsByCode(vo.getCode(),vo.getId())){
+			throw new ServiceException("鏈哄簥缂栫爜宸插瓨鍦�:"+vo.getCode());
+		}
+
 		Machine machine = this.getById(vo.getId());
 
 		machine.setMachineSpec(vo.getMachineSpec());
+		machine.setCode(vo.getCode());
 		machine.setName(vo.getName());
 		machine.setMachineGroupCode(vo.getMachineGroupCode());
 		machine.setManufacturer(vo.getManufacturer());
 		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());
 		machine.setStatus(vo.getStatus());
 		machine.setRemark(vo.getRemark());
+		machine.setSendDirExpiryHours(vo.getSendDirExpiryHours());
+		machine.setReceiveDirExpiryHours(vo.getReceiveDirExpiryHours());
 
 		return this.updateById(machine);
 	}
@@ -63,19 +127,13 @@
 	 */
 	public IPage<MachineVO> pageQuery(MachineQueryVO query) {
 
-		LambdaQueryWrapper<Machine> queryWrapper = new LambdaQueryWrapper<>();
-		queryWrapper.eq(query.getMachineGroupCode()!=null, Machine::getMachineGroupCode, query.getMachineGroupCode());
-		IPage<MachineVO> page = this.getBaseMapper().pageQuery(Condition.getPage(query),queryWrapper);
-
-		//MachineSpec.valueOf()
-		for (MachineVO record : page.getRecords()) {
-			if(record.getMachineSpec() != null){
-				MachineSpec spec = MachineSpec.valueOf(record.getMachineSpec());
-				record.setMachineSpecName(spec.getText());
+		if (query.getDeptId() != null) {
+			R<Dept> rs = sysClient.getDept(query.getDeptId());
+			if(rs.isSuccess()){
+				query.setDeptAncestors(rs.getData().getAncestors()+","+rs.getData().getId());
 			}
-
 		}
-		return page;
+		return this.getBaseMapper().pageQuery(Condition.getPage(query), query);
 	}
 
 	/**
@@ -140,7 +198,8 @@
 	 * @return
 	 */
 	public Machine getByCode(String machineCode) {
-
-		return this.getOne(this.lambdaQuery().eq(Machine::getCode, machineCode));
+		return this.lambdaQuery().eq(Machine::getCode, machineCode).one();
 	}
+
+
 }

--
Gitblit v1.9.3