|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|