Browse Source

1.托盘二维码

dev-warehouse
0.0 2 years ago
parent
commit
669d2cc679
  1. 10
      blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicPrintTemplateClient.java
  2. 31
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseTrayQRCode.java
  3. 21
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseTraybarCode.java
  4. 8
      blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicPrintTemplateClient.java
  5. 9
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataTrayController.java
  6. 6
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTrayMapper.java
  7. 8
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTrayMapper.xml
  8. 5
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataTrayService.java
  9. 69
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataTrayServiceImpl.java

10
blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicPrintTemplateClient.java

@ -39,6 +39,7 @@ public interface IBasicPrintTemplateClient {
String TOP = API_PREFIX + "/top";
String TOPPRINTTEMPLATE = API_PREFIX + "/printTemplate";
/**
* 获取打印模板信息列表
*
@ -66,6 +67,15 @@ public interface IBasicPrintTemplateClient {
BasicPrintTemplateEntity getPrintTemplate();
/**
* 根据获取托盘模板信息
* @param
* @return
*/
@GetMapping(API_PREFIX+"/getTrayCode")
BasicPrintTemplateEntity getTrayCode();

31
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseTrayQRCode.java

@ -0,0 +1,31 @@
package com.logpm.warehouse.vo;
import lombok.Data;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
@Data
public class WarehouseTrayQRCode {
private String warehouseName;
private String trayCode;
public Map<String, Object> toMap() throws IllegalAccessException {
Map<String, Object> map = new HashMap<>();
// 使用反射获取所有字段
Field[] fields = this.getClass().getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true); // 设置可以访问私有字段
String fieldName = field.getName();
Object value = field.get(this);
map.put(fieldName, value);
}
return map;
}
}

21
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseTraybarCode.java

@ -0,0 +1,21 @@
package com.logpm.warehouse.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Data
public class WarehouseTraybarCode {
@ApiModelProperty(value = "模板ID")
private Long templateId;
@ApiModelProperty(value = "模板内容")
private String templateHtml;
@ApiModelProperty(value = "模板填充内容")
private List<Map> dataList;
}

8
blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicPrintTemplateClient.java

@ -73,5 +73,13 @@ public class BasicPrintTemplateClient implements IBasicPrintTemplateClient {
);
}
@Override
public BasicPrintTemplateEntity getTrayCode() {
return basicPrintTemplateService.getOne(Wrappers.<BasicPrintTemplateEntity>query().lambda()
.eq(BasicPrintTemplateEntity::getKnifeSwitch,true)
.eq(BasicPrintTemplateEntity::getTemplateType, PrintTemplateStatusConstant.daiqueren_7.getValue())
);
}
}

9
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataTrayController.java

@ -219,6 +219,15 @@ public class BasicdataTrayController extends BladeController {
return R.status(trayService.deleteLogic(Func.toLongList(ids)));
}
/**
* 托盘 打印条形码
*/
@PostMapping("/barCode")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "托盘 打印条形码", notes = "传入ids")
public R barCode(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) throws Exception {
return R.data(trayService.printCode(Func.toLongList(ids)));
}
/**
* 导出数据

6
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTrayMapper.java

@ -25,6 +25,8 @@ 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.vo.WarehouseTrayQRCode;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@ -80,4 +82,8 @@ public interface BasicdataTrayMapper extends BaseMapper<BasicdataTrayEntity> {
* 托盘 零担历史记录
*/
List<BasicdataStockArticleVO> selectlclListhistory(IPage<BasicdataStockArticleVO> page, @Param("param") BasicdataTrayVO basicdataTray);
/**
* 托盘 零担历史记录
*/
WarehouseTrayQRCode getTray(@Param("id") Long id);
}

8
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataTrayMapper.xml

@ -217,4 +217,12 @@
</select>
<select id="getTray" resultType="com.logpm.warehouse.vo.WarehouseTrayQRCode">
SELECT lwt.pallet_code trayCode ,lww.name warehouseName from logpm_warehouse_tray lwt LEFT JOIN logpm_warehouse_warehouse lww on lww.id =lwt.warehouse_id where lwt.id = #{id}
</select>
</mapper>

5
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataTrayService.java

@ -25,6 +25,7 @@ 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.warehouse.vo.WarehouseTraybarCode;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
import java.util.Map;
@ -97,4 +98,8 @@ public interface IBasicdataTrayService extends BaseService<BasicdataTrayEntity>
* 托盘 一键空闲
*/
Boolean vacantById(BasicdataTrayEntity basicdataTray);
/**
* 托盘 打印包条
*/
WarehouseTraybarCode printCode(List<Long> ids) throws Exception;
}

69
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataTrayServiceImpl.java

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

Loading…
Cancel
Save