SupplierStockService.java 3 KB
package com.phxl.modules.goods.service.supplierstock;

import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.phxl.common.util.JsonMapper;
import com.phxl.common.utils.BaseException;
import com.phxl.common.utils.IdUtil;
import com.phxl.modules.goods.dao.supplierstock.SupplierStockDao;
import com.phxl.modules.goods.entity.supplierstock.SupplierStock;
import com.phxl.modules.goods.entity.supplierstock.SupplierStockList;


@Service
public class SupplierStockService{

	@Autowired
	private SupplierStockDao supplierStockDao;
	
	private static Log log = LogFactory.getLog(SupplierStockService.class);
	

	public boolean batchSave(List<SupplierStockList> supplierStocks) {
		boolean result = false;
		if (supplierStocks != null && supplierStocks.size() != 0) {
			for (SupplierStockList supplierStockList : supplierStocks) {
				SupplierStock supstock = supplierStockList.getData();
				try {
					checkStock(supstock);
				} catch (Exception e) {
					String json = JsonMapper.toJsonString(supstock);
					log.error("同步医院库存:" + json + "信息异常");
					throw new BaseException(e.getMessage());
				}
				supstock.setId(IdUtil.uuid());
				supplierStockDao.insert(supstock);
			}
			
			result = true;
		}
		return result;
	}

	private void checkStock(SupplierStock supplierStock) {
		//获取信息中供应商信息
		String suppliercode = supplierStock.getSuppliercode();
		String suppliername = supplierStock.getSuppliername();
		if(StringUtils.isEmpty(suppliercode) || StringUtils.isEmpty(suppliername)){
			log.error("供应商库存信息供应商编号以及供应商名称不能为空");
			throw new BaseException("供应商库存信息供应商编号以及供应商名称不能为空");
		}
		//获取信息中商品信息
		String goodsCode = supplierStock.getGoodsCode();
		String goodsName = supplierStock.getGoodsName();
		if(StringUtils.isEmpty(goodsCode) || StringUtils.isEmpty(goodsName)){
			log.error("供应商库存信息商品编码以及商品名称不能为空");
			throw new BaseException("供应商库存信息商品编码以及商品名称不能为空");
		}
		//库存批号信息
		String lot = supplierStock.getLot();
		if(StringUtils.isEmpty(lot)){
			log.error("供应商库存信息库存批号不能为空");
			throw new BaseException("供应商库存信息库存批号不能为空");
		}
		Date productionDate = supplierStock.getProductionDate();
		if(productionDate == null){
			log.error("供应商库存信息库存生产日期不能为空");
			throw new BaseException("供应商库存信息库存生产日期不能为空");
		}
		Date expireDate  = supplierStock.getExpireDate();
		if(expireDate == null){
			log.error("供应商库存信息库存有效期至不能为空");
			throw new BaseException("供应商库存信息库存有效期至不能为空");
		}

	}

	
}