|
@@ -108,7 +108,7 @@ public class GoodsServiceImpl implements GoodsService {
|
|
|
// builder.put("brandId", "品牌");
|
|
|
builder.put("supplierId", "供应商");
|
|
|
// builder.put("freightId", "运费模版");
|
|
|
- builder.put("goodsNumber", "商品库存");
|
|
|
+ builder.put("goodsNumber", "商品总库存");
|
|
|
builder.put("primaryPicUrl", "商品主图");
|
|
|
builder.put("listPicUrl", "商品列表图");
|
|
|
builder.put("goodsDesc", "商品描述");
|
|
@@ -280,7 +280,7 @@ public class GoodsServiceImpl implements GoodsService {
|
|
|
builder.put("goodsBizType", "货品业务类型");
|
|
|
// builder.put("brandId", "品牌");
|
|
|
builder.put("supplierId", "供应商");
|
|
|
- builder.put("goodsNumber", "商品库存");
|
|
|
+ builder.put("goodsNumber", "商品总库存");
|
|
|
// builder.put("freightId", "运费模版");
|
|
|
builder.put("primaryPicUrl", "商品主图");
|
|
|
builder.put("listPicUrl", "商品列表图");
|
|
@@ -338,8 +338,11 @@ public class GoodsServiceImpl implements GoodsService {
|
|
|
Integer goodsNumber = goods.getGoodsNumber();//商品总库存
|
|
|
Integer storeTotalGoodsNumber = 0;//商品分配库存
|
|
|
List<ProductStoreRelaEntity> proStoreList = productStoreRelaDao.queryByGoodsId(goodsEntity.getId());
|
|
|
- for(ProductStoreRelaEntity relaEntity: proStoreList){
|
|
|
+ Long[] storeIds = new Long[proStoreList.size()];
|
|
|
+ for(int i = 0; i < proStoreList.size(); i++){
|
|
|
+ ProductStoreRelaEntity relaEntity = proStoreList.get(i);
|
|
|
storeTotalGoodsNumber = storeTotalGoodsNumber + relaEntity.getStockNum();
|
|
|
+ storeIds[i] = relaEntity.getStoreId();
|
|
|
}
|
|
|
if(goodsNumber < storeTotalGoodsNumber){
|
|
|
throw new RRException("该商品已在各门店分配库存"+storeTotalGoodsNumber+",当前商品总库存不能小于分配库存总额!请先修改门店库存!");
|
|
@@ -535,9 +538,29 @@ public class GoodsServiceImpl implements GoodsService {
|
|
|
return productDao.update(product);
|
|
|
}
|
|
|
}
|
|
|
+ //更新门店商品是否有修改字段
|
|
|
+ if(storeIds.length > 0){
|
|
|
+ for(int i=0;i<storeIds.length;i++){
|
|
|
+ updateLoadGoodsByStoreId(storeIds[i], user);
|
|
|
+ }
|
|
|
+ }
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 更新门店商品是否有修改字段
|
|
|
+ * @param storeId
|
|
|
+ * @param user
|
|
|
+ */
|
|
|
+ private void updateLoadGoodsByStoreId(Long storeId, SysUserEntity user){
|
|
|
+ StoreEntity storeEntity = new StoreEntity();
|
|
|
+ storeEntity.setIsLoadGoods("1");
|
|
|
+ storeEntity.setModerSn(user.getUsername());
|
|
|
+ storeEntity.setModTime(new Date());
|
|
|
+ storeEntity.setId(storeId);
|
|
|
+ storeDao.update(storeEntity);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public int delete(Integer id) {
|
|
|
SysUserEntity user = ShiroUtils.getUserEntity();
|
|
@@ -677,6 +700,7 @@ public class GoodsServiceImpl implements GoodsService {
|
|
|
// builder.put("marketPrice", "市场价");
|
|
|
// builder.put("retailPrice", "零售价");
|
|
|
builder.put("supplierName", "供应商");
|
|
|
+ builder.put("goodsNumber", "商品总库存");
|
|
|
R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
|
|
|
if (Integer.valueOf(r.get("code").toString()) != 0) {
|
|
|
throw new RRException(r.get("msg").toString());
|
|
@@ -809,7 +833,7 @@ public class GoodsServiceImpl implements GoodsService {
|
|
|
} else {
|
|
|
goodsEntity.setOriCntCode(sysCusNationCodeEntity.getCode());
|
|
|
}
|
|
|
- goodsEntity.setGoodsRate(BigDecimal.valueOf(Integer.valueOf(goodsDto.getGoodsRate())));
|
|
|
+ goodsEntity.setGoodsRate(BigDecimal.valueOf(Double.valueOf(goodsDto.getGoodsRate())));
|
|
|
}
|
|
|
goodsEntity.setIsOnSale(Integer.parseInt(goodsDto.getIsOnSaleStr()));
|
|
|
goodsEntity.setIsHot(Integer.parseInt(goodsDto.getIsHotStr()));
|
|
@@ -832,6 +856,7 @@ public class GoodsServiceImpl implements GoodsService {
|
|
|
goodsEntity.setCreateTime(new Date());
|
|
|
goodsEntity.setUpdateTime(new Date());
|
|
|
goodsEntity.setModTime(new Date());
|
|
|
+ goodsEntity.setGoodsNumber(Integer.parseInt(goodsDto.getGoodsNumber()));
|
|
|
|
|
|
if(!isFail){
|
|
|
GoodsEntity goods = goodsDao.queryObjectBySn(goodsDto.getGoodsSn());
|