package com.nanometer.smartlab.service; import com.nanometer.smartlab.dao.EmailStatusDao; import com.nanometer.smartlab.dao.OpeOrderDao; import com.nanometer.smartlab.dao.SupplierOpeOrderDao; import com.nanometer.smartlab.entity.*; import com.nanometer.smartlab.entity.enumtype.ApplyStatus; import com.nanometer.smartlab.entity.enumtype.ArrivalStatus; import com.nanometer.smartlab.entity.enumtype.EmailSendStatus; import com.nanometer.smartlab.entity.enumtype.StoreType; import com.nanometer.smartlab.exception.AlarmCode; import com.nanometer.smartlab.exception.AlarmException; import com.nanometer.smartlab.exception.BusinessException; import com.nanometer.smartlab.exception.ExceptionEnumCode; import com.nanometer.smartlab.util.IDUtils; import com.nanometer.smartlab.util.MessageUtil; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.springframework.dao.DataAccessException; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; import java.math.BigInteger; import java.sql.Timestamp; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by johnny on 17/12/14. */ @Service("supplierOpeOrderService") public class SupplierOpeOrderServiceImpl implements SupplierOpeOrderService { private static Logger logger = Logger.getLogger(OpeOrderService.class); @Resource(name = "supplierOpeOrderDao") SupplierOpeOrderDao supplierOpeOrderDao; @Transactional(propagation = Propagation.REQUIRED) public List getSupplierOpeOrderList(String orderCode,String applyCode, Integer status,Timestamp orderTime,Timestamp orderEndTime, Integer first, Integer pageSize) { try { Map params = new HashMap(); if (StringUtils.isNotBlank(orderCode)) { params.put("code", "%" + orderCode + "%"); } if(StringUtils.isNotBlank(applyCode)){ params.put("applyCode", applyCode); } params.put("orderTime",orderTime); params.put("orderEndTime",orderEndTime); params.put("status", status); params.put("first", first); params.put("pageSize", pageSize); return this.supplierOpeOrderDao.getSupplierList(params); } catch (DataAccessException e) { logger.error(e.getMessage(), e); throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e); } } @Transactional(propagation = Propagation.REQUIRED) public void updateDestoryFlagById(SupplierOrder supplierOrder){ try { this.supplierOpeOrderDao.updateDestoryFlagById(supplierOrder); }catch (DataAccessException e){ logger.error(e.getMessage(), e); throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e); } } @Override public SupplierOrder selectById(String id) { return supplierOpeOrderDao.selectById(id); } @Override public int SupplierOpeOrderTotal(String orderCode, String applyCode, Integer status, Timestamp orderTime, Timestamp orderEndTime) { Map params = new HashMap(); params.put("code", orderCode); params.put("applyCode", applyCode); params.put("orderTime",orderTime); params.put("orderEndTime",orderEndTime); params.put("status", status); return this.supplierOpeOrderDao.getSupplierListTotal(params); } }