From 164a53adaed58ad0519bc214b08c0bfb287723f4 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期三, 21 一月 2026 14:40:45 +0800
Subject: [PATCH] 数据导入提交2
---
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java | 285 +++++++++++++++++++++++---------------------------------
1 files changed, 119 insertions(+), 166 deletions(-)
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
index 90d2b62..ed11698 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
@@ -5,13 +5,20 @@
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.data.BaseResp;
import com.fzzy.igds.data.InoutData;
import com.fzzy.igds.data.InoutParam;
+import com.fzzy.igds.domain.InoutNoticeIn;
+import com.fzzy.igds.domain.InoutNoticeOut;
import com.fzzy.igds.domain.InoutRecord;
+import com.fzzy.igds.service.DepotService;
import com.fzzy.igds.service.ExportService;
+import com.fzzy.igds.service.InoutNoticeService;
import com.fzzy.igds.service.InoutRecordService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -30,6 +37,10 @@
private InoutRecordService inoutRecordService;
@Resource
private ExportService exportService;
+ @Resource
+ private InoutNoticeService noticeService;
+ @Resource
+ private DepotService depotService;
/**
* inoutDataPR#pageInoutData
@@ -169,173 +180,115 @@
* @return
*/
@Expose
- public String analysisExcel(String fileName) {
- return "瀵煎叆鍔熻兘寰呬笂绾匡紒锛�";
-// try {
-// List<InoutRecord> inoutRecords = exportService.readExcel(fileName);
-// if (null == inoutRecords || inoutRecords.isEmpty()) {
-// return "瀵煎叆澶辫触锛屽師鍥�-->鏈幏鍙栧埌excel涓枃妗f暟鎹紒";
-// }
-//
-//
-// for (InoutRecord inoutRecord : inoutRecords) {
-//
-// //TODO 鍒ゆ柇鏁版嵁鏄惁姝e父鏁版嵁锛屾甯稿垯鏂板锛屽紓甯稿垯蹇界暐
-// //璁剧疆鏁版嵁鐘舵�佸強娴佺▼
-// inoutRecord.setRecordStatus(Constant.RECORD_STATUS_ADD);
-// inoutRecord.setProgress(Constant.PROGRESS_RECORD);
-//
-// inoutRecord.setCompleteTime(new Date());
-//
-//
-// inoutRecord.setRegisterTime(DateUtils.addHours(new Date(), -2));
-//
-//
-//
-//
-// inoutRecordService.addInoutRecord(inoutRecord);
-// }
-//
-//
-//
-//
-// return null;
-// } catch (Exception e) {
-// return "瀵煎叆澶辫触锛屽師鍥�-->" + e.getMessage();
-// }
+ public BaseResp analysisExcel(String fileName) {
+ try {
+ List<InoutRecord> inoutRecords = exportService.readExcel(fileName);
+ if (null == inoutRecords || inoutRecords.isEmpty()) {
+ return BaseResp.error("瀵煎叆澶辫触锛屽師鍥�-->鏈幏鍙栧埌excel涓枃妗f暟鎹紒");
+ }
-// // 璇诲彇鐨凟xcel鏂囦欢鏁版嵁
-// List<NoticeInData> readResult = readExcel(fileName);
-// if (null == readResult) {
-// return new PageResponse<String>(RespCodeEnum.CODE_1111.getCode(),
-// "瀵煎叆澶辫触锛氭病鏈夎В鏋愬埌鏂囦欢涓暟鎹紒");
-// }
-//
-// // 鏌ヨ鍒扮殑鎵�鏈変緵搴斿晢淇℃伅
-// InoutParam param = new InoutParam();
-// param.setTagSupplier(Constant.TR_TRUE + "");
-// List<InoutCustomer> allCustomer = inoutCommonService.listCustomer(param);
-//
-// //鏂板缓浠诲姟瀛樻斁闆嗗悎
-// List<NoticeInData> newCustomerTaskList = new ArrayList<>();
-// Map<String, NoticeInData> newMap = new HashMap<>();
-//
-// //瀛樻斁缂栫爜鍜屽悕绉颁笉涓�鑷寸殑淇℃伅
-// StringBuilder stringBuilder = new StringBuilder();
-//
-// //鐢╰empFlag鍦ㄥ悗闈㈡潵鍒ゆ柇瑙f瀽鍒扮殑瀹㈡埛鏄惁鍦ㄥ鎴疯〃涓瓨鍦�
-// boolean tempFlag;
-//
-// int max = 0;
-// for (NoticeInData noticeInData : readResult) {
-// //鑾峰彇瀹㈡埛浠诲姟鏁版嵁涓殑瀹㈡埛鍚嶇О鍜岀紪鐮�
-// String customerName = noticeInData.getCustomerName();
-// String customerId = noticeInData.getCustomerId();
-// //鍒ゆ柇缂栫爜鏄惁涓虹┖,涓虹┖鍒欑粰鍑烘彁绀�,涓嶈繘琛屾搷浣�
-// if(StringUtils.isEmpty(customerName)){
-// stringBuilder.append("瀹㈡埛鈥�").append(customerName).append("鈥欎俊鎭笉瀹屾暣锛屼笉瀵煎叆姝ゆ潯鏁版嵁锛沑n");
-// continue;
-// }
-//
-// tempFlag = true;
-//
-// for (InoutCustomer customer : allCustomer) {
-// //鑾峰彇渚涘簲鍟嗗悕绉板拰缂栫爜
-// String name = customer.getName();
-// String id = customer.getId();
-// //鍒ゆ柇鍚嶇О鏄惁鐩稿悓
-// if(customerName.equals(name)){
-// //鍚嶇О鐩稿悓锛屽垯瀹㈡埛鍦ㄨ〃涓瓨鍦�
-// tempFlag = false;
-// //鍒ゆ柇缂栫爜鏄惁鐩稿悓
-// if(StringUtils.isEmpty(customerId) || !id.equals(customerId)){
-//
-// noticeInData.setCustomerId(id);
-// }
-// noticeInData.setCompanyId(customer.getCompanyId());
-// //韬唤璇佸彿
-// if(StringUtils.isEmpty(noticeInData.getCardId())){
-// noticeInData.setCardId(customer.getCardId());
-// }
-// //鍦板潃
-// if(StringUtils.isEmpty(noticeInData.getAddress())){
-// noticeInData.setAddress(customer.getAddress());
-// }
-// //鐢佃瘽
-// if(StringUtils.isEmpty(noticeInData.getPhone())){
-// noticeInData.setPhone(customer.getPhone());
-// }
-// //涓�鍗¢�氬彿
-// if(StringUtils.isEmpty(noticeInData.getBankNum())){
-// noticeInData.setBankNum(customer.getBankNum());
-// }
-// }
-// }
-//
-// if(tempFlag){
-// if(max == 0){
-// max = Integer.parseInt(inoutCommonService.getMaxCustomerId(null));
-// }
-// max += 1;
-// noticeInData.setCustomerId(max + "");
-// }
-//
-// newCustomerTaskList.add(noticeInData);
-//
-// newMap.putIfAbsent(noticeInData.getCustomerName(), noticeInData);
-// }
-//
-// //鏇存柊瀹㈡埛淇℃伅琛�
-// if(newMap.size() > 0){
-// for (NoticeInData noticeInData : newMap.values()) {
-// int i = inoutCommonService.updateCustomer(noticeInData);
-// if (i == 0) {
-// //璇存槑娌℃湁鏇存柊鍒板鎴蜂俊鎭紝杩涜鏂板
-// InoutCustomer data = new InoutCustomer();
-// data.setId(noticeInData.getCustomerId());
-// data.setName(noticeInData.getCustomerName());
-// data.setCardId(noticeInData.getCardId());
-// data.setBankNum(noticeInData.getBankNum());
-// data.setAddress(noticeInData.getAddress());
-// data.setPhone(noticeInData.getPhone());
-// data.setTagSupplier(Constant.TR_TRUE + "");
-// customerService.saveOrUpdataData(data);
-// }
-// }
-// }
-//
-// //鍒ゆ柇浠诲姟闆嗗悎鏄惁涓虹┖
-// if (newCustomerTaskList.isEmpty()) {
-// return new PageResponse<String>(RespCodeEnum.CODE_1111.getCode(),
-// "瀵煎叆澶辫触锛乗n" + stringBuilder.toString());
-// } else {
-// //鏇存柊浠诲姟琛�
-// int temp = 1;
-// for (NoticeInData noticeInData : newCustomerTaskList) {
-// //璁剧疆瀹㈡埛閫氱煡鍗曠殑缁勭粐缂栫爜绛変俊鎭�
-// noticeInData.setCompanyId(ContextUtil.getCompanyId());
-// noticeInData.setDeptId(ContextUtil.subDeptId(null));
-// noticeInData.setCreateUser(ContextUtil.getLoginUserCName());
-// if(temp < 10){
-// noticeInData.setId(ContextUtil.getTimeId() + "00" + temp);
-// }else if(temp < 100){
-// noticeInData.setId(ContextUtil.getTimeId() + "0" + temp);
-// }else {
-// noticeInData.setId(ContextUtil.getTimeId() + temp);
-// }
-//
-// //鏇存柊瀹㈡埛浠诲姟淇℃伅,濡傛灉鏇存柊澶辫触,鍒欒繘琛屾彃鍏ユ搷浣�
-// inoutCommonService.updateNoticeIn(noticeInData);
-// temp += 1;
-// }
-// if(StringUtils.isEmpty(stringBuilder.toString())){
-// return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), "鏁版嵁鍏ㄩ儴瀵煎叆鎴愬姛锛�");
-// }else {
-// String message = "鏁版嵁閮ㄥ垎瀵煎叆鎴愬姛锛乗n"+ stringBuilder.toString();
-// return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), message);
-// }
-//
-// }
+ //鍒ゆ柇鏁版嵁瀹屾暣鎬�
+ boolean addTag = false;
+ int hour = 10;
+ int min = 10;
+
+ for (InoutRecord inoutRecord : inoutRecords) {
+ //璁剧疆鏁版嵁鐘舵�佸強娴佺▼
+ inoutRecord.setRecordStatus(Constant.RECORD_STATUS_ADD);
+ inoutRecord.setProgress(Constant.PROGRESS_RECORD);
+
+ //鏍¢獙閫氱煡鍗�
+ String noticeId = inoutRecord.getNoticeId();
+ if(StringUtils.isBlank(noticeId)){
+ addTag = true;
+ break;
+ }
+ if(noticeId.startsWith("RK_")){
+ InoutNoticeIn noticeInOne = noticeService.getNoticeInOne(noticeId);
+ if(null == noticeInOne){
+ addTag = true;
+ break;
+ }
+ inoutRecord.setDeptId(noticeInOne.getDeptId());
+ }
+ if(noticeId.startsWith("CK_")){
+ InoutNoticeOut noticeOut = noticeService.getNoticeOutOne(noticeId);
+ if(null == noticeOut){
+ addTag = true;
+ break;
+ }
+ inoutRecord.setDeptId(noticeOut.getDeptId());
+ }
+
+ //鏍¢獙浠撳簱
+ String depotName = inoutRecord.getDepotId();
+ if(StringUtils.isBlank(depotName)){
+ addTag = true;
+ break;
+ }
+ //鏍规嵁浠撳簱鍚嶇О鑾峰彇浠撳簱缂栫爜
+ String depotId = depotService.getDepotId(inoutRecord.getDeptId(), depotName);
+ if(StringUtils.isBlank(depotId)){
+ addTag = true;
+ break;
+ }
+ inoutRecord.setDepotId(depotId);
+
+ //鏍¢獙鏃ユ湡鏄惁瀹屾暣
+ String plateNum = inoutRecord.getPlateNum();
+ if(null == plateNum){
+ addTag = true;
+ break;
+ }
+ inoutRecord.setPlateNum(plateNum);
+
+ //鏍¢獙鏃ユ湡鏄惁瀹屾暣
+ Date registerTime = inoutRecord.getRegisterTime();
+ if(null == registerTime){
+ addTag = true;
+ break;
+ }
+
+ //璁剧疆鐧昏銆佺О閲嶃�佸畬鎴愭椂闂�
+ String time = DateFormatUtils.format(registerTime, "yyyy-MM-dd");
+ if(min >= 60){
+ min = 10;
+ hour ++;
+ }
+ time += " " + hour + ":" + min + ":00";
+ inoutRecord.setRegisterTime(DateUtils.parseDate(time,"yyyy-MM-dd HH:mm:ss"));
+ if(Constant.TYPE_IN.equals(inoutRecord.getType())){
+ inoutRecord.setFullWeightTime(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 3));
+ inoutRecord.setHandleEnd(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 30));
+ inoutRecord.setEmptyWeightTime(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 50));
+ }
+ if(Constant.TYPE_OUT.equals(inoutRecord.getType())){
+ inoutRecord.setEmptyWeightTime(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 3));
+ inoutRecord.setHandleEnd(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 30));
+ inoutRecord.setFullWeightTime(DateUtils.addMinutes(inoutRecord.getRegisterTime(), 50));
+ }
+ inoutRecord.setCompleteTime(DateUtils.addHours(inoutRecord.getRegisterTime(), 1));
+
+ inoutRecord.setCompanyId(ContextUtil.getCompanyId());
+ min ++;
+ }
+
+ if(addTag){
+ return BaseResp.error("瀵煎叆澶辫触锛屽師鍥�-->鏁版嵁鏍¢獙澶辫触锛岃鏍告煡鏁版嵁<鏃ユ湡銆佺被鍨嬨�佽溅鐗屻�侀�氱煡鍗曘�佷粨搴撱�佸搧绉嶇瓑淇℃伅>锛侊紒锛�");
+ }
+
+ //鏂板鏁版嵁
+ String msg = inoutRecordService.addInoutRecordList(inoutRecords);
+
+ if(null == msg){
+ return BaseResp.success("瀵煎叆鎴愬姛锛屽叡璁″鍏�" + inoutRecords.size() + "鏉℃暟鎹紒" );
+ }else {
+ return BaseResp.error(msg);
+ }
+ } catch (Exception e) {
+ return BaseResp.error("瀵煎叆澶辫触锛屽師鍥�-->" + e.getMessage());
+ }
+
}
}
--
Gitblit v1.9.3