先下载二维码,绑定编码后处理

This commit is contained in:
mashuai 2024-12-24 11:28:33 +08:00
parent 93bc93b103
commit 33d6c3bbd1
4 changed files with 55 additions and 3 deletions

View File

@ -60,6 +60,9 @@ public class PurchaseVo {
@ApiModelProperty(value="验收数量")
private BigDecimal checkNum;
@ApiModelProperty(value="待绑定数量")
private BigDecimal pendingBindNum;
@ApiModelProperty(value="绑定数量")
private BigDecimal bindNum;

View File

@ -100,4 +100,11 @@ public interface PurchaseBindMapper {
List<PurchaseCheckDetails> getMachineById(PurchaseDto dto);
List<PurchaseVo> getTypeByQrcode(PurchaseDto dto);
/**
* 查询绑定详情
* @param purchaseDto
* @return
*/
List<PurchaseVo> selectPurchaseCheckDetailsById(PurchaseDto purchaseDto);
}

View File

@ -276,7 +276,14 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
*/
private void handlePurchaseId(Set<String> addedEntries, PurchaseDto purchaseDto, List<PurchaseVo> codeList, Integer status, ZipOutputStream zos, String genMonth) throws IOException, WriterException {
if (status == 1) {
Select(addedEntries, purchaseDto, zos);
List<PurchaseVo> details = purchaseBindMapper.getDetails(purchaseDto);
if (CollectionUtils.isNotEmpty(details)) {
PurchaseVo detail = details.get(0);
if (detail.getBindNum() != null ) {
detail.setPendingBindNum(detail.getCheckNum().subtract(detail.getBindNum()) );
}
Select(addedEntries, purchaseDto, zos, detail);
}
} else {
int num = getInitialNum(codeList);
List<PurchaseVo> details = purchaseBindMapper.getDetails(purchaseDto);
@ -364,8 +371,12 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
* @param zos
* @throws IOException
*/
private void Select(Set<String> addedEntries, PurchaseDto purchaseDto, ZipOutputStream zos) throws IOException {
List<PurchaseVo> list = purchaseBindMapper.selectPurchaseCheckInfoById(purchaseDto);
private void Select(Set<String> addedEntries, PurchaseDto purchaseDto, ZipOutputStream zos, PurchaseVo detail) throws IOException {
List<PurchaseVo> list = purchaseBindMapper.selectPurchaseCheckDetailsById(purchaseDto);
if (detail.getPendingBindNum() != null && detail.getPendingBindNum().compareTo(BigDecimal.ZERO) > 0) {
int num = (int) detail.getPendingBindNum().doubleValue();
list = list.subList(0, num);
}
if (com.alibaba.nacos.common.utils.CollectionUtils.isNotEmpty(list)) {
for (PurchaseVo purchaseVo : list) {
String materialModel = purchaseVo.getMaterialModel();

View File

@ -336,4 +336,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE
qr_code = #{qrCode}
</select>
<select id="selectPurchaseCheckDetailsById" resultType="com.bonus.material.purchase.domain.vo.PurchaseVo">
SELECT
pm.task_id AS taskId,
pcd.id AS purchaseId,
mt1.type_name AS materialName,
mt.type_name AS materialModel,
pm.ma_code AS maCode,
pm.create_by AS createBy,
pm.create_time AS createTime,
pm.type_id AS typeId,
pm.out_fac_code AS outFacCode,
pcd.production_time AS productDate,
pm.qr_code AS qrCode,
pm.qr_url AS qrUrl,
pcd.check_num AS purchaseNum,
pcd.check_num AS checkNum,
pcd.bind_num AS bindNum,
pcd.status AS status
FROM
bm_qrcode_info pm
LEFT JOIN purchase_check_details pcd ON pm.task_id = pcd.task_id
AND pm.type_id = pcd.type_id
LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
WHERE
1=1 and pm.qr_code IS NOT NULL
<if test="purchaseId != null">
AND pcd.id = #{purchaseId}
</if>
</select>
</mapper>