From d8d129a2e41f7099968cb4f4dc1b028ab985135f Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期四, 16 十一月 2023 20:20:47 +0800
Subject: [PATCH] Changes14

---
 mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java |  102 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 101 insertions(+), 1 deletions(-)

diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java
index 82fe12b..eec8bd8 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java
@@ -17,6 +17,7 @@
 
 package com.chinaztt.mes.basic.controller;
 
+import cn.hutool.core.text.csv.CsvReadConfig;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -24,18 +25,28 @@
 import com.chinaztt.mes.basic.entity.Part;
 import com.chinaztt.mes.basic.excel.PartData;
 import com.chinaztt.mes.basic.excel.PartUploadListener;
+import com.chinaztt.mes.basic.mapper.PartMapper;
 import com.chinaztt.mes.basic.service.PartService;
+import com.chinaztt.mes.basic.util.DictUtils;
+import com.chinaztt.mes.basic.util.PartUtils;
+import com.chinaztt.mes.basic.vo.PartVo;
+import com.chinaztt.mes.common.util.JsonUtil;
 import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
 import com.chinaztt.ztt.admin.api.entity.SysDictItem;
 import com.chinaztt.ztt.admin.api.feign.RemoteDictService;
 import com.chinaztt.ztt.common.core.util.R;
 import com.chinaztt.ztt.common.log.annotation.SysLog;
 import com.chinaztt.ztt.common.security.annotation.Inner;
+import com.chinaztt.ztt.common.security.util.SecurityUtils;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -60,6 +71,37 @@
 	private final RemoteDictService remoteDictService;
 	private final RedisTemplate redisTemplate;;
 
+	private DictUtils dictUtils;
+	private PartUtils partUtils;
+
+	private PartMapper partMapper;
+
+	private final static Logger logger = LoggerFactory.getLogger(PartController.class);
+
+
+	@Autowired
+	private ThreadPoolTaskExecutor threadPoolTaskExecutor;
+
+
+	@ApiOperation(value = "瑙﹀彂闆朵欢", notes = "瑙﹀彂闆朵欢")
+	@SysLog("瑙﹀彂闆朵欢")
+	@PostMapping("/triggerAdd")
+	@Inner(value = false)
+	public R triggerAdd(@RequestParam String params) {
+		PartVo partVo = JSONObject.parseObject(params, PartVo.class);
+		R<Object> objectR = new R<>();
+		if(partService.triggerAdd(partVo).equals("1")){
+			objectR.setCode(1);
+			objectR.setMsg("鎿嶄綔鎴愬姛");
+		}else {
+			objectR.setCode(0);
+			objectR.setMsg("鎿嶄綔澶辫触锛佽仈绯讳汉鍛樻煡鐪嬫棩蹇楋紒");
+		}
+		return objectR;
+	}
+
+
+
 	/**
 	 * 鍒嗛〉鏌ヨ
 	 *
@@ -72,6 +114,9 @@
 	@GetMapping("/page")
 	@PreAuthorize("@pms.hasPermission('basic_part_view')")
 	public R getPartPage(Page page, Part part, Long bomId) {
+		//System.out.println(bomId);
+		//System.out.println(part);
+		System.out.println(JsonUtil.jsonToString(page));
 		return R.ok(partService.getPartPage(page, QueryWrapperUtil.gen(part), bomId));
 	}
 	/**
@@ -88,6 +133,25 @@
 		}
 		partService.syncPart();
 		return R.ok();
+	}
+
+	//@InitBinder
+	//protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {
+	//	//System.out.println(request.getParameter("date"));
+	//	DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+	//	CustomDateEditor editor = new CustomDateEditor(df, true);//true琛ㄧず鍏佽涓虹┖锛宖alse鍙嶄箣
+	//	binder.registerCustomEditor(Date.class, editor);
+	//}
+
+	@ApiOperation(value = "鍚屾Ifs", notes = "鍚屾Ifs")
+	@PostMapping("/syncNewIfs")
+	//@XxlJob("syncPart")
+	public R syncNewIfs(String date) {
+		String key = "syncPart_lock"+ SecurityUtils.getUser().getId();
+		if (redisTemplate.hasKey(key)) {
+			throw new RuntimeException("鏈夊悓姝ヤ换鍔℃鍦ㄥ鐞�");
+		}
+		return R.ok(partService.syncNewIfs(date));
 	}
 	/**
 	 * 鍒嗛〉鏌ヨ宸插叧鑱旀娴嬫ā鏉跨殑闆朵欢
@@ -106,7 +170,7 @@
 	/**
 	 * 鏍规嵁闆朵欢鍙峰拰闆朵欢鎻忚堪鏌ヨ搴撳瓨淇℃伅鎺ュ彛
 	 *
-	 * @param part 闆朵欢
+	 * @param  闆朵欢
 	 * @return
 	 */
 	@ApiOperation(value = "鏍规嵁闆朵欢鍙峰拰闆朵欢鎻忚堪鏌ヨ搴撳瓨淇℃伅鎺ュ彛", notes = "鏍规嵁闆朵欢鍙峰拰闆朵欢鎻忚堪鏌ヨ搴撳瓨淇℃伅鎺ュ彛")
@@ -281,4 +345,40 @@
 	public R getRoutingPartPage(Page page, Part part, Long bomId) {
 		return R.ok(partService.getRoutingPartPage(page, QueryWrapperUtil.gen(part), bomId));
 	}
+
+	@PostMapping("/uploadExcel")
+	public R uploadExcel(MultipartFile file) {
+		String key = "syncPart_lock" + SecurityUtils.getUser().getId();
+		if (redisTemplate.hasKey(key)) {
+			throw new RuntimeException("鏈夊鍏ヤ换鍔℃鍦ㄥ鐞�");
+		}
+		partService.asyncUploadExcel(file);
+		return R.ok();
+	}
+
+	/**
+	 * 璁剧疆Csv璇绘枃浠堕厤缃�
+	 * @return CsvWriteConfig
+	 */
+	public static CsvReadConfig setCsvReadConfig(){
+		CsvReadConfig csvReadConfig = new CsvReadConfig();
+		// 璁剧疆 鏂囨湰鍒嗛殧绗︼紝鏂囨湰鍖呰绗︼紝榛樿鍙屽紩鍙�'"'
+		//csvReadConfig.setTextDelimiter('\t');
+		// 瀛楁鍒嗗壊绗﹀彿锛岄粯璁や负閫楀彿
+		csvReadConfig.setFieldSeparator('|');
+		// 璁剧疆娉ㄩ噴绗﹀彿
+		// csvReadConfig.setCommentCharacter('#');
+		// CSV鏂囦欢鏄惁鍖呭惈琛ㄥご(鍥犱负琛ㄥご涓嶆槸鏁版嵁鍐呭)
+		csvReadConfig.setContainsHeader(true);
+		// 鎴栬�呬娇鐢ㄥ涓嬮厤缃缃〃澶村紑濮嬭鍙凤紝-1L浠h〃鏃犺〃澶�
+		// csvReadConfig.setHeaderLineNo(1L);
+		//璁剧疆寮�濮嬬殑琛岋紙鍖呮嫭锛夛紝榛樿0锛屾澶勪负鍘熷鏂囦欢琛屽彿
+		// csvReadConfig.setBeginLineNo(0);
+		// 鏄惁璺宠繃绌虹櫧琛岋紝榛樿涓簍rue
+		// csvReadConfig.setSkipEmptyRows(true);
+		// 璁剧疆姣忚瀛楁涓暟涓嶅悓鏃舵槸鍚︽姏鍑哄紓甯革紝榛樿false
+		// csvReadConfig.setErrorOnDifferentFieldCount(false);
+		return csvReadConfig;
+	}
+
 }

--
Gitblit v1.9.3