| package com.zy.asrs.common.wms.service.impl; | 
|   | 
| import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
| import com.zy.asrs.common.wms.mapper.DocTypeMapper; | 
| import com.zy.asrs.common.wms.entity.DocType; | 
| import com.zy.asrs.common.wms.service.DocTypeService; | 
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
| import com.zy.asrs.framework.common.Cools; | 
| import com.zy.asrs.framework.exception.CoolException; | 
| import org.springframework.stereotype.Service; | 
|   | 
| import java.util.Date; | 
|   | 
| @Service("docTypeService") | 
| public class DocTypeServiceImpl extends ServiceImpl<DocTypeMapper, DocType> implements DocTypeService { | 
|   | 
|     @Override | 
|     public DocType selectOrAdd(String docName, Boolean pakin) { | 
|         if (Cools.isEmpty(docName)) { | 
|             return null; | 
|         } | 
|         DocType docType = this.getOne(new LambdaQueryWrapper<DocType>().eq(DocType::getDocName, docName)); | 
|         if (docType == null) { | 
|             long docId = 1L; | 
|             DocType last = this.getOne(new LambdaQueryWrapper<DocType>().orderByDesc(DocType::getDocId)); | 
|             if (last != null) { | 
|                 docId = last.getDocId() + 1; | 
|             } | 
|             docType = new DocType(); | 
|             docType.setDocId(docId); | 
|             docType.setDocName(docName); | 
|             if (null != pakin) { | 
|                 docType.setPakin(pakin ? 1 : 0); | 
|                 docType.setPakout(pakin ? 0 : 1); | 
|             } | 
|             docType.setStatus(1); | 
|             docType.setCreateTime(new Date()); | 
|             docType.setUpdateTime(new Date()); | 
|             if (!this.save(docType)) { | 
|                 throw new CoolException("单据类型错误"); | 
|             } | 
|         } | 
|         return docType; | 
|     } | 
|   | 
| } |