08-20-供应商入库监听器,供应商入库新增字段
This commit is contained in:
		| @ -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";//供应商入库 | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 获取物资采购联系单文件名 |      * 获取物资采购联系单文件名 | ||||||
|  | |||||||
| @ -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 | ||||||
|  | |||||||
| @ -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; | ||||||
|  |  | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -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; | ||||||
|  |  | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -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; | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -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>{ | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 查询供应商入库 |      * 查询供应商入库 | ||||||
|  | |||||||
| @ -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)); | ||||||
|  |     } | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user