@ -16,7 +16,13 @@
* /
package com.logpm.basicdata.service.impl ;
import cn.hutool.core.util.ObjectUtil ;
import com.alibaba.fastjson.JSONObject ;
import com.alibaba.nacos.common.utils.StringUtils ;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper ;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils ;
import com.logpm.basic.entity.BasicPrintTemplateEntity ;
import com.logpm.basic.feign.IBasicPrintTemplateClient ;
import com.logpm.basic.feign.IBasicTenantCodeClient ;
import com.logpm.basicdata.dto.BasicdataTrayDTO ;
import com.logpm.basicdata.entity.BasicdataTrayEntity ;
@ -31,12 +37,18 @@ import com.logpm.basicdata.vo.BasicdataTrayVO;
import com.logpm.basicdata.vo.BasicdataStockArticleVO ;
import com.logpm.basicdata.vo.WarehouseParcelListVO ;
import com.logpm.basicdata.vo.WarehouseStockListVO ;
import com.logpm.distribution.vo.DistributionStockArticleQRCodeVO ;
import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient ;
import com.logpm.warehouse.feign.IWarehouseTrayTypeClient ;
import com.logpm.warehouse.vo.WarehouseTrayQRCode ;
import com.logpm.warehouse.vo.WarehouseTraybarCode ;
import lombok.AllArgsConstructor ;
import lombok.extern.log4j.Log4j ;
import lombok.extern.log4j.Log4j2 ;
import org.springblade.common.constant.CodeNumConstant ;
import org.springblade.common.utils.QRCodeUtil ;
import org.springblade.common.utils.TemplateUtil ;
import org.springblade.core.log.exception.ServiceException ;
import org.springblade.core.mp.base.BaseServiceImpl ;
import org.springblade.core.tool.utils.Func ;
@ -46,7 +58,11 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper ;
import com.baomidou.mybatisplus.core.metadata.IPage ;
import org.springframework.transaction.annotation.Transactional ;
import sun.misc.BASE64Encoder ;
import java.io.FileInputStream ;
import java.io.IOException ;
import java.io.InputStream ;
import java.util.* ;
/ * *
@ -73,6 +89,8 @@ public class BasicdataTrayServiceImpl extends BaseServiceImpl<BasicdataTrayMappe
private IWarehouseTrayTypeClient warehouseTrayTypeClient ;
private IBasicPrintTemplateClient basicPrintTemplateClient ;
@Override
public IPage < BasicdataTrayVO > selectBasicdataTrayPage ( IPage < BasicdataTrayVO > page , BasicdataTrayVO BasicdataTray ) {
@ -185,6 +203,57 @@ public class BasicdataTrayServiceImpl extends BaseServiceImpl<BasicdataTrayMappe
// );
return aBoolean ;
}
@Override
public WarehouseTraybarCode printCode ( List < Long > ids ) throws Exception {
WarehouseTraybarCode warehouseTraybarCode = new WarehouseTraybarCode ( ) ;
List < Map > data = new ArrayList < > ( ) ;
BasicPrintTemplateEntity template = basicPrintTemplateClient . getPrintTemplate ( ) ;
if ( ObjectUtil . isEmpty ( template ) ) {
throw new ServiceException ( "模板内容未找到" ) ;
}
String html = TemplateUtil . getTemplateByUrl2 ( template . getTemplateUrl ( ) ) ;
warehouseTraybarCode . setTemplateHtml ( html ) ;
warehouseTraybarCode . setTemplateId ( template . getId ( ) ) ;
if ( ObjectUtils . isNull ( ids ) ) {
throw new ServiceException ( "参数错误" ) ;
}
for ( Long id : ids ) {
WarehouseTrayQRCode trayQRCode = baseMapper . getTray ( id ) ;
Map < String , Object > map = JSONObject . parseObject ( JSONObject . toJSONString ( trayQRCode ) , Map . class ) ;
String filename = QRCodeUtil . createCodeToFile ( trayQRCode . getTrayCode ( ) ) ;
map . put ( "img" , getEmpAutograph ( filename ) ) ;
String fileTypeName = QRCodeUtil . createCodeToFileType ( trayQRCode . getTrayCode ( ) ) ;
map . put ( "imgType" , getEmpAutograph ( fileTypeName ) ) ;
data . add ( map ) ;
}
return warehouseTraybarCode ;
}
private String getEmpAutograph ( String filePath ) {
String img = null ;
if ( StringUtils . isNotEmpty ( filePath ) ) {
InputStream in = null ;
byte [ ] picdata = null ;
try {
in = new FileInputStream ( filePath ) ;
picdata = new byte [ in . available ( ) ] ;
in . read ( picdata ) ;
BASE64Encoder encoder = new BASE64Encoder ( ) ;
img = encoder . encode ( picdata ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
} finally {
try {
in . close ( ) ;
} catch ( IOException e ) {
e . printStackTrace ( ) ;
}
}
}
return "data:image/png;base64," + img ;
}
}