08-20-供应商入库监听器,供应商入库新增字段

This commit is contained in:
2025-08-20 15:15:21 +08:00
parent bd382a71bb
commit 30d17b3051
7 changed files with 113 additions and 12 deletions

View File

@ -17,6 +17,7 @@ public class constant {
public static final String EquipmentOrdering = "equipmentOrdering"; //订货
public static final String PURCHASE_DOC_FILE_URL = "docs/purchase/doc/"; // 采购联系单文件路径
public static final String PURCHASE_DOC_TEMPLATE_PATH = "template/物资采购联系单模版.docx"; // 采购联系单文件路径
public static final String SUPPLIER_INPUT = "supplierInput";//供应商入库
/**
* 获取物资采购联系单文件名

View File

@ -2,10 +2,15 @@ package org.dromara.tender.controller;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import lombok.extern.slf4j.Slf4j;
import org.dromara.cailiaoshebei.controller.constant;
import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici;
import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.system.service.ISysOssService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -31,6 +36,7 @@ import org.springframework.web.multipart.MultipartFile;
* @author Lion Li
* @date 2025-08-19
*/
@Slf4j
@Validated
@RequiredArgsConstructor
@RestController

View File

@ -32,6 +32,21 @@ public class TenderSupplierInput extends BaseEntity {
*/
private String supplierType;
/***
* 供应商名称
*/
private String supplierName;
/***
* 供应商负责人
*/
private String supplierPerson;
/***
* 负责人电话
*/
private String personPhone;
/***
* 资料文件ID
*/
@ -42,5 +57,10 @@ public class TenderSupplierInput extends BaseEntity {
*/
private String inputFile;
/***
* 审核状态
*/
private String state;
}

View File

@ -31,10 +31,30 @@ public class TenderSupplierInputBo extends BaseEntity {
*/
private String supplierType;
/***
* 供应商名称
*/
private String supplierName;
/***
* 供应商负责人
*/
private String supplierPerson;
/***
* 负责人电话
*/
private String personPhone;
/**
* 入库资料
*/
private String inputFile;
/***
* 审核状态
*/
private String state;
}

View File

@ -40,11 +40,34 @@ public class TenderSupplierInputVo implements Serializable {
@ExcelProperty(value = "供应商类型")
private String supplierType;
/***
* 供应商名称
*/
@ExcelProperty(value = "供应商名称")
private String supplierName;
/***
* 供应商负责人
*/
@ExcelProperty(value = "供应商负责人")
private String supplierPerson;
/***
* 负责人电话
*/
@ExcelProperty(value = "负责人电话")
private String personPhone;
/**
* 入库资料
*/
@ExcelProperty(value = "入库资料")
private String inputFile;
/***
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String state;
}

View File

@ -18,7 +18,8 @@ import java.util.List;
* @author Lion Li
* @date 2025-08-19
*/
public interface ITenderSupplierInputService extends IService<TenderSupplierInput>{
public interface
ITenderSupplierInputService extends IService<TenderSupplierInput>{
/**
* 查询供应商入库

View File

@ -1,6 +1,10 @@
package org.dromara.tender.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.dromara.cailiaoshebei.controller.constant;
import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici;
import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.common.core.service.OssService;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
@ -35,6 +39,7 @@ import static org.dromara.common.constant.MinioPathConstant.SupplierInput;
* @author Lion Li
* @date 2025-08-19
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierInputMapper, TenderSupplierInput> implements ITenderSupplierInputService {
@ -99,7 +104,7 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierIn
TenderSupplierInput add = MapstructUtils.convert(bo, TenderSupplierInput.class);
SysOssUploadVo sysOssUploadVo = ossService.uploadWithNoSave(file, ossService.minioFileName(SupplierInput, file));
add.setInputFile(sysOssUploadVo.getUrl());
add.setFileId(Long.valueOf(sysOssUploadVo.getOssId()));
// add.setFileId(Long.valueOf(sysOssUploadVo.getOssId()));
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
@ -118,11 +123,11 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierIn
public Boolean updateByBo(TenderSupplierInputBo bo,MultipartFile file) {
TenderSupplierInput update = MapstructUtils.convert(bo, TenderSupplierInput.class);
TenderSupplierInput byId = getById(update.getId());
ossService.deleteWithValidByIds(List.of(byId.getFileId()), false);
// ossService.deleteWithValidByIds(List.of(byId.getFileId()), false);
SysOssUploadVo sysOssUploadVo = ossService.uploadWithNoSave(file, ossService.minioFileName(SupplierInput, file));
update.setInputFile(sysOssUploadVo.getUrl());
update.setFileId(Long.valueOf(sysOssUploadVo.getOssId()));
// update.setFileId(Long.valueOf(sysOssUploadVo.getOssId()));
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
@ -145,15 +150,40 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierIn
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
List<Long> fileIds = new ArrayList<>();
for (Long id : ids) {
TenderSupplierInput byId = getById(id);
if (byId.getFileId() != null){
fileIds.add(byId.getFileId());
}
}
ossService.deleteWithValidByIds(fileIds, false);
// List<Long> fileIds = new ArrayList<>();
// for (Long id : ids) {
// TenderSupplierInput byId = getById(id);
// if (byId.getFileId() != null){
// fileIds.add(byId.getFileId());
// }
// }
// ossService.deleteWithValidByIds(fileIds, false);
}
return baseMapper.deleteByIds(ids) > 0;
}
/**
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
* 正常使用只需#processEvent.flowCode=='leave1'
* 示例为了方便则使用startsWith匹配了全部示例key
*
* @param processEvent 参数
*/
@org.springframework.context.event.EventListener(condition = "#processEvent.flowCode.endsWith('"+ constant.SUPPLIER_INPUT+"')")
public void processPlansHandler(ProcessEvent processEvent) {
log.info("物资计划审核任务执行了{}", processEvent.toString());
TenderSupplierInput byId = getById(processEvent.getBusinessId());
byId.setState(processEvent.getStatus());
boolean b = updateById(byId);
if (!b){
log.error("更改供应商入库状态失败");
}
// String batchNumber = processEvent.getBusinessId().split("_")[0];
// //1、根据批次ID改编审核状态
// BusCailiaoshebeiPici busCailiaoshebeiPici = new BusCailiaoshebeiPici().setApprovalPlan(processEvent.getStatus());
// busCailiaoshebeiPiciService.update(busCailiaoshebeiPici, new LambdaQueryWrapper<BusCailiaoshebeiPici>()
// .eq(BusCailiaoshebeiPici::getBatchNumber, batchNumber));
}
}