优化商品导入功能
This commit is contained in:
@@ -287,6 +287,9 @@ public class ExceptionConstants {
|
||||
//商品条码重复
|
||||
public static final int MATERIAL_BARCODE_EXISTS_CODE = 8000005;
|
||||
public static final String MATERIAL_BARCODE_EXISTS_MSG = "商品条码:%s重复";
|
||||
//商品-单位匹配不上
|
||||
public static final int MATERIAL_UNIT_MATE_CODE = 8000006;
|
||||
public static final String MATERIAL_UNIT_MATE_MSG = "抱歉,单位匹配不上,请完善计量单位信息!";
|
||||
/**
|
||||
* 单据信息
|
||||
* type = 85
|
||||
|
||||
@@ -441,6 +441,8 @@ public class MaterialService {
|
||||
|
||||
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
|
||||
public BaseResponseInfo importExcel(Sheet src, HttpServletRequest request) throws Exception {
|
||||
BaseResponseInfo info = new BaseResponseInfo();
|
||||
try {
|
||||
List<Depot> depotList= depotService.getDepot();
|
||||
int depotCount = depotList.size();
|
||||
List<MaterialWithInitStock> mList = new ArrayList<>();
|
||||
@@ -484,7 +486,12 @@ public class MaterialService {
|
||||
if(StringUtil.isNotEmpty(manyUnit.trim())){ //多单位
|
||||
String manyUnitAll = unit + "," + manyUnit + "(1:" + ratio + ")";
|
||||
Long unitId = unitService.getUnitIdByName(manyUnitAll);
|
||||
if(unitId != null) {
|
||||
m.setUnitId(unitId);
|
||||
} else {
|
||||
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_UNIT_MATE_CODE,
|
||||
String.format(ExceptionConstants.MATERIAL_UNIT_MATE_MSG));
|
||||
}
|
||||
JSONObject otherObj = new JSONObject();
|
||||
otherObj.put("barCode", manyBarCode);
|
||||
otherObj.put("commodityUnit", manyUnit);
|
||||
@@ -521,8 +528,6 @@ public class MaterialService {
|
||||
logService.insertLog("商品",
|
||||
new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_IMPORT).append(mList.size()).append(BusinessConstants.LOG_DATA_UNIT).toString(),
|
||||
((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest());
|
||||
BaseResponseInfo info = new BaseResponseInfo();
|
||||
try {
|
||||
Long mId = 0L;
|
||||
for(MaterialWithInitStock m: mList) {
|
||||
//判断该商品是否存在,如果不存在就新增,如果存在就更新
|
||||
@@ -598,6 +603,9 @@ public class MaterialService {
|
||||
}
|
||||
info.code = 200;
|
||||
info.data = "导入成功";
|
||||
} catch (BusinessRunTimeException e) {
|
||||
info.code = e.getCode();
|
||||
info.data = e.getData().get("message");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
info.code = 500;
|
||||
|
||||
@@ -190,7 +190,7 @@ public class UnitService {
|
||||
* @param name
|
||||
*/
|
||||
public Long getUnitIdByName(String name){
|
||||
Long unitId = 0L;
|
||||
Long unitId = null;
|
||||
UnitExample example = new UnitExample();
|
||||
example.createCriteria().andNameEqualTo(name).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED);
|
||||
List<Unit> list = unitMapper.selectByExample(example);
|
||||
|
||||
Reference in New Issue
Block a user