diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/BmProjectLotController.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/BmProjectLotController.java index 166856c8..15a53399 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/BmProjectLotController.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/BmProjectLotController.java @@ -1,6 +1,7 @@ package com.bonus.sgzb.base.controller; import com.bonus.sgzb.base.domain.BmProjectLot; +import com.bonus.sgzb.base.domain.vo.BmProjectLotImport; import com.bonus.sgzb.base.service.BmProjectLotService; import com.bonus.sgzb.common.core.utils.poi.ExcelUtil; import com.bonus.sgzb.common.core.web.controller.BaseController; @@ -8,13 +9,15 @@ import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.core.web.page.TableDataInfo; import com.bonus.sgzb.common.log.annotation.Log; import com.bonus.sgzb.common.log.enums.BusinessType; +import com.bonus.sgzb.common.security.annotation.RequiresPermissions; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -28,7 +31,7 @@ import java.util.List; @RequestMapping("/bmProjectLot") public class BmProjectLotController extends BaseController { - @Autowired + @Resource private BmProjectLotService bmProjectLotService; /** @@ -87,5 +90,15 @@ public class BmProjectLotController extends BaseController { return bmProjectLotService.updateBmProjectLot(bmProjectLot); } + @Log(title = "项目管理导入", businessType = BusinessType.IMPORT) + @RequiresPermissions("system:user:import") + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file) throws Exception + { + ExcelUtil util = new ExcelUtil<>(BmProjectLotImport.class); + List bmProjectLotList = util.importExcel(file.getInputStream()); + String message = bmProjectLotService.importBmProjectLot(bmProjectLotList); + return success(message); + } } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/vo/BmProjectLotImport.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/vo/BmProjectLotImport.java new file mode 100644 index 00000000..0d9d584b --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/domain/vo/BmProjectLotImport.java @@ -0,0 +1,206 @@ +package com.bonus.sgzb.base.domain.vo; + + +import com.bonus.sgzb.common.core.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.sql.Timestamp; + + +@Data +public class BmProjectLotImport { + + /** + * 状态 + */ + @Excel(name = "状态") + private String examineStatus; + + /** + * 创建时间 + */ + @Excel(name = "提交时间") + private String createTime; + + /** + *项目类别 + */ + @Excel(name = "项目类别") + private String projectCategory; + + + /** + * 标段工程项目名称 + */ + @Excel(name = "项目名称") + private String lotName; + + /** + * 标段工程项目编号 + */ + @Excel(name = "项目编号") + private String lotCode; + + /** + * 是否框架项目 + */ + @Excel(name = "是否框架项目") + private String isFrameworkProject; + + /** + * 是否子项目 + */ + @Excel(name = "是否子项目") + private String isSubProject; + + /** + * 所属工程 + */ + @Excel(name = "父项目名称") + private String ownPro; + + /** + * 父项目编号 + */ + @Excel(name = "父项目编号") + private String ownProId; + + /** + * 项目状态 + */ + @Excel(name = "项目状态") + private String projectStatus; + + /** + * 业务来源 + */ + @Excel(name = "业务来源") + private String businessSource; + + /** + * 电压等级 + */ + @Excel(name = "电压等级") + private String voltageLevel; + + /** + * 联系人 + */ + @Excel(name = "提交人名称") + private String linkMan; + + /** + * 建设单位 + */ + @Excel(name = "建设单位") + private String constructionUnit; + + /** + * 实施单位 + */ + @Excel(name = "实施单位") + private String implementationUnit; + + /** + * 部门 + */ + @Excel(name = "部门") + private String department; + + /** + * 创建者公司 + */ + @Excel(name = "创建者公司") + private String creatorCompany; + + /** + * 设计单位 + */ + @Excel(name = "设计单位") + private String designUnit; + + /** + * 监理单位 + */ + @Excel(name = "监理单位") + private String constructionControlUnit; + + /** + * 计划开工日期 + */ + @Excel(name = "计划开工日期") + private String plannedStartDate; + + /** + * 计划竣工日期 + */ + @Excel(name = "计划竣工日期") + private String plannedCompletionDate; + + /** + * 项目类别ID + */ + @Excel(name = "项目类别ID") + private String projectCategoryId; + + /** + * 建设单位ID + */ + @Excel(name = "建设单位ID") + private String constructionUnitId; + + /** + * 实施单位ID + */ + @Excel(name = "实施单位ID") + private String implementationUnitId; + + /** + * 设计单位ID + */ + @Excel(name = "设计单位ID") + private String designUnitId; + + /** + * 监理单位ID + */ + @Excel(name = "监理单位ID") + private String constructionControlUnitId; + + /** + * 工程地点 + */ + @Excel(name = "工程地点") + private String projectLocation; + + /** + * 工程所在省 + */ + @Excel(name = "工程所在省") + private String projectLocationProvince; + + /** + * 工程所在市 + */ + @Excel(name = "工程所在市") + private String projectLocationCity; + + /** + * 结束时间 + */ + @Excel(name = "结束时间") + private String endTime; + + /** + * 建设单位类型 + */ + @Excel(name = "建设单位类型") + private String constructionUnitType; + + /** + * 建设单位统一社会信用代码 + */ + @Excel(name = "建设单位统一社会信用代码") + private String constructionUnitCode; +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/BmProjectLotMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/BmProjectLotMapper.java index 1b726dbb..1fa03259 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/BmProjectLotMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/BmProjectLotMapper.java @@ -1,7 +1,7 @@ package com.bonus.sgzb.base.mapper; -import com.bonus.sgzb.base.domain.BmProjectInfo; import com.bonus.sgzb.base.domain.BmProjectLot; +import com.bonus.sgzb.base.domain.vo.BmProjectLotImport; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -21,4 +21,6 @@ public interface BmProjectLotMapper { public int deleteProjectLotById(Long lotId); BmProjectLot selectByName(String lotName); + + void projectLotImport(BmProjectLotImport bmProjectLotImport); } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/BmProjectLotService.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/BmProjectLotService.java index bbeae567..fa55ee91 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/BmProjectLotService.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/BmProjectLotService.java @@ -2,6 +2,7 @@ package com.bonus.sgzb.base.service; import com.bonus.sgzb.base.domain.BmProjectLot; +import com.bonus.sgzb.base.domain.vo.BmProjectLotImport; import com.bonus.sgzb.common.core.web.domain.AjaxResult; import java.util.List; @@ -19,5 +20,5 @@ public interface BmProjectLotService { public int deleteProjectLotById(Long lotId); - String importBmProjectLot(List bmProjectLotList); + String importBmProjectLot(List bmProjectLotImportList); } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/BmProjectLotServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/BmProjectLotServiceImpl.java index 04d77d9b..bcb196b6 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/BmProjectLotServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/BmProjectLotServiceImpl.java @@ -1,20 +1,24 @@ package com.bonus.sgzb.base.service.impl; - import com.bonus.sgzb.base.domain.BmProjectLot; +import com.bonus.sgzb.base.domain.vo.BmProjectLotImport; import com.bonus.sgzb.base.mapper.BmProjectLotMapper; import com.bonus.sgzb.base.service.BmProjectLotService; +import com.bonus.sgzb.common.core.exception.ServiceException; import com.bonus.sgzb.common.core.utils.StringUtils; import com.bonus.sgzb.common.core.web.domain.AjaxResult; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.List; @Service +@Slf4j public class BmProjectLotServiceImpl implements BmProjectLotService { - @Autowired + @Resource private BmProjectLotMapper bmProjectLotMapper; @Override @@ -59,5 +63,21 @@ public class BmProjectLotServiceImpl implements BmProjectLotService { return bmProjectLotMapper.deleteProjectLotById(lotId); } + @Override + @Transactional + public String importBmProjectLot(List bmProjectLotImportList) { + log.info("BmProjectLotServiceImpl importBmProjectLot 导入开始------"); + if (StringUtils.isNull(bmProjectLotImportList) || bmProjectLotImportList.size() == 0) + { + throw new ServiceException("导入项目管理数据不能为空!"); + } + //保存项目管理 + for (BmProjectLotImport bmProjectLotImport: bmProjectLotImportList) { + bmProjectLotMapper.projectLotImport(bmProjectLotImport); + } + log.info("BmProjectLotServiceImpl importBmProjectLot 导入结束------"); + return "导入成功"; + } + } diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/BmProjectLotMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/BmProjectLotMapper.xml index 13279d02..09775970 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/BmProjectLotMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/BmProjectLotMapper.xml @@ -133,7 +133,78 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" sysdate() ) - + + insert into bm_project_lot ( + examine_status, + create_time, + project_category, + lot_name, + lot_code, + is_framework_project, + is_sub_project, + own_pro, + own_pro_Id, + project_status, + business_source, + voltage_level, + link_man, + construction_unit, + implementation_unit, + department, + creator_company, + design_unit, + construction_control_unit, + planned_start_date, + planned_completion_date, + project_category_id, + construction_unit_id, + implementation_unit_id, + design_unit_id, + construction_control_unit_id, + project_location, + project_location_province, + project_location_city, + end_time, + construction_unit_type, + construction_unit_code + + ) VALUES ( + #{examineStatus}, + #{createTime}, + #{projectCategory}, + #{lotName}, + #{lotCode}, + #{isFrameworkProject}, + #{isSubProject}, + #{ownPro}, + #{ownProId}, + #{projectStatus}, + #{businessSource}, + #{voltageLevel}, + #{linkMan}, + #{constructionUnit}, + #{implementationUnit}, + #{department}, + #{creatorCompany}, + #{designUnit}, + #{constructionControlUnit}, + #{plannedStartDate}, + #{plannedCompletionDate}, + #{projectCategoryId}, + #{constructionUnitId}, + #{implementationUnitId}, + #{designUnitId}, + #{constructionControlUnitId}, + #{projectLocation}, + #{projectLocationProvince}, + #{projectLocationCity}, + #{endTime}, + #{constructionUnitType}, + #{constructionUnitCode} + + ) + + update bm_project_lot