Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
12a0487ccb
|
|
@ -2,7 +2,13 @@ package com.bonus.material.basic.controller;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import cn.hutool.core.convert.Convert;
|
||||||
|
import com.bonus.common.biz.config.ListPagingUtil;
|
||||||
|
import com.bonus.common.core.utils.ServletUtils;
|
||||||
import com.bonus.common.log.enums.OperaType;
|
import com.bonus.common.log.enums.OperaType;
|
||||||
|
import com.bonus.material.basic.domain.BmQrBoxInfo;
|
||||||
|
import com.bonus.material.basic.domain.InputRecordInfo;
|
||||||
import com.bonus.material.common.annotation.PreventRepeatSubmit;
|
import com.bonus.material.common.annotation.PreventRepeatSubmit;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
|
@ -42,7 +48,7 @@ public class BmQrcodeInfoController extends BaseController
|
||||||
* 查询二维码管理列表
|
* 查询二维码管理列表
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = "查询二维码管理列表")
|
@ApiOperation(value = "查询二维码管理列表")
|
||||||
@RequiresPermissions("basic:info:list")
|
//@RequiresPermissions("basic:info:list")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public TableDataInfo list(BmQrcodeInfo bmQrcodeInfo)
|
public TableDataInfo list(BmQrcodeInfo bmQrcodeInfo)
|
||||||
{
|
{
|
||||||
|
|
@ -84,10 +90,24 @@ public class BmQrcodeInfoController extends BaseController
|
||||||
@PreventRepeatSubmit
|
@PreventRepeatSubmit
|
||||||
@RequiresPermissions("basic:info:add")
|
@RequiresPermissions("basic:info:add")
|
||||||
@SysLog(title = "二维码管理", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增二维码管理")
|
@SysLog(title = "二维码管理", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增二维码管理")
|
||||||
@PostMapping
|
@PostMapping("/add")
|
||||||
public AjaxResult add(@RequestBody BmQrcodeInfo bmQrcodeInfo)
|
public AjaxResult add(@RequestBody BmQrcodeInfo bmQrcodeInfo)
|
||||||
{
|
{
|
||||||
return toAjax(bmQrcodeInfoService.insertBmQrcodeInfo(bmQrcodeInfo));
|
return bmQrcodeInfoService.insertBmQrcodeInfo(bmQrcodeInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载二维码
|
||||||
|
* @param bmQrcodeInfo
|
||||||
|
* @param response
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "下载二维码")
|
||||||
|
@PreventRepeatSubmit
|
||||||
|
//@RequiresPermissions("basic:info:download")
|
||||||
|
@PostMapping("/download")
|
||||||
|
public void download(@RequestBody BmQrcodeInfo bmQrcodeInfo, HttpServletResponse response)
|
||||||
|
{
|
||||||
|
bmQrcodeInfoService.download(bmQrcodeInfo, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ import lombok.Data;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
import com.bonus.common.core.web.domain.BaseEntity;
|
import com.bonus.common.core.web.domain.BaseEntity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 二维码管理对象 bm_qrcode_info
|
* 二维码管理对象 bm_qrcode_info
|
||||||
*
|
*
|
||||||
|
|
@ -23,30 +25,63 @@ public class BmQrcodeInfo extends BaseEntity
|
||||||
/** 二维码ID */
|
/** 二维码ID */
|
||||||
private Long qrId;
|
private Long qrId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "二维码id集合")
|
||||||
|
private List<Long> qrIds;
|
||||||
|
|
||||||
/** 二维码 */
|
/** 二维码 */
|
||||||
@Excel(name = "二维码")
|
|
||||||
@ApiModelProperty(value = "二维码")
|
@ApiModelProperty(value = "二维码")
|
||||||
private String qrCode;
|
private String qrCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "二维码路径")
|
||||||
|
private String qrUrl;
|
||||||
|
|
||||||
/** 类型ID */
|
/** 类型ID */
|
||||||
@Excel(name = "类型ID")
|
|
||||||
@ApiModelProperty(value = "类型ID")
|
@ApiModelProperty(value = "类型ID")
|
||||||
private Long typeId;
|
private Long typeId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "类型名称")
|
||||||
|
private String typeName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "规格信号")
|
||||||
|
private String typeModelName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备编码")
|
||||||
|
private String maCode;
|
||||||
|
|
||||||
/** 二维码类型 */
|
/** 二维码类型 */
|
||||||
@Excel(name = "二维码类型")
|
|
||||||
@ApiModelProperty(value = "二维码类型")
|
@ApiModelProperty(value = "二维码类型")
|
||||||
private String qrType;
|
private String qrType;
|
||||||
|
|
||||||
/** 任务ID */
|
/** 任务ID */
|
||||||
@Excel(name = "任务ID")
|
|
||||||
@ApiModelProperty(value = "任务ID")
|
@ApiModelProperty(value = "任务ID")
|
||||||
private Long taskId;
|
private Long taskId;
|
||||||
|
|
||||||
/** 数据所属组织 */
|
/** 数据所属组织 */
|
||||||
@Excel(name = "数据所属组织")
|
|
||||||
@ApiModelProperty(value = "数据所属组织")
|
@ApiModelProperty(value = "数据所属组织")
|
||||||
private Long companyId;
|
private Long companyId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "绑定状态")
|
||||||
|
private String bindStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "绑定状态名称")
|
||||||
|
private String bindStatusName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value="开始时间")
|
||||||
|
private String startTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value="结束时间")
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value="关键字")
|
||||||
|
private String keyWord;
|
||||||
|
|
||||||
|
@ApiModelProperty(value="二维码数量")
|
||||||
|
private int qrNum;
|
||||||
|
|
||||||
|
@ApiModelProperty(value="生产厂家id")
|
||||||
|
private Long supplierId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value="生产厂家名称")
|
||||||
|
private String supplierName;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.bonus.material.basic.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.bonus.material.basic.domain.BmQrcodeInfo;
|
import com.bonus.material.basic.domain.BmQrcodeInfo;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 二维码管理Mapper接口
|
* 二维码管理Mapper接口
|
||||||
|
|
@ -58,4 +59,18 @@ public interface BmQrcodeInfoMapper
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteBmQrcodeInfoByQrIds(Long[] qrIds);
|
public int deleteBmQrcodeInfoByQrIds(Long[] qrIds);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据月份查询
|
||||||
|
* @param genMonth
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<BmQrcodeInfo> selectByMonth(String genMonth);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询详情
|
||||||
|
* @param qrIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<BmQrcodeInfo> getDetails(@Param("list") List<Long> qrIds);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
package com.bonus.material.basic.service;
|
package com.bonus.material.basic.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.material.basic.domain.BmQrcodeInfo;
|
import com.bonus.material.basic.domain.BmQrcodeInfo;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 二维码管理Service接口
|
* 二维码管理Service接口
|
||||||
*
|
*
|
||||||
|
|
@ -33,7 +37,7 @@ public interface IBmQrcodeInfoService
|
||||||
* @param bmQrcodeInfo 二维码管理
|
* @param bmQrcodeInfo 二维码管理
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int insertBmQrcodeInfo(BmQrcodeInfo bmQrcodeInfo);
|
public AjaxResult insertBmQrcodeInfo(BmQrcodeInfo bmQrcodeInfo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改二维码管理
|
* 修改二维码管理
|
||||||
|
|
@ -58,4 +62,11 @@ public interface IBmQrcodeInfoService
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteBmQrcodeInfoByQrId(Long qrId);
|
public int deleteBmQrcodeInfoByQrId(Long qrId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载二维码
|
||||||
|
* @param bmQrcodeInfo
|
||||||
|
* @param response
|
||||||
|
*/
|
||||||
|
void download(BmQrcodeInfo bmQrcodeInfo, HttpServletResponse response);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,32 @@
|
||||||
package com.bonus.material.basic.service.impl;
|
package com.bonus.material.basic.service.impl;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.zip.ZipEntry;
|
||||||
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
||||||
|
import com.bonus.common.biz.config.BackstageApplication;
|
||||||
|
import com.bonus.common.biz.config.DateTimeHelper;
|
||||||
|
import com.bonus.common.biz.config.QrCodeUtils;
|
||||||
|
import com.bonus.common.biz.domain.purchase.PurchaseDto;
|
||||||
|
import com.bonus.common.biz.enums.HttpCodeEnum;
|
||||||
import com.bonus.common.core.utils.DateUtils;
|
import com.bonus.common.core.utils.DateUtils;
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
|
import com.bonus.common.security.utils.SecurityUtils;
|
||||||
|
import com.bonus.material.purchase.domain.vo.PurchaseVo;
|
||||||
|
import com.google.zxing.WriterException;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.bonus.material.basic.mapper.BmQrcodeInfoMapper;
|
import com.bonus.material.basic.mapper.BmQrcodeInfoMapper;
|
||||||
import com.bonus.material.basic.domain.BmQrcodeInfo;
|
import com.bonus.material.basic.domain.BmQrcodeInfo;
|
||||||
import com.bonus.material.basic.service.IBmQrcodeInfoService;
|
import com.bonus.material.basic.service.IBmQrcodeInfoService;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 二维码管理Service业务层处理
|
* 二维码管理Service业务层处理
|
||||||
*
|
*
|
||||||
|
|
@ -17,7 +36,7 @@ import com.bonus.material.basic.service.IBmQrcodeInfoService;
|
||||||
@Service
|
@Service
|
||||||
public class BmQrcodeInfoServiceImpl implements IBmQrcodeInfoService
|
public class BmQrcodeInfoServiceImpl implements IBmQrcodeInfoService
|
||||||
{
|
{
|
||||||
@Autowired
|
@Resource
|
||||||
private BmQrcodeInfoMapper bmQrcodeInfoMapper;
|
private BmQrcodeInfoMapper bmQrcodeInfoMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -51,10 +70,50 @@ public class BmQrcodeInfoServiceImpl implements IBmQrcodeInfoService
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int insertBmQrcodeInfo(BmQrcodeInfo bmQrcodeInfo)
|
public AjaxResult insertBmQrcodeInfo(BmQrcodeInfo bmQrcodeInfo)
|
||||||
{
|
{
|
||||||
bmQrcodeInfo.setCreateTime(DateUtils.getNowDate());
|
bmQrcodeInfo.setCreateTime(DateUtils.getNowDate());
|
||||||
return bmQrcodeInfoMapper.insertBmQrcodeInfo(bmQrcodeInfo);
|
bmQrcodeInfo.setCreateBy(SecurityUtils.getUserId().toString());
|
||||||
|
String genMonth = DateTimeHelper.getNowMonth();
|
||||||
|
List<BmQrcodeInfo> list = bmQrcodeInfoMapper.selectByMonth(genMonth);
|
||||||
|
BmQrcodeInfo bean = null;
|
||||||
|
int num = 0;
|
||||||
|
int result = 0;
|
||||||
|
if (list != null && list.size() > 0) {
|
||||||
|
bean = list.get(0);
|
||||||
|
num = Integer.parseInt(bean.getQrCode().split("-")[1]);
|
||||||
|
}
|
||||||
|
for (int j = 1; j <= bmQrcodeInfo.getQrNum(); j++) {
|
||||||
|
genMonth = genMonth.replace("-", "");
|
||||||
|
String code = genMonth + "-" + String.format("%5d", num + j).replace(" ", "0");
|
||||||
|
// 新购管理-二维码打印-新增
|
||||||
|
String url = BackstageApplication.getUrl() + "backstage/machine/qrCodePage?qrcode=" + code;
|
||||||
|
// // 二维码的图片格式
|
||||||
|
String format = "jpg";
|
||||||
|
//设置路径
|
||||||
|
String mkdirsName = "images";
|
||||||
|
// linux 系统路径
|
||||||
|
String saveDirectory = "/data/imw/" + mkdirsName + "/";
|
||||||
|
String os = System.getProperty("os.name");
|
||||||
|
if (os.toLowerCase().startsWith("win")) {
|
||||||
|
//本地路径
|
||||||
|
saveDirectory = "D://files/" + mkdirsName + "/";
|
||||||
|
}
|
||||||
|
// 生成二维码
|
||||||
|
File files = new File(saveDirectory);
|
||||||
|
if (!files.exists()) {
|
||||||
|
files.mkdirs();
|
||||||
|
}
|
||||||
|
QrCodeUtils.generateQRImage(url, saveDirectory, code + ".jpg", format);
|
||||||
|
String qrUrl = saveDirectory + code + ".jpg";
|
||||||
|
bmQrcodeInfo.setQrCode(code);
|
||||||
|
bmQrcodeInfo.setQrUrl(qrUrl);
|
||||||
|
result += bmQrcodeInfoMapper.insertBmQrcodeInfo(bmQrcodeInfo);
|
||||||
|
}
|
||||||
|
if (result > 0) {
|
||||||
|
return AjaxResult.success("二维码生成成功");
|
||||||
|
}
|
||||||
|
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -93,4 +152,106 @@ public class BmQrcodeInfoServiceImpl implements IBmQrcodeInfoService
|
||||||
{
|
{
|
||||||
return bmQrcodeInfoMapper.deleteBmQrcodeInfoByQrId(qrId);
|
return bmQrcodeInfoMapper.deleteBmQrcodeInfoByQrId(qrId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载二维码
|
||||||
|
* @param bmQrcodeInfo
|
||||||
|
* @param response
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void download(BmQrcodeInfo bmQrcodeInfo, HttpServletResponse response) {
|
||||||
|
if (bmQrcodeInfo == null || CollectionUtils.isEmpty(bmQrcodeInfo.getQrIds())) {
|
||||||
|
throw new RuntimeException("下载二维码信息不能为空");
|
||||||
}
|
}
|
||||||
|
Set<String> addedEntries = new HashSet<>();
|
||||||
|
try (OutputStream os = response.getOutputStream();
|
||||||
|
ZipOutputStream zos = new ZipOutputStream(os)) {
|
||||||
|
//二维码下载
|
||||||
|
handlePurchaseId(addedEntries, bmQrcodeInfo, zos);
|
||||||
|
zos.flush();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理二维码下载
|
||||||
|
* @param addedEntries
|
||||||
|
* @param bmQrcodeInfo
|
||||||
|
* @param zos
|
||||||
|
*/
|
||||||
|
private void handlePurchaseId(Set<String> addedEntries, BmQrcodeInfo bmQrcodeInfo, ZipOutputStream zos) throws IOException {
|
||||||
|
List<BmQrcodeInfo> details = bmQrcodeInfoMapper.getDetails(bmQrcodeInfo.getQrIds());
|
||||||
|
if (CollectionUtils.isNotEmpty(details)) {
|
||||||
|
for (BmQrcodeInfo detail : details) {
|
||||||
|
String typeName = detail.getTypeName();
|
||||||
|
String typeModelName = detail.getTypeModelName();
|
||||||
|
String path = detail.getQrUrl();
|
||||||
|
String qrCode = detail.getQrCode();
|
||||||
|
path = path.replace("filePath", "/data/imw");
|
||||||
|
extractedQrCode(qrCode);
|
||||||
|
extracted(addedEntries, zos, typeName, typeModelName, qrCode, path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 二维码生产方法抽取
|
||||||
|
* @param qrCode
|
||||||
|
*/
|
||||||
|
private void extractedQrCode(String qrCode) {
|
||||||
|
// 新购管理-二维码打印-新增
|
||||||
|
String url = BackstageApplication.getUrl() + "backstage/machine/qrCodePage?qrcode=" + qrCode;
|
||||||
|
// // 二维码的图片格式
|
||||||
|
String format = "jpg";
|
||||||
|
//设置路径
|
||||||
|
String mkdirsName = "images";
|
||||||
|
// linux 系统路径
|
||||||
|
String saveDirectory = "/data/imw/" + mkdirsName + "/";
|
||||||
|
String os = System.getProperty("os.name");
|
||||||
|
if (os.toLowerCase().startsWith("win")) {
|
||||||
|
//本地路径
|
||||||
|
saveDirectory = "D://files/" + mkdirsName + "/";
|
||||||
|
}
|
||||||
|
// 生成二维码
|
||||||
|
File files = new File(saveDirectory);
|
||||||
|
if (!files.exists()) {
|
||||||
|
files.mkdirs();
|
||||||
|
}
|
||||||
|
QrCodeUtils.generateQRImage(url, saveDirectory, qrCode + ".jpg", format);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 二维码下载方法抽取
|
||||||
|
* @param zos
|
||||||
|
* @param typeName
|
||||||
|
* @param typeModelName
|
||||||
|
* @param code
|
||||||
|
* @param path
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
private void extracted(Set<String> addedEntries, ZipOutputStream zos, String typeName, String typeModelName, String code, String path) throws IOException {
|
||||||
|
// 判断路径是否存在
|
||||||
|
File imageFile = new File(path);
|
||||||
|
if (!imageFile.exists()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String entryName = "[" + typeName + "-" + typeModelName + "]" + code + ".jpg";
|
||||||
|
if (addedEntries.contains(entryName)) {
|
||||||
|
System.out.println("Duplicate entry skipped: " + entryName);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
addedEntries.add(entryName);
|
||||||
|
zos.setLevel(0);
|
||||||
|
zos.putNextEntry(new ZipEntry(entryName));
|
||||||
|
try (InputStream fis = new FileInputStream(imageFile)) {
|
||||||
|
byte[] buffer = new byte[1024];
|
||||||
|
int r;
|
||||||
|
while ((r = fis.read(buffer)) != -1) {
|
||||||
|
zos.write(buffer, 0, r);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
zos.closeEntry();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,26 +21,79 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
select qr_id, qr_code, type_id, qr_type, task_id, create_by, create_time, update_by, update_time, remark, company_id from bm_qrcode_info
|
select qr_id, qr_code, type_id, qr_type, task_id, create_by, create_time, update_by, update_time, remark, company_id from bm_qrcode_info
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectBmQrcodeInfoList" parameterType="com.bonus.material.basic.domain.BmQrcodeInfo" resultMap="BmQrcodeInfoResult">
|
|
||||||
<include refid="selectBmQrcodeInfoVo"/>
|
|
||||||
<where>
|
|
||||||
<if test="qrCode != null and qrCode != ''"> and qr_code = #{qrCode}</if>
|
|
||||||
<if test="typeId != null "> and type_id = #{typeId}</if>
|
|
||||||
<if test="qrType != null and qrType != ''"> and qr_type = #{qrType}</if>
|
|
||||||
<if test="taskId != null "> and task_id = #{taskId}</if>
|
|
||||||
<if test="companyId != null "> and company_id = #{companyId}</if>
|
|
||||||
</where>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="selectBmQrcodeInfoByQrId" parameterType="Long" resultMap="BmQrcodeInfoResult">
|
<select id="selectBmQrcodeInfoByQrId" parameterType="Long" resultMap="BmQrcodeInfoResult">
|
||||||
<include refid="selectBmQrcodeInfoVo"/>
|
<include refid="selectBmQrcodeInfoVo"/>
|
||||||
where qr_id = #{qrId}
|
where qr_id = #{qrId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectBmQrcodeInfoList" resultType="com.bonus.material.basic.domain.BmQrcodeInfo">
|
||||||
|
select bqi.id as qrId, bqi.qr_code as qrCode, mt1.type_name as typeName, mt.type_name as typeModelName,
|
||||||
|
bqi.ma_code as maCode, bqi.type_id as typeId, bqi.qr_type as qrType, bqi.task_id as taskId, bqi.create_by as
|
||||||
|
createBy,
|
||||||
|
bqi.create_time as createTime, bqi.update_by as updateBy,
|
||||||
|
bqi.update_time as updateTime,
|
||||||
|
bqi.remark as remark,
|
||||||
|
bqi.company_id as companyId,
|
||||||
|
bqi.is_bind as bindStatus,
|
||||||
|
msi.supplier as supplierName
|
||||||
|
from bm_qrcode_info bqi
|
||||||
|
left join ma_type mt on bqi.type_id = mt.type_id and mt.del_flag = '0'
|
||||||
|
left join ma_type mt1 on mt1.type_id = mt.parent_id and mt1.del_flag = '0'
|
||||||
|
left join ma_supplier_info msi on bqi.supplier_id = msi.supplier_id and msi.del_flag = '0'
|
||||||
|
<where>
|
||||||
|
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||||||
|
<![CDATA[and DATE_FORMAT( bqi.create_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime} ]]>
|
||||||
|
</if>
|
||||||
|
<if test="bindStatus != null and bindStatus != ''">and bqi.is_bind = #{bindStatus}</if>
|
||||||
|
<if test="keyWord != null and keyWord != ''">
|
||||||
|
and (
|
||||||
|
bqi.qr_code like concat('%', #{keyWord}, '%') or
|
||||||
|
mt1.type_name like concat('%', #{keyWord}, '%') or
|
||||||
|
mt.type_name like concat('%', #{keyWord}, '%') or
|
||||||
|
bqi.ma_code like concat('%', #{keyWord}, '%') or
|
||||||
|
msi.supplier like concat('%', #{keyWord}, '%') or
|
||||||
|
bqi.ma_code like concat('%', #{keyWord}, '%')
|
||||||
|
)
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
order by bqi.create_time desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectByMonth" resultType="com.bonus.material.basic.domain.BmQrcodeInfo">
|
||||||
|
SELECT
|
||||||
|
qr_code as qrCode
|
||||||
|
FROM
|
||||||
|
bm_qrcode_info
|
||||||
|
WHERE
|
||||||
|
DATE_FORMAT(create_time, '%Y-%m') = #{genMonth}
|
||||||
|
ORDER BY
|
||||||
|
qr_code DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getDetails" resultType="com.bonus.material.basic.domain.BmQrcodeInfo">
|
||||||
|
select bqi.id as qrId, bqi.qr_code as qrCode, bqi.qr_url as qrUrl, mt1.type_name as typeName, mt.type_name as typeModelName,
|
||||||
|
bqi.ma_code as maCode, bqi.type_id as typeId, bqi.qr_type as qrType, bqi.task_id as taskId, bqi.create_by as
|
||||||
|
createBy,
|
||||||
|
bqi.create_time as createTime, bqi.update_by as updateBy,
|
||||||
|
bqi.update_time as updateTime,
|
||||||
|
bqi.remark as remark,
|
||||||
|
bqi.company_id as companyId,
|
||||||
|
bqi.is_bind as bindStatus
|
||||||
|
from bm_qrcode_info bqi
|
||||||
|
left join ma_type mt on bqi.type_id = mt.type_id and mt.del_flag = '0'
|
||||||
|
left join ma_type mt1 on mt1.type_id = mt.parent_id and mt1.del_flag = '0'
|
||||||
|
where bqi.id in
|
||||||
|
<foreach collection="list" item="qrId" open="(" separator="," close=")">
|
||||||
|
#{qrId}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="insertBmQrcodeInfo" parameterType="com.bonus.material.basic.domain.BmQrcodeInfo" useGeneratedKeys="true" keyProperty="qrId">
|
<insert id="insertBmQrcodeInfo" parameterType="com.bonus.material.basic.domain.BmQrcodeInfo" useGeneratedKeys="true" keyProperty="qrId">
|
||||||
insert into bm_qrcode_info
|
insert into bm_qrcode_info
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
<if test="qrCode != null">qr_code,</if>
|
<if test="qrCode != null">qr_code,</if>
|
||||||
|
<if test="qrUrl != null">qr_url,</if>
|
||||||
<if test="typeId != null">type_id,</if>
|
<if test="typeId != null">type_id,</if>
|
||||||
<if test="qrType != null">qr_type,</if>
|
<if test="qrType != null">qr_type,</if>
|
||||||
<if test="taskId != null">task_id,</if>
|
<if test="taskId != null">task_id,</if>
|
||||||
|
|
@ -50,9 +103,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="updateTime != null">update_time,</if>
|
<if test="updateTime != null">update_time,</if>
|
||||||
<if test="remark != null">remark,</if>
|
<if test="remark != null">remark,</if>
|
||||||
<if test="companyId != null">company_id,</if>
|
<if test="companyId != null">company_id,</if>
|
||||||
|
<if test="supplierId != null">supplier_id,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="qrCode != null">#{qrCode},</if>
|
<if test="qrCode != null">#{qrCode},</if>
|
||||||
|
<if test="qrUrl != null">#{qrUrl},</if>
|
||||||
<if test="typeId != null">#{typeId},</if>
|
<if test="typeId != null">#{typeId},</if>
|
||||||
<if test="qrType != null">#{qrType},</if>
|
<if test="qrType != null">#{qrType},</if>
|
||||||
<if test="taskId != null">#{taskId},</if>
|
<if test="taskId != null">#{taskId},</if>
|
||||||
|
|
@ -62,6 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="updateTime != null">#{updateTime},</if>
|
<if test="updateTime != null">#{updateTime},</if>
|
||||||
<if test="remark != null">#{remark},</if>
|
<if test="remark != null">#{remark},</if>
|
||||||
<if test="companyId != null">#{companyId},</if>
|
<if test="companyId != null">#{companyId},</if>
|
||||||
|
<if test="supplierId != null">#{supplierId},</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue