package cn.com.goldenwater.dcproj.service.impl.wiu; import cn.com.goldenwater.dcproj.dao.AttWintBaseBDao; import cn.com.goldenwater.dcproj.dao.AttWiuBaseDao; import cn.com.goldenwater.dcproj.model.AttWintBaseB; import cn.com.goldenwater.dcproj.model.AttWiuBase; import cn.com.goldenwater.dcproj.param.AttWintBaseBParam; import cn.com.goldenwater.dcproj.param.AttWiuBaseParam; import cn.com.goldenwater.dcproj.service.AttWiuBaseService; import cn.com.goldenwater.core.service.AbstractCrudService; import com.github.pagehelper.PageHelper; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @author lune * @date 2019-8-9 */ @Service @Transactional(rollbackFor = Exception.class) public class AttWiuBaseServiceImpl extends AbstractCrudService implements AttWiuBaseService { @Autowired private AttWiuBaseDao attWiuBaseDao; @Autowired private AttWintBaseBDao attWintBaseBDao; public AttWiuBaseServiceImpl(AttWiuBaseDao attWiuBaseDao) { super(attWiuBaseDao); this.attWiuBaseDao = attWiuBaseDao; } @Override public int add(AttWiuBase attWiuBase) throws Exception { if (StringUtils.isNotBlank(attWiuBase.getAdCode())) { String maxCwsCode = attWiuBaseDao.getMaxCode(attWiuBase.getAdCode().substring(0, 6)); //根据最大code生成cwscode if (maxCwsCode != null) { Long mCcode = 0L; if (maxCwsCode == null) { mCcode = NumberUtils.createLong(attWiuBase.getAdCode()); Long gwsCode = mCcode + 1; attWiuBase.setWiuCode(gwsCode + ""); } else { mCcode = NumberUtils.createLong(maxCwsCode); Long gwsCode = mCcode + 1; attWiuBase.setWiuCode(gwsCode + ""); } } else { Long mCcode = NumberUtils.createLong(attWiuBase.getAdCode()); Long gwsCode = mCcode + 1; attWiuBase.setWiuCode(gwsCode+""); } } else { throw new Exception("adCode不能为空"); } if (StringUtils.isBlank(attWiuBase.getWiuCode()) && StringUtils.isNotBlank(attWiuBase.getWiuName())) { AttWintBaseBParam param = new AttWintBaseBParam(); param.setWintName(attWiuBase.getWintName()); List list = attWintBaseBDao.findList(param); if (list != null && list.size() > 0) { attWiuBase.setWintCode(list.get(0).getWintCode()); } } attWiuBaseDao.insert(attWiuBase); return 0; } @Override public AttWiuBase getObjId(String objId) { return attWiuBaseDao.getObjId(objId); } }