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 EquipmentOrdering = "equipmentOrdering"; //订货
public static final String PURCHASE_DOC_FILE_URL = "docs/purchase/doc/"; // 采购联系单文件路径 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 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 java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission; 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.dromara.system.service.ISysOssService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -31,6 +36,7 @@ import org.springframework.web.multipart.MultipartFile;
* @author Lion Li * @author Lion Li
* @date 2025-08-19 * @date 2025-08-19
*/ */
@Slf4j
@Validated @Validated
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController

View File

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

View File

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

View File

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

View File

@ -18,7 +18,8 @@ import java.util.List;
* @author Lion Li * @author Lion Li
* @date 2025-08-19 * @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; package org.dromara.tender.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.service.OssService;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
@ -35,6 +39,7 @@ import static org.dromara.common.constant.MinioPathConstant.SupplierInput;
* @author Lion Li * @author Lion Li
* @date 2025-08-19 * @date 2025-08-19
*/ */
@Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierInputMapper, TenderSupplierInput> implements ITenderSupplierInputService { 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); TenderSupplierInput add = MapstructUtils.convert(bo, TenderSupplierInput.class);
SysOssUploadVo sysOssUploadVo = ossService.uploadWithNoSave(file, ossService.minioFileName(SupplierInput, file)); SysOssUploadVo sysOssUploadVo = ossService.uploadWithNoSave(file, ossService.minioFileName(SupplierInput, file));
add.setInputFile(sysOssUploadVo.getUrl()); add.setInputFile(sysOssUploadVo.getUrl());
add.setFileId(Long.valueOf(sysOssUploadVo.getOssId())); // add.setFileId(Long.valueOf(sysOssUploadVo.getOssId()));
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
@ -118,11 +123,11 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierIn
public Boolean updateByBo(TenderSupplierInputBo bo,MultipartFile file) { public Boolean updateByBo(TenderSupplierInputBo bo,MultipartFile file) {
TenderSupplierInput update = MapstructUtils.convert(bo, TenderSupplierInput.class); TenderSupplierInput update = MapstructUtils.convert(bo, TenderSupplierInput.class);
TenderSupplierInput byId = getById(update.getId()); 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)); SysOssUploadVo sysOssUploadVo = ossService.uploadWithNoSave(file, ossService.minioFileName(SupplierInput, file));
update.setInputFile(sysOssUploadVo.getUrl()); update.setInputFile(sysOssUploadVo.getUrl());
update.setFileId(Long.valueOf(sysOssUploadVo.getOssId())); // update.setFileId(Long.valueOf(sysOssUploadVo.getOssId()));
validEntityBeforeSave(update); validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0; return baseMapper.updateById(update) > 0;
} }
@ -145,15 +150,40 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl<TenderSupplierIn
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){ if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验 //TODO 做一些业务上的校验,判断是否需要校验
List<Long> fileIds = new ArrayList<>(); // List<Long> fileIds = new ArrayList<>();
for (Long id : ids) { // for (Long id : ids) {
TenderSupplierInput byId = getById(id); // TenderSupplierInput byId = getById(id);
if (byId.getFileId() != null){ // if (byId.getFileId() != null){
fileIds.add(byId.getFileId()); // fileIds.add(byId.getFileId());
} // }
} // }
ossService.deleteWithValidByIds(fileIds, false); // ossService.deleteWithValidByIds(fileIds, false);
} }
return baseMapper.deleteByIds(ids) > 0; 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));
}
} }