Kaynağa Gözat

计划数据导入模板

buzhanyi 2 yıl önce
ebeveyn
işleme
bc2bfe32a3

+ 19 - 0
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanQuarterController.java

@@ -13,6 +13,7 @@ import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.enums.BusinessType;
 import com.ozs.common.enums.DataIsDelete;
 import com.ozs.common.utils.PageUtils;
+import com.ozs.common.utils.file.FileUtils;
 import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.framework.web.service.TokenService;
 import com.ozs.plan.doman.PlanQuarter;
@@ -23,9 +24,12 @@ import com.ozs.plan.service.impl.PlanQuarterServiceImpl;
 import com.ozs.system.service.ISysDeptService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.ObjectUtils;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -34,6 +38,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -47,6 +52,7 @@ import java.util.stream.Collectors;
  */
 @Api(tags = "季度计划")
 @RestController
+@Slf4j
 @RequestMapping("/plan/quarter")
 public class PlanQuarterController extends BaseController {
     @Autowired
@@ -342,5 +348,18 @@ public class PlanQuarterController extends BaseController {
         return success(message);
     }
 
+    @ApiOperation("模板下载")
+    @GetMapping("/downloaExcel")
+    public void downloadZip(HttpServletResponse response) {
+        try {
+            InputStream resourceAsStream = this.getClass().getResourceAsStream("/template/planQuarter.xlsx");
+            response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
+            FileUtils.setAttachmentResponseHeader(response, "季度计划导入模板.xlsx");
+            FileUtils.writeBytesByInput(resourceAsStream, response.getOutputStream());
+        } catch (Exception e) {
+            log.error("下载文件失败", e);
+        }
+    }
+
 
 }

+ 21 - 0
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanYearsController.java

@@ -13,6 +13,7 @@ import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.enums.BusinessType;
 import com.ozs.common.enums.DataIsDelete;
 import com.ozs.common.utils.PageUtils;
+import com.ozs.common.utils.file.FileUtils;
 import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.framework.web.service.TokenService;
 import com.ozs.plan.doman.PlanYears;
@@ -23,7 +24,9 @@ import com.ozs.plan.service.impl.PlanYearsServiceImpl;
 import com.ozs.system.service.ISysDeptService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -35,6 +38,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -47,6 +51,7 @@ import java.util.stream.Collectors;
  * @author buzhanyi
  */
 @Api(tags = "年度计划")
+@Slf4j
 @RestController
 @RequestMapping("/plan/planYears")
 public class PlanYearsController extends BaseController {
@@ -350,4 +355,20 @@ public class PlanYearsController extends BaseController {
     public AjaxResult planYearsTotal() {
         return success(planYearsService.count());
     }
+
+
+    @ApiOperation("模板下载")
+    @GetMapping("/downloaExcel")
+    public void downloadZip(HttpServletResponse response) {
+        try {
+            InputStream resourceAsStream = this.getClass().getResourceAsStream("/template/planYears.xlsx");
+            response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
+            FileUtils.setAttachmentResponseHeader(response, "年度计划导入模板.xlsx");
+            FileUtils.writeBytesByInput(resourceAsStream, response.getOutputStream());
+
+        } catch (Exception e) {
+            log.error("下载文件失败", e);
+        }
+    }
+
 }

+ 2 - 2
purchase-admin/src/main/resources/application.yml

@@ -10,5 +10,5 @@ server:
 # Spring配置
 spring:
   profiles:
-#    active: druid,test
-    active: prod
+    active: druid,dev
+#    active: prod

BIN
purchase-admin/src/main/resources/template/planQuarter.xlsx


BIN
purchase-admin/src/main/resources/template/planYears.xlsx


BIN
purchase-admin/src/main/resources/template/provisionalPlan.xlsx


+ 6 - 4
purchase-system/src/main/java/com/ozs/plan/doman/ProvisionalPlan.java

@@ -62,6 +62,7 @@ public class ProvisionalPlan {
     @ApiModelProperty(value = "采购服务站")
     @TableField("purchase_services")
     private String  purchaseServices;
+
     @Excel(name = "采购服务站")
     @TableField(exist = false)
     private String purchaseServicesStr;
@@ -73,28 +74,29 @@ public class ProvisionalPlan {
     @TableField(exist = false)
     private String purchaseModeStr;
 
-    @Excel(name = "提报需求时间")
+    @Excel(name = "计划提报需求时间", dateFormat = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty(value = "计划提报需求时间--->需求单位成功提报采购需求的日期(具体到月)")
     @TableField("plan_demand_sub_time")
     private Date planDemandSubTime;
 
-    @Excel(name = "完成采购时间")
+    @Excel(name = "计划完成采购时间", dateFormat = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty(value = "计划完成采购时间--->公示中标结果的日期,即填制中标信息的日期(具体到月)")
     @TableField("plan_purchase_finish_time")
     private Date planPurchaseFinishTime;
 
-    @Excel(name = "交付(实施)时间")
+    @Excel(name = "计划交付(实施)时间", dateFormat = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty(value = "计划交付时间--->供应商完成并交付后,使用单位收到标的日期,即填制建设文档的日期")
     @TableField("plan_deliver_time")
     private Date planDeliverTime;
 
+    @Excel(name = "项目属性")
     @ApiModelProperty(value = "项目属性(0:应急应战项目, 1:重大规划任务项目, 2:规划任务项目, 3:一般项目)")
     @TableField("project_attr")
     private String projectAttr;
-    @Excel(name = "项目属性")
+
     @TableField(exist = false)
     private String projectAttrStr;
 

+ 3 - 3
purchase-system/src/main/java/com/ozs/plan/doman/vo/requestVo/PlanQuarterStandardVo.java

@@ -87,7 +87,7 @@ public class PlanQuarterStandardVo extends PageVo {
     /**
      * 计划提报需求时间--->需求单位成功提报采购需求的日期(具体到月)
      */
-    @Excel(name = "提报需求时间", dateFormat = "yyyy-MM-dd")
+    @Excel(name = "计划提报需求时间", dateFormat = "yyyy-MM-dd")
     @ApiModelProperty(value = "计划提报需求时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDemandSubTime;
@@ -95,7 +95,7 @@ public class PlanQuarterStandardVo extends PageVo {
     /**
      * 计划完成采购时间--->公示中标结果的日期,即填制中标信息的日期(具体到月)
      */
-    @Excel(name = "完成采购时间", dateFormat = "yyyy-MM-dd")
+    @Excel(name = "计划完成采购时间", dateFormat = "yyyy-MM-dd")
     @ApiModelProperty(value = "计划完成采购时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planPurchaseFinishTime;
@@ -103,7 +103,7 @@ public class PlanQuarterStandardVo extends PageVo {
     /**
      * 计划交付时间--->供应商完成并交付后,使用单位收到标的日期,即填制建设文档的日期
      */
-    @Excel(name = "交付(实施)时间", dateFormat = "yyyy-MM-dd")
+    @Excel(name = "计划交付(实施)时间", dateFormat = "yyyy-MM-dd")
     @ApiModelProperty(value = "计划交付时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDeliverTime;

+ 3 - 3
purchase-system/src/main/java/com/ozs/plan/doman/vo/requestVo/PlanYearsStandardVo.java

@@ -83,7 +83,7 @@ public class PlanYearsStandardVo extends PageVo {
     /**
      * 计划提报需求时间--->需求单位成功提报采购需求的日期(具体到月)
      */
-    @Excel(name = "提报需求时间", dateFormat = "yyyy-MM-dd")
+    @Excel(name = "计划提报需求时间", dateFormat = "yyyy-MM-dd")
     @ApiModelProperty(value = "计划提报需求时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDemandSubTime;
@@ -91,7 +91,7 @@ public class PlanYearsStandardVo extends PageVo {
     /**
      * 计划完成采购时间--->公示中标结果的日期,即填制中标信息的日期(具体到月)
      */
-    @Excel(name = "完成采购时间", dateFormat = "yyyy-MM-dd")
+    @Excel(name = "计划完成采购时间", dateFormat = "yyyy-MM-dd")
     @ApiModelProperty(value = "计划完成采购时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planPurchaseFinishTime;
@@ -99,7 +99,7 @@ public class PlanYearsStandardVo extends PageVo {
     /**
      * 计划交付时间--->供应商完成并交付后,使用单位收到标的日期,即填制建设文档的日期
      */
-    @Excel(name = "交付(实施)时间", dateFormat = "yyyy-MM-dd")
+    @Excel(name = "计划交付(实施)时间", dateFormat = "yyyy-MM-dd")
     @ApiModelProperty(value = "计划交付时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDeliverTime;

+ 6 - 2
purchase-system/src/main/java/com/ozs/plan/service/impl/ProvisionalPlanServiceImpl.java

@@ -112,13 +112,17 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
                     if (ofProvisionalPlan.getProjectAttr().contains(",")) {
                         String[] split = ofProvisionalPlan.getProjectAttr().split(",");
                         for (String s : split) {
-                            builder.append(projectAttributes.get(s) + ",");
+                            if (!ofProvisionalPlan.getProjectAttr().endsWith(s)) {
+                                builder.append(projectAttributes.get(s) + ",");
+                            } else {
+                                builder.append(projectAttributes.get(s));
+                            }
                         }
                     } else {
                         builder.append(projectAttributes.get(ofProvisionalPlan.getProjectAttr()));
                     }
                     ofProvisionalPlan.setProjectAttr(builder.toString());
-                    ofProvisionalPlan.setPurchaseServices(purchaseServices.get(ofProvisionalPlan.getPurchaseServices()));
+                    ofProvisionalPlan.setPurchaseServices(purchaseServices.get(ofProvisionalPlan.getPurchaseServicesStr()));
                     ofProvisionalPlan.setIsExcess(deptService.isExcessOrNo(ofProvisionalPlan.getProjectType(), ofProvisionalPlan.getEvaluation(), info.getDeptId()));
                     ofProvisionalPlan.setCreated(String.valueOf(loginUser.getUserId()));
                     ofProvisionalPlan.setCreateTime(new Date());