|
|
@@ -36,6 +36,7 @@ import com.uas.platform.b2c.prod.commodity.util.GoodsUtil;
|
|
|
import com.uas.platform.b2c.prod.commodity.util.SheetUtil;
|
|
|
import com.uas.platform.b2c.prod.product.common.service.CreateNumberService;
|
|
|
import com.uas.platform.b2c.prod.product.kind.dao.KindInfoDao;
|
|
|
+import com.uas.platform.b2c.prod.product.kind.model.KindInfo;
|
|
|
import com.uas.platform.b2c.prod.store.model.StoreIn;
|
|
|
import com.uas.platform.b2c.prod.store.model.StoreStatus;
|
|
|
import com.uas.platform.b2c.prod.store.service.StoreInService;
|
|
|
@@ -184,7 +185,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
|
|
|
int blankNum = 0;
|
|
|
if (headerRow != null) {
|
|
|
// 验证模板是否为商城模板
|
|
|
- validateTemplate(headerRow, colNum, currency, isAPerson);
|
|
|
+ validateTemplate(headerRow, colNum, currency, isAPerson, isPcb);
|
|
|
for (int r = 2; r <= rowNum; r++) {
|
|
|
Row row = sheet.getRow(r);
|
|
|
// 英文品牌名称
|
|
|
@@ -696,8 +697,9 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
|
|
|
* @param headerRow 首行
|
|
|
* @param colNum 总列
|
|
|
* @param currency 币别
|
|
|
+ * @param isPcb 是否pcb模块
|
|
|
*/
|
|
|
- private void validateTemplate(Row headerRow, int colNum, String currency, boolean isAPerson) {
|
|
|
+ private void validateTemplate(Row headerRow, int colNum, String currency, boolean isAPerson, boolean isPcb) {
|
|
|
if (isAPerson) {
|
|
|
if (colNum == UploadConstant.MAX_TOTAL_COLUMN_PERSON) {
|
|
|
Cell errorCell = headerRow.getCell(UploadConstant.MAX_TOTAL_COLUMN_PERSON - 1);
|
|
|
@@ -719,8 +721,8 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
|
|
|
throw new IllegalOperatorException("您上传的信息列信息不正确,请与模板的列做比较");
|
|
|
}
|
|
|
} else {
|
|
|
- if (colNum == UploadConstant.MAX_TOTAL_COLUMN) {
|
|
|
- Cell errorCell = headerRow.getCell(UploadConstant.MAX_TOTAL_COLUMN - 1);
|
|
|
+ if (colNum == (isPcb ? UploadConstant.MAX_TOTAL_COLUMN_PCB : UploadConstant.MAX_TOTAL_COLUMN)) {
|
|
|
+ Cell errorCell = headerRow.getCell(isPcb ? UploadConstant.MAX_TOTAL_COLUMN_PCB - 1 : UploadConstant.MAX_TOTAL_COLUMN - 1);
|
|
|
Object errorCellObj = readWorkBookCell(errorCell, Cell.CELL_TYPE_STRING, 0, 0);
|
|
|
String errorHead = StringUtilB2C.replaceLineBreak(String.valueOf(errorCellObj));
|
|
|
if (StringUtils.isEmpty(errorHead) || !("错误提示".equals(errorHead))) {
|
|
|
@@ -982,6 +984,12 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
|
|
|
aProduct.setKindByExcel(kindValue);
|
|
|
// pcb模块判断类目是否为商城标准pcb类目
|
|
|
if (isPcb && !StringUtils.isEmpty(aProduct.getKindName())) {
|
|
|
+ KindInfo kindInfo = kindInfoDao.findByNameCn(aProduct.getKindName());
|
|
|
+ if (kindInfo != null && kindInfo.getId() != null && (kindInfoDao.existsChildByParentId(UploadConstant.PCB_PARENTID, kindInfo.getId()) > 0)) {
|
|
|
+ aProduct.setKindUuid(kindInfo.getId());
|
|
|
+ } else {
|
|
|
+ aProduct.setErrmsg(ErrorInfoConstant.KIND_UNSTANDARD.getInfo());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
Object codeValue = readWorkBookCell(row.getCell(UploadConstant.PRODUCT_CODE), Cell.CELL_TYPE_STRING,
|
|
|
@@ -1053,6 +1061,26 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
|
|
|
if (aProduct.getCode() != null && aProduct.getBrandNameEn() != null && aProduct.getTag() != null) {
|
|
|
resetTag(aProduct);
|
|
|
}
|
|
|
+
|
|
|
+ // 如果是pcb模块,解析尺寸、颜色、铜厚、厚度
|
|
|
+ if (isPcb) {
|
|
|
+ Object sizeValue = readWorkBookCell(row.getCell(UploadConstant.SIZE), Cell.CELL_TYPE_STRING,
|
|
|
+ rowNum, UploadConstant.SIZE);
|
|
|
+ aProduct.setSizeByExcel(sizeValue);
|
|
|
+
|
|
|
+ Object colorValue = readWorkBookCell(row.getCell(UploadConstant.COLOR), Cell.CELL_TYPE_STRING,
|
|
|
+ rowNum, UploadConstant.COLOR);
|
|
|
+ aProduct.setColorByExcel(colorValue);
|
|
|
+
|
|
|
+ Object thickCopperValue = readWorkBookCell(row.getCell(UploadConstant.THICK_COPPER), Cell.CELL_TYPE_STRING,
|
|
|
+ rowNum, UploadConstant.THICK_COPPER);
|
|
|
+ aProduct.setThickCopperByExcel(thickCopperValue);
|
|
|
+
|
|
|
+ Object thickValue = readWorkBookCell(row.getCell(UploadConstant.THICK), Cell.CELL_TYPE_STRING,
|
|
|
+ rowNum, UploadConstant.THICK);
|
|
|
+ aProduct.setThickByExcel(thickValue);
|
|
|
+ }
|
|
|
+
|
|
|
} else {
|
|
|
Object packageMethodValue = readWorkBookCell(row.getCell(UploadConstant.SPECIFICATION), Cell.CELL_TYPE_STRING,
|
|
|
rowNum, UploadConstant.SPECIFICATION);
|