|
|
@@ -27,6 +27,7 @@ import lombok.AllArgsConstructor;
|
|
|
import org.springblade.client.entity.*;
|
|
|
import org.springblade.client.feign.ICorpsDescClient;
|
|
|
import org.springblade.client.goods.excel.GoodsExcel;
|
|
|
+import org.springblade.client.goods.excel.GoodsInfoExcel;
|
|
|
import org.springblade.client.goods.mapper.*;
|
|
|
import org.springblade.client.goods.service.IGoodsDescService;
|
|
|
import org.springblade.client.vo.GoodsDescVO;
|
|
|
@@ -35,6 +36,7 @@ import org.springblade.core.mp.support.Condition;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.secure.utils.SecureUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -425,4 +427,71 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, GoodsDesc
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R importGoodsInfo(List<GoodsInfoExcel> data, Boolean isCovered) {
|
|
|
+ if(org.springframework.util.CollectionUtils.isEmpty(data))
|
|
|
+ {
|
|
|
+ throw new SecurityException("导入数据不能为空");
|
|
|
+ }
|
|
|
+ StringBuffer errMsg= new StringBuffer();
|
|
|
+
|
|
|
+ for(int i=0;i<data.size();i++)
|
|
|
+ {
|
|
|
+ GoodsInfoExcel goodsExcel = data.get(i);
|
|
|
+ String type = goodsExcel.getType();
|
|
|
+ GoodsType goodsType = goodsTypeMapper.selectGoodsTypeCname(type, AuthUtil.getTenantId());
|
|
|
+ if(goodsType==null)
|
|
|
+ {
|
|
|
+ errMsg.append("第"+i+"行未添加分类或者分类不存在,");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ data.forEach(e->{
|
|
|
+ String type = e.getType();
|
|
|
+ GoodsType goodsType = goodsTypeMapper.selectGoodsTypeCname(type, AuthUtil.getTenantId());
|
|
|
+ if(goodsType!=null)
|
|
|
+ {
|
|
|
+ GoodsDesc goodsDesc=new GoodsDesc();
|
|
|
+ BeanUtils.copyProperties(e,goodsDesc);
|
|
|
+
|
|
|
+ //获取供应商
|
|
|
+ goodsDesc.setCorpName(e.getCorpName());
|
|
|
+ goodsDesc.setCntrVolumn(e.getCntrVolumn());
|
|
|
+ goodsDesc.setCartonWeight(e.getCartonWeight());
|
|
|
+ goodsDesc.setType(0L);
|
|
|
+ goodsDesc.setGoodsTypeId(String.valueOf(goodsType.getId()));
|
|
|
+ //如果名称相等 就认为重复
|
|
|
+ LambdaQueryWrapper<GoodsDesc> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(GoodsDesc::getTenantId,AuthUtil.getTenantId());
|
|
|
+ queryWrapper.eq(GoodsDesc::getCname,goodsDesc.getCname());
|
|
|
+ queryWrapper.eq(GoodsDesc::getIsDeleted,0);
|
|
|
+ GoodsDesc one = goodsDescMapper.selectOne(queryWrapper);
|
|
|
+
|
|
|
+ if(one==null)
|
|
|
+ {
|
|
|
+ goodsDesc.setCreateTime(new Date());
|
|
|
+ goodsDesc.setCreateUser(AuthUtil.getUserId());
|
|
|
+ goodsDesc.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
|
|
|
+ goodsDescMapper.insert(goodsDesc);
|
|
|
+
|
|
|
+ GoodsTypeDesc goodsTypeDes=new GoodsTypeDesc();
|
|
|
+ goodsTypeDes.setGoodsId(goodsDesc.getId());
|
|
|
+ goodsTypeDes.setGoodsTypeId(goodsType.getId());
|
|
|
+ goodsTypeDes.setCreateTime(new Date());
|
|
|
+ goodsTypeDes.setCreateUser(AuthUtil.getUserId());
|
|
|
+ goodsTypeDes.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
|
|
|
+ goodsTypeDescMapper.insert(goodsTypeDes);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ goodsDesc.setId(one.getId());
|
|
|
+ goodsDesc.setUpdateTime(new Date());
|
|
|
+ goodsDesc.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ goodsDescMapper.updateById(goodsDesc);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return R.success("ok");
|
|
|
+ }
|
|
|
+
|
|
|
}
|