给商品条码增加重复校验
This commit is contained in:
@@ -284,6 +284,9 @@ public class ExceptionConstants {
|
|||||||
//商品库存不足
|
//商品库存不足
|
||||||
public static final int MATERIAL_STOCK_NOT_ENOUGH_CODE = 8000004;
|
public static final int MATERIAL_STOCK_NOT_ENOUGH_CODE = 8000004;
|
||||||
public static final String MATERIAL_STOCK_NOT_ENOUGH_MSG = "商品:%s库存不足";
|
public static final String MATERIAL_STOCK_NOT_ENOUGH_MSG = "商品:%s库存不足";
|
||||||
|
//商品条码重复
|
||||||
|
public static final int MATERIAL_BARCODE_EXISTS_CODE = 8000005;
|
||||||
|
public static final String MATERIAL_BARCODE_EXISTS_MSG = "商品条码:%s重复";
|
||||||
/**
|
/**
|
||||||
* 单据信息
|
* 单据信息
|
||||||
* type = 85
|
* type = 85
|
||||||
|
|||||||
@@ -81,4 +81,27 @@ public class MaterialExtendController {
|
|||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/checkIsBarCodeExist")
|
||||||
|
public BaseResponseInfo checkIsBarCodeExist(@RequestParam("id") Long id,
|
||||||
|
@RequestParam("barCode") String barCode,
|
||||||
|
HttpServletRequest request)throws Exception {
|
||||||
|
BaseResponseInfo res = new BaseResponseInfo();
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
try {
|
||||||
|
int exist = materialExtendService.checkIsBarCodeExist(id, barCode);
|
||||||
|
if(exist > 0) {
|
||||||
|
map.put("status", true);
|
||||||
|
} else {
|
||||||
|
map.put("status", false);
|
||||||
|
}
|
||||||
|
res.code = 200;
|
||||||
|
res.data = map;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
res.code = 500;
|
||||||
|
res.data = "获取数据失败";
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ public class MaterialService {
|
|||||||
if(materials!=null && materials.size()>0) {
|
if(materials!=null && materials.size()>0) {
|
||||||
mId = materials.get(0).getId();
|
mId = materials.get(0).getId();
|
||||||
}
|
}
|
||||||
materialExtendService.saveDetials(obj, obj.getString("sortList"), mId);
|
materialExtendService.saveDetials(obj, obj.getString("sortList"), mId, "insert");
|
||||||
if(obj.get("stock")!=null) {
|
if(obj.get("stock")!=null) {
|
||||||
JSONArray stockArr = obj.getJSONArray("stock");
|
JSONArray stockArr = obj.getJSONArray("stock");
|
||||||
for (int i = 0; i < stockArr.size(); i++) {
|
for (int i = 0; i < stockArr.size(); i++) {
|
||||||
@@ -190,7 +190,11 @@ public class MaterialService {
|
|||||||
logService.insertLog("商品",
|
logService.insertLog("商品",
|
||||||
new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_ADD).append(m.getName()).toString(), request);
|
new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_ADD).append(m.getName()).toString(), request);
|
||||||
return 1;
|
return 1;
|
||||||
}catch(Exception e){
|
}
|
||||||
|
catch (BusinessRunTimeException ex) {
|
||||||
|
throw new BusinessRunTimeException(ex.getCode(), ex.getMessage());
|
||||||
|
}
|
||||||
|
catch(Exception e){
|
||||||
JshException.writeFail(logger, e);
|
JshException.writeFail(logger, e);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -204,7 +208,7 @@ public class MaterialService {
|
|||||||
if(material.getUnitId() == null) {
|
if(material.getUnitId() == null) {
|
||||||
materialMapperEx.setUnitIdToNull(material.getId());
|
materialMapperEx.setUnitIdToNull(material.getId());
|
||||||
}
|
}
|
||||||
materialExtendService.saveDetials(obj, obj.getString("sortList"),material.getId());
|
materialExtendService.saveDetials(obj, obj.getString("sortList"),material.getId(), "update");
|
||||||
if(obj.get("stock")!=null) {
|
if(obj.get("stock")!=null) {
|
||||||
JSONArray stockArr = obj.getJSONArray("stock");
|
JSONArray stockArr = obj.getJSONArray("stock");
|
||||||
for (int i = 0; i < stockArr.size(); i++) {
|
for (int i = 0; i < stockArr.size(); i++) {
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ public class MaterialExtendComponent implements ICommonQuery {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int checkIsNameExist(Long id, String name)throws Exception {
|
public int checkIsNameExist(Long id, String name)throws Exception {
|
||||||
return materialExtendService.checkIsExist(id, name);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,12 +4,15 @@ import com.alibaba.fastjson.JSONArray;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||||
import com.jsh.erp.constants.BusinessConstants;
|
import com.jsh.erp.constants.BusinessConstants;
|
||||||
|
import com.jsh.erp.constants.ExceptionConstants;
|
||||||
import com.jsh.erp.datasource.entities.MaterialExtend;
|
import com.jsh.erp.datasource.entities.MaterialExtend;
|
||||||
import com.jsh.erp.datasource.entities.MaterialExtendExample;
|
import com.jsh.erp.datasource.entities.MaterialExtendExample;
|
||||||
import com.jsh.erp.datasource.entities.User;
|
import com.jsh.erp.datasource.entities.User;
|
||||||
import com.jsh.erp.datasource.mappers.MaterialExtendMapper;
|
import com.jsh.erp.datasource.mappers.MaterialExtendMapper;
|
||||||
import com.jsh.erp.datasource.mappers.MaterialExtendMapperEx;
|
import com.jsh.erp.datasource.mappers.MaterialExtendMapperEx;
|
||||||
import com.jsh.erp.datasource.vo.MaterialExtendVo4List;
|
import com.jsh.erp.datasource.vo.MaterialExtendVo4List;
|
||||||
|
import com.jsh.erp.exception.BusinessParamCheckingException;
|
||||||
|
import com.jsh.erp.exception.BusinessRunTimeException;
|
||||||
import com.jsh.erp.exception.JshException;
|
import com.jsh.erp.exception.JshException;
|
||||||
import com.jsh.erp.service.log.LogService;
|
import com.jsh.erp.service.log.LogService;
|
||||||
import com.jsh.erp.service.redis.RedisService;
|
import com.jsh.erp.service.redis.RedisService;
|
||||||
@@ -77,7 +80,7 @@ public class MaterialExtendService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
|
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
|
||||||
public String saveDetials(JSONObject obj, String sortList, Long materialId) throws Exception {
|
public String saveDetials(JSONObject obj, String sortList, Long materialId, String type) throws Exception {
|
||||||
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
||||||
JSONArray meArr = obj.getJSONArray("meList");
|
JSONArray meArr = obj.getJSONArray("meList");
|
||||||
JSONArray insertedJson = new JSONArray();
|
JSONArray insertedJson = new JSONArray();
|
||||||
@@ -85,6 +88,12 @@ public class MaterialExtendService {
|
|||||||
JSONArray deletedJson = new JSONArray();
|
JSONArray deletedJson = new JSONArray();
|
||||||
List<String> barCodeList=new ArrayList<>();
|
List<String> barCodeList=new ArrayList<>();
|
||||||
if (null != meArr) {
|
if (null != meArr) {
|
||||||
|
if("insert".equals(type)){
|
||||||
|
for (int i = 0; i < meArr.size(); i++) {
|
||||||
|
JSONObject tempJson = meArr.getJSONObject(i);
|
||||||
|
insertedJson.add(tempJson);
|
||||||
|
}
|
||||||
|
} else if("update".equals(type)){
|
||||||
for (int i = 0; i < meArr.size(); i++) {
|
for (int i = 0; i < meArr.size(); i++) {
|
||||||
JSONObject tempJson = meArr.getJSONObject(i);
|
JSONObject tempJson = meArr.getJSONObject(i);
|
||||||
String barCode = tempJson.getString("barCode");
|
String barCode = tempJson.getString("barCode");
|
||||||
@@ -103,6 +112,7 @@ public class MaterialExtendService {
|
|||||||
deletedJson.add(deleteObj);
|
deletedJson.add(deleteObj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
JSONArray sortJson = JSONArray.parseArray(sortList);
|
JSONArray sortJson = JSONArray.parseArray(sortList);
|
||||||
if (null != insertedJson) {
|
if (null != insertedJson) {
|
||||||
for (int i = 0; i < insertedJson.size(); i++) {
|
for (int i = 0; i < insertedJson.size(); i++) {
|
||||||
@@ -110,8 +120,14 @@ public class MaterialExtendService {
|
|||||||
JSONObject tempInsertedJson = JSONObject.parseObject(insertedJson.getString(i));
|
JSONObject tempInsertedJson = JSONObject.parseObject(insertedJson.getString(i));
|
||||||
materialExtend.setMaterialId(materialId);
|
materialExtend.setMaterialId(materialId);
|
||||||
if (StringUtils.isNotEmpty(tempInsertedJson.getString("barCode"))) {
|
if (StringUtils.isNotEmpty(tempInsertedJson.getString("barCode"))) {
|
||||||
|
int exist = checkIsBarCodeExist(0L, tempInsertedJson.getString("barCode"));
|
||||||
|
if(exist>0) {
|
||||||
|
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_EXISTS_CODE,
|
||||||
|
String.format(ExceptionConstants.MATERIAL_BARCODE_EXISTS_MSG,tempInsertedJson.getString("barCode")));
|
||||||
|
} else {
|
||||||
materialExtend.setBarCode(tempInsertedJson.getString("barCode"));
|
materialExtend.setBarCode(tempInsertedJson.getString("barCode"));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (StringUtils.isNotEmpty(tempInsertedJson.getString("commodityUnit"))) {
|
if (StringUtils.isNotEmpty(tempInsertedJson.getString("commodityUnit"))) {
|
||||||
materialExtend.setCommodityUnit(tempInsertedJson.getString("commodityUnit"));
|
materialExtend.setCommodityUnit(tempInsertedJson.getString("commodityUnit"));
|
||||||
}
|
}
|
||||||
@@ -147,8 +163,14 @@ public class MaterialExtendService {
|
|||||||
MaterialExtend materialExtend = new MaterialExtend();
|
MaterialExtend materialExtend = new MaterialExtend();
|
||||||
materialExtend.setId(tempUpdatedJson.getLong("id"));
|
materialExtend.setId(tempUpdatedJson.getLong("id"));
|
||||||
if (StringUtils.isNotEmpty(tempUpdatedJson.getString("barCode"))) {
|
if (StringUtils.isNotEmpty(tempUpdatedJson.getString("barCode"))) {
|
||||||
|
int exist = checkIsBarCodeExist(tempUpdatedJson.getLong("id"), tempUpdatedJson.getString("barCode"));
|
||||||
|
if(exist>0) {
|
||||||
|
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_EXISTS_CODE,
|
||||||
|
String.format(ExceptionConstants.MATERIAL_BARCODE_EXISTS_MSG,tempUpdatedJson.getString("barCode")));
|
||||||
|
} else {
|
||||||
materialExtend.setBarCode(tempUpdatedJson.getString("barCode"));
|
materialExtend.setBarCode(tempUpdatedJson.getString("barCode"));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (StringUtils.isNotEmpty(tempUpdatedJson.getString("commodityUnit"))) {
|
if (StringUtils.isNotEmpty(tempUpdatedJson.getString("commodityUnit"))) {
|
||||||
materialExtend.setCommodityUnit(tempUpdatedJson.getString("commodityUnit"));
|
materialExtend.setCommodityUnit(tempUpdatedJson.getString("commodityUnit"));
|
||||||
}
|
}
|
||||||
@@ -233,10 +255,10 @@ public class MaterialExtendService {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int checkIsExist(Long id, String MaterialExtendName)throws Exception {
|
public int checkIsBarCodeExist(Long id, String barCode)throws Exception {
|
||||||
MaterialExtendExample example = new MaterialExtendExample();
|
MaterialExtendExample example = new MaterialExtendExample();
|
||||||
MaterialExtendExample.Criteria criteria = example.createCriteria();
|
MaterialExtendExample.Criteria criteria = example.createCriteria();
|
||||||
criteria.andBarCodeEqualTo(MaterialExtendName);
|
criteria.andBarCodeEqualTo(barCode);
|
||||||
if (id > 0) {
|
if (id > 0) {
|
||||||
criteria.andIdNotEqualTo(id);
|
criteria.andIdNotEqualTo(id);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user