|
@@ -1,7 +1,5 @@
|
|
|
package com.uas.platform.b2c.prod.commodity.service.impl;
|
|
package com.uas.platform.b2c.prod.commodity.service.impl;
|
|
|
|
|
|
|
|
-import static com.uas.platform.b2c.core.utils.NumberUtil.fractionNumCeil;
|
|
|
|
|
-
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.uas.platform.b2c.common.account.model.Enterprise;
|
|
import com.uas.platform.b2c.common.account.model.Enterprise;
|
|
|
import com.uas.platform.b2c.common.account.service.EnterpriseService;
|
|
import com.uas.platform.b2c.common.account.service.EnterpriseService;
|
|
@@ -14,28 +12,9 @@ import com.uas.platform.b2c.core.support.SystemSession;
|
|
|
import com.uas.platform.b2c.core.utils.NumberUtil;
|
|
import com.uas.platform.b2c.core.utils.NumberUtil;
|
|
|
import com.uas.platform.b2c.core.utils.RegexConstant;
|
|
import com.uas.platform.b2c.core.utils.RegexConstant;
|
|
|
import com.uas.platform.b2c.core.utils.StringUtilB2C;
|
|
import com.uas.platform.b2c.core.utils.StringUtilB2C;
|
|
|
-import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.constant.ErrorInfoConstant;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.constant.ModifyConstant;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.constant.ShortConstant;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.constant.UploadConstant;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.PCBDao;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.PcbPropertyvalueDao;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.ProductPersonDao;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.ReleaseProductByBatchDao;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.dao.V_ProductPrivateDao;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.model.Goods;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.model.GoodsQtyPrice;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.model.PCB;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.model.PCBPropertyValue;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.model.Product;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.model.ProductPerson;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.model.ReleaseProductByBatch;
|
|
|
|
|
-import com.uas.platform.b2c.prod.commodity.model.V_ProductPrivate;
|
|
|
|
|
|
|
+import com.uas.platform.b2c.prod.commodity.constant.*;
|
|
|
|
|
+import com.uas.platform.b2c.prod.commodity.dao.*;
|
|
|
|
|
+import com.uas.platform.b2c.prod.commodity.model.*;
|
|
|
import com.uas.platform.b2c.prod.commodity.service.GoodsService;
|
|
import com.uas.platform.b2c.prod.commodity.service.GoodsService;
|
|
|
import com.uas.platform.b2c.prod.commodity.service.ReleaseProductByBatchService;
|
|
import com.uas.platform.b2c.prod.commodity.service.ReleaseProductByBatchService;
|
|
|
import com.uas.platform.b2c.prod.commodity.util.GoodsUtil;
|
|
import com.uas.platform.b2c.prod.commodity.util.GoodsUtil;
|
|
@@ -56,37 +35,11 @@ import com.uas.platform.core.model.PageInfo;
|
|
|
import com.uas.platform.core.persistence.criteria.CriterionExpression;
|
|
import com.uas.platform.core.persistence.criteria.CriterionExpression;
|
|
|
import com.uas.platform.core.persistence.criteria.PredicateUtils;
|
|
import com.uas.platform.core.persistence.criteria.PredicateUtils;
|
|
|
import com.uas.platform.core.persistence.criteria.SimpleExpression;
|
|
import com.uas.platform.core.persistence.criteria.SimpleExpression;
|
|
|
-import java.math.BigDecimal;
|
|
|
|
|
-import java.sql.ResultSet;
|
|
|
|
|
-import java.sql.SQLException;
|
|
|
|
|
-import java.sql.Statement;
|
|
|
|
|
-import java.text.DateFormat;
|
|
|
|
|
-import java.text.SimpleDateFormat;
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.Arrays;
|
|
|
|
|
-import java.util.Collections;
|
|
|
|
|
-import java.util.Comparator;
|
|
|
|
|
-import java.util.Date;
|
|
|
|
|
-import java.util.HashMap;
|
|
|
|
|
-import java.util.HashSet;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
-import java.util.Map;
|
|
|
|
|
-import java.util.Set;
|
|
|
|
|
-import java.util.regex.Matcher;
|
|
|
|
|
-import java.util.regex.Pattern;
|
|
|
|
|
-import javax.persistence.criteria.CriteriaBuilder;
|
|
|
|
|
-import javax.persistence.criteria.CriteriaQuery;
|
|
|
|
|
-import javax.persistence.criteria.Predicate;
|
|
|
|
|
-import javax.persistence.criteria.Root;
|
|
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.collections.map.HashedMap;
|
|
import org.apache.commons.collections.map.HashedMap;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFCell;
|
|
import org.apache.poi.hssf.usermodel.HSSFCell;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
|
|
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
|
|
|
-import org.apache.poi.ss.usermodel.Cell;
|
|
|
|
|
-import org.apache.poi.ss.usermodel.DateUtil;
|
|
|
|
|
-import org.apache.poi.ss.usermodel.Row;
|
|
|
|
|
-import org.apache.poi.ss.usermodel.Sheet;
|
|
|
|
|
-import org.apache.poi.ss.usermodel.Workbook;
|
|
|
|
|
|
|
+import org.apache.poi.ss.usermodel.*;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.dao.DataAccessException;
|
|
import org.springframework.dao.DataAccessException;
|
|
@@ -99,6 +52,22 @@ import org.springframework.ui.ModelMap;
|
|
|
import org.springframework.util.StringUtils;
|
|
import org.springframework.util.StringUtils;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
|
|
|
|
+import javax.persistence.criteria.CriteriaBuilder;
|
|
|
|
|
+import javax.persistence.criteria.CriteriaQuery;
|
|
|
|
|
+import javax.persistence.criteria.Predicate;
|
|
|
|
|
+import javax.persistence.criteria.Root;
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
|
+import java.sql.ResultSet;
|
|
|
|
|
+import java.sql.SQLException;
|
|
|
|
|
+import java.sql.Statement;
|
|
|
|
|
+import java.text.DateFormat;
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
+import java.util.regex.Matcher;
|
|
|
|
|
+import java.util.regex.Pattern;
|
|
|
|
|
+
|
|
|
|
|
+import static com.uas.platform.b2c.core.utils.NumberUtil.fractionNumCeil;
|
|
|
|
|
+
|
|
|
@Service
|
|
@Service
|
|
|
public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchService {
|
|
public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchService {
|
|
|
|
|
|
|
@@ -213,6 +182,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
|
|
|
Row headerRow = sheet.getRow(0);
|
|
Row headerRow = sheet.getRow(0);
|
|
|
int total = 0;
|
|
int total = 0;
|
|
|
int blankNum = 0;
|
|
int blankNum = 0;
|
|
|
|
|
+ long l = System.currentTimeMillis();
|
|
|
if (headerRow != null) {
|
|
if (headerRow != null) {
|
|
|
// 验证模板是否为商城模板
|
|
// 验证模板是否为商城模板
|
|
|
validateTemplate(headerRow, colNum, currency, isAPerson, isPcb);
|
|
validateTemplate(headerRow, colNum, currency, isAPerson, isPcb);
|
|
@@ -252,13 +222,18 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ long l1 = System.currentTimeMillis();
|
|
|
|
|
+ System.err.println("l1--------------l" + (l1 - l));
|
|
|
Long userUU = SystemSession.getUser().getUserUU();
|
|
Long userUU = SystemSession.getUser().getUserUU();
|
|
|
Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
|
List<ReleaseProductByBatch> addList = new ArrayList<>(releaseProductByBatchs.size());
|
|
List<ReleaseProductByBatch> addList = new ArrayList<>(releaseProductByBatchs.size());
|
|
|
addList.addAll(releaseProductByBatchs);
|
|
addList.addAll(releaseProductByBatchs);
|
|
|
commonDao.save(addList, ReleaseProductByBatch.class);
|
|
commonDao.save(addList, ReleaseProductByBatch.class);
|
|
|
|
|
+ long l2 = System.currentTimeMillis();
|
|
|
|
|
+ System.err.println("l2--------------l1" + (l2 - l1));
|
|
|
releaseProductByBatchDao.callReleaseExistValidProcedure(batch, isAPerson, enUU);
|
|
releaseProductByBatchDao.callReleaseExistValidProcedure(batch, isAPerson, enUU);
|
|
|
|
|
+ long l3 = System.currentTimeMillis();
|
|
|
|
|
+ System.err.println("l3--------------l2" + (l3 - l2));
|
|
|
if (isAPerson) {
|
|
if (isAPerson) {
|
|
|
for (ReleaseProductByBatch releaseProductByBatch : addList) {
|
|
for (ReleaseProductByBatch releaseProductByBatch : addList) {
|
|
|
Long productid = releaseProductByBatch.getProductid();
|
|
Long productid = releaseProductByBatch.getProductid();
|
|
@@ -273,16 +248,24 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ Long l4 = 0l;
|
|
|
if (isPcb) {
|
|
if (isPcb) {
|
|
|
releaseProductByBatchDao.callValidProcedurePcb(enUU, batch);
|
|
releaseProductByBatchDao.callValidProcedurePcb(enUU, batch);
|
|
|
} else {
|
|
} else {
|
|
|
releaseProductByBatchDao.callValidProcedure(enUU, batch);
|
|
releaseProductByBatchDao.callValidProcedure(enUU, batch);
|
|
|
|
|
+ l4 = System.currentTimeMillis();
|
|
|
|
|
+ System.err.println("l4--------------l3" + (l4 - l3));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
Integer filter = releaseProductByBatchDao.getCountOfImportFail(userUU, batch, failCode);
|
|
Integer filter = releaseProductByBatchDao.getCountOfImportFail(userUU, batch, failCode);
|
|
|
|
|
+ long l5 = System.currentTimeMillis();
|
|
|
|
|
+ System.err.println("l5--------------l4" + (l5 - l4));
|
|
|
Integer failure = releaseProductByBatchDao.getCountPublisherUuAndBatchAndReleaseCode(userUU, batch, ReleaseStatus.failure.value());
|
|
Integer failure = releaseProductByBatchDao.getCountPublisherUuAndBatchAndReleaseCode(userUU, batch, ReleaseStatus.failure.value());
|
|
|
|
|
+ long l6 = System.currentTimeMillis();
|
|
|
|
|
+ System.err.println("l6--------------l5" + (l6 - l5));
|
|
|
Integer success = releaseProductByBatchDao.getCountPublisherUuAndBatchAndReleaseCode(userUU, batch, ReleaseStatus.success.value());
|
|
Integer success = releaseProductByBatchDao.getCountPublisherUuAndBatchAndReleaseCode(userUU, batch, ReleaseStatus.success.value());
|
|
|
|
|
+ long l7 = System.currentTimeMillis();
|
|
|
|
|
+ System.err.println("l7---------------------------l6" + (l7 - l6));
|
|
|
modelMap.put("total", total);
|
|
modelMap.put("total", total);
|
|
|
modelMap.put("success", success);
|
|
modelMap.put("success", success);
|
|
|
modelMap.put("failure", failure);
|
|
modelMap.put("failure", failure);
|