From 8643650da2facd9ee64f69846f34e7f9e9d74d8c Mon Sep 17 00:00:00 2001
From: zrj <646384940@qq.com>
Date: Mon, 28 Oct 2024 17:42:51 +0800
Subject: [PATCH] 新增应急物资导入
---
src/main/java/org/springblade/modules/yw/service/impl/EmergencySuppliesServiceImpl.java | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 109 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/yw/service/impl/EmergencySuppliesServiceImpl.java b/src/main/java/org/springblade/modules/yw/service/impl/EmergencySuppliesServiceImpl.java
index a241682..2d21f4f 100644
--- a/src/main/java/org/springblade/modules/yw/service/impl/EmergencySuppliesServiceImpl.java
+++ b/src/main/java/org/springblade/modules/yw/service/impl/EmergencySuppliesServiceImpl.java
@@ -1,12 +1,24 @@
package org.springblade.modules.yw.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.logging.log4j.util.Strings;
+import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.yw.entity.EmergencySuppliesEntity;
+import org.springblade.modules.yw.entity.FirmInfo;
+import org.springblade.modules.yw.entity.SuppliesEntity;
+import org.springblade.modules.yw.excel.EmergencySuppliesExcel;
+import org.springblade.modules.yw.service.IFirmInfoService;
+import org.springblade.modules.yw.service.ISuppliesService;
import org.springblade.modules.yw.vo.EmergencySuppliesVO;
import org.springblade.modules.yw.mapper.EmergencySuppliesMapper;
import org.springblade.modules.yw.service.IEmergencySuppliesService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+import java.util.Objects;
/**
* 应急物资表 服务实现类
@@ -17,10 +29,107 @@
@Service
public class EmergencySuppliesServiceImpl extends ServiceImpl<EmergencySuppliesMapper, EmergencySuppliesEntity> implements IEmergencySuppliesService {
+ @Autowired
+ private IFirmInfoService firmInfoService;
+
+ @Autowired
+ private ISuppliesService suppliesService;
+
+ /**
+ * 自定义分页查询
+ * @param page
+ * @param emergencySupplies
+ * @return
+ */
@Override
public IPage<EmergencySuppliesVO> selectEmergencySuppliesPage(IPage<EmergencySuppliesVO> page, EmergencySuppliesVO emergencySupplies) {
return page.setRecords(baseMapper.selectEmergencySuppliesPage(page, emergencySupplies));
}
+ /**
+ * 导入应急物资信息
+ * @param data
+ * @param isCovered
+ * @return
+ */
+ @Override
+ public String importEmergencySupplies(List<EmergencySuppliesExcel> data, boolean isCovered) {
+ for (EmergencySuppliesExcel emergencySuppliesExcel : data) {
+ EmergencySuppliesEntity emergencySuppliesEntity = Objects.requireNonNull(BeanUtil.copy(emergencySuppliesExcel, EmergencySuppliesEntity.class));
+ // 物资类型转换
+ if (!Strings.isBlank(emergencySuppliesExcel.getType())){
+ emergencySuppliesEntity.setType(Integer.parseInt(emergencySuppliesExcel.getType()));
+ }
+ // 物资单位转换
+ if (!Strings.isBlank(emergencySuppliesExcel.getUnit())){
+ emergencySuppliesEntity.setUnit(Integer.parseInt(emergencySuppliesExcel.getUnit()));
+ }
+ // 设置企业和仓库
+ setFirm(emergencySuppliesExcel,emergencySuppliesEntity);
+ setSupplies(emergencySuppliesExcel,emergencySuppliesEntity);
+ // 查询是否已入库
+ Long id = isSave(emergencySuppliesEntity);
+ // 已入库
+ if (null!=id){
+ if (isCovered){
+ emergencySuppliesEntity.setId(id);
+ // 覆盖-更新
+ updateById(emergencySuppliesEntity);
+ break;
+ }
+ }
+ // 保存
+ save(emergencySuppliesEntity);
+ }
+ return null;
+ }
+ /**
+ * 判断物资是否已经入库
+ * @param emergencySuppliesEntity
+ * @return
+ */
+ private Long isSave(EmergencySuppliesEntity emergencySuppliesEntity) {
+ QueryWrapper<EmergencySuppliesEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("name",emergencySuppliesEntity.getName())
+ .eq("firm_id",emergencySuppliesEntity.getFirmId())
+ .eq("supplies_id",emergencySuppliesEntity.getSuppliesId())
+ .eq("is_deleted",0);
+ EmergencySuppliesEntity one = getOne(wrapper);
+ if (null!=one){
+ return one.getId();
+ }
+ return null;
+ }
+
+ /**
+ * 设置企业信息
+ * @param emergencySuppliesExcel
+ * @param emergencySuppliesEntity
+ */
+ private void setFirm(EmergencySuppliesExcel emergencySuppliesExcel, EmergencySuppliesEntity emergencySuppliesEntity) {
+ QueryWrapper<FirmInfo> wrapper = new QueryWrapper<>();
+ wrapper.eq("name",emergencySuppliesExcel.getFirmName())
+ .eq("is_deleted",0);
+ FirmInfo firmInfo = firmInfoService.getOne(wrapper);
+ if (null!=firmInfo){
+ emergencySuppliesEntity.setFirmId(firmInfo.getId());
+ }
+ }
+
+ /**
+ * 设置仓库信息
+ * @param emergencySuppliesExcel
+ * @param emergencySuppliesEntity
+ */
+ private void setSupplies(EmergencySuppliesExcel emergencySuppliesExcel, EmergencySuppliesEntity emergencySuppliesEntity) {
+ QueryWrapper<SuppliesEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("firm_id",emergencySuppliesEntity.getFirmId())
+ .eq("name",emergencySuppliesExcel.getName())
+ .eq("is_deleted",0);
+ SuppliesEntity suppliesEntity = suppliesService.getOne(wrapper);
+ if (null!=suppliesEntity){
+ emergencySuppliesEntity.setSuppliesId(suppliesEntity.getId());
+ }
+ }
}
--
Gitblit v1.9.3