条码功能完善

This commit is contained in:
JinLu.Yin
2022-09-02 17:01:16 +08:00
parent 0466be3d36
commit 83bc0f6498
7 changed files with 106 additions and 10 deletions

View File

@@ -2,6 +2,8 @@ package com.ktg.mes.wm.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -77,6 +79,12 @@ public class WmBarcodeController extends BaseController
@PostMapping
public AjaxResult add(@RequestBody WmBarcode wmBarcode)
{
if(UserConstants.NOT_UNIQUE.equals(wmBarcodeService.checkBarcodeUnique(wmBarcode))){
return AjaxResult.error("当前业务内容的条码已存在!");
}
String path =wmBarcodeService.generateBarcode(wmBarcode);
wmBarcode.setBarcodeUrl(path);
return toAjax(wmBarcodeService.insertWmBarcode(wmBarcode));
}
@@ -88,6 +96,11 @@ public class WmBarcodeController extends BaseController
@PutMapping
public AjaxResult edit(@RequestBody WmBarcode wmBarcode)
{
if(UserConstants.NOT_UNIQUE.equals(wmBarcodeService.checkBarcodeUnique(wmBarcode))){
return AjaxResult.error("当前业务内容的条码已存在!");
}
String path =wmBarcodeService.generateBarcode(wmBarcode);
wmBarcode.setBarcodeUrl(path);
return toAjax(wmBarcodeService.updateWmBarcode(wmBarcode));
}

View File

@@ -27,6 +27,13 @@ public interface WmBarcodeMapper
*/
public List<WmBarcode> selectWmBarcodeList(WmBarcode wmBarcode);
/**
* 检查当前条码类型下,对应的业务是否已经生成了条码
* @param wmBarcode
* @return
*/
public WmBarcode checkBarcodeUnique(WmBarcode wmBarcode);
/**
* 新增条码清单
*

View File

@@ -27,6 +27,14 @@ public interface IWmBarcodeService
*/
public List<WmBarcode> selectWmBarcodeList(WmBarcode wmBarcode);
/**
* 根据条码类型和业务内容ID判断条码是否已存在
* @param wmBarcode
* @return
*/
public String checkBarcodeUnique(WmBarcode wmBarcode);
/**
* 新增条码清单
*
@@ -58,4 +66,12 @@ public interface IWmBarcodeService
* @return 结果
*/
public int deleteWmBarcodeByBarcodeId(Long barcodeId);
/**
* 根据条码记录生成实际的条码返回对应的url地址
* @param wmBarcode
* @return
*/
public String generateBarcode(WmBarcode wmBarcode);
}

View File

@@ -1,12 +1,22 @@
package com.ktg.mes.wm.service.impl;
import java.io.File;
import java.io.IOException;
import java.util.List;
import com.ktg.common.constant.UserConstants;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.utils.DateUtils;
import com.ktg.common.utils.StringUtils;
import com.ktg.common.utils.barcode.BarcodeUtil;
import com.ktg.common.utils.file.FileUploadUtils;
import com.ktg.common.utils.file.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ktg.mes.wm.mapper.WmBarcodeMapper;
import com.ktg.mes.wm.domain.WmBarcode;
import com.ktg.mes.wm.service.IWmBarcodeService;
import org.springframework.web.multipart.MultipartFile;
/**
* 条码清单Service业务层处理
@@ -44,6 +54,16 @@ public class WmBarcodeServiceImpl implements IWmBarcodeService
return wmBarcodeMapper.selectWmBarcodeList(wmBarcode);
}
@Override
public String checkBarcodeUnique(WmBarcode wmBarcode) {
WmBarcode barcode = wmBarcodeMapper.checkBarcodeUnique(wmBarcode);
Long barcodeId = wmBarcode.getBarcodeId()==null?-1L:wmBarcode.getBarcodeId();
if(StringUtils.isNotNull(barcode) && barcode.getBarcodeId().longValue() != barcodeId.longValue()){
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
/**
* 新增条码清单
*
@@ -93,4 +113,20 @@ public class WmBarcodeServiceImpl implements IWmBarcodeService
{
return wmBarcodeMapper.deleteWmBarcodeByBarcodeId(barcodeId);
}
@Override
public String generateBarcode(WmBarcode wmBarcode) {
File buf = BarcodeUtil.generateFile(wmBarcode.getBarcodeContent(),"./tmp/barcode/"+wmBarcode.getBarcodeContent()+".png");
MultipartFile file = FileUtils.getMultipartFile(buf);
String fileName = null;
try {
fileName = FileUploadUtils.uploadMinio(file);
} catch (IOException e) {
e.printStackTrace();
return null;
}
return fileName;
}
}

View File

@@ -51,7 +51,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectWmBarcodeVo"/>
where barcode_id = #{barcodeId}
</select>
<select id="checkBarcodeUnique" parameterType="WmBarcode">
<include refid="selectWmBarcodeVo"/>
where bussiness_id = #{bussinessId} and barcode_type = #{barcodeType}
</select>
<insert id="insertWmBarcode" parameterType="WmBarcode" useGeneratedKeys="true" keyProperty="barcodeId">
insert into wm_barcode
<trim prefix="(" suffix=")" suffixOverrides=",">