소스 검색

政策-政策导出

yangzian 3 년 전
부모
커밋
3b16cbfe58

+ 11 - 0
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java

@@ -1146,6 +1146,17 @@ public class DateUtils extends PropertyEditorSupport {
         }
     }
 
+    public static String dateToStringTime(Date date) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        try {
+            return sdf.format(date);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
 
     public static Map<String, Object> getBeforeDate() {
         Date dNow = new Date();

+ 54 - 0
jeecg-boot-finance/src/main/java/org/jeecg/ctop/finance/policy/controller/CwjsPolicyInfoController.java

@@ -1,5 +1,6 @@
 package org.jeecg.ctop.finance.policy.controller;
 
+import java.net.URLEncoder;
 import java.text.ParseException;
 import java.util.*;
 import java.io.IOException;
@@ -21,6 +22,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.entity.SysUser;
@@ -37,15 +39,19 @@ import lombok.extern.slf4j.Slf4j;
 import org.jeecg.ctop.finance.policy.service.impl.CwjsCompanySubjectServiceImpl;
 import org.jeecg.ctop.finance.policy.utils.Check;
 import org.jeecg.ctop.finance.policy.utils.ListPageUtil;
+import org.jeecg.ctop.finance.settlement.entity.vo.ProfitReportBytedanceVo;
+import org.jeecg.ctop.finance.settlement.entity.vo.ProfitReportKuaiShouVo;
 import org.jeecg.ctop.finance.settlement.service.serviceImpl.ReportSettlementServiceImpl;
 import org.jeecg.modules.ctop.service.IMaterialReportOverViewService;
 import org.jeecg.modules.system.service.ISysRoleService;
+import org.jeecgframework.poi.excel.ExcelExportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
 
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -939,6 +945,54 @@ public class CwjsPolicyInfoController {
 
 
 
+	 @ApiOperation(value="政策信息导出", notes="政策信息导出")
+	 @GetMapping(value = "/exportPolicy")
+	 public Result exportPolicy(CwjsPolicyInfo cwjsPolicyInfo,
+								HttpServletResponse response) {
+
+		 try {
+			 // 1:待审核 2:审核中 3:审核通过4:审核拒绝 5-作废 默认不显示作废
+			 if (Check.isNull(cwjsPolicyInfo.getApprovedStatus())) {
+				 cwjsPolicyInfo.setStatusList(Arrays.asList(1, 2, 3, 4));
+			 } else {
+				 cwjsPolicyInfo.setStatusList(Arrays.asList(cwjsPolicyInfo.getApprovedStatus()));
+			 }
+
+			 //查询政策
+			 List<CwjsPolicyInfo> cwjsPolicyInfoList = cwjsPolicyInfoService.queryPageList(cwjsPolicyInfo);
+			 if (Check.isNull(cwjsPolicyInfoList)) {
+				 return Result.errorMsg("暂无政策。");
+			 }
+			 List<ExportCwjsPolicyPojo> resultList = new ArrayList<>();
+			 for (CwjsPolicyInfo vo : cwjsPolicyInfoList) {
+				 ExportCwjsPolicyPojo exportCwjsPolicyPojo = new ExportCwjsPolicyPojo();
+				 BeanUtils.copyProperties(vo, exportCwjsPolicyPojo);
+				 exportCwjsPolicyPojo.setMediaType(ExportCwjsPolicyPojo.getMediaTypeStr(vo.getMediaType()));
+				 exportCwjsPolicyPojo.setApprovedStatus(ExportCwjsPolicyPojo.getApprovedStatusStr(vo.getApprovedStatus()));
+				 exportCwjsPolicyPojo.setRebateType(ExportCwjsPolicyPojo.getRebateTypeStr(vo.getRebateType()));
+				 exportCwjsPolicyPojo.setRebateRate(vo.getRebateRate()+"%");
+				 exportCwjsPolicyPojo.setDianPayCompanyRebateRate(Check.isNull(vo.getDianPayCompanyRebateRate()) ? "" : vo.getDianPayCompanyRebateRate()+"%");
+				 exportCwjsPolicyPojo.setPromotionType(vo.getPromotionType() == 0 ? "自运营" : "代运营");
+				 exportCwjsPolicyPojo.setAdvancePay(vo.getAdvancePay() == 0 ?  "否" : "是");
+				 exportCwjsPolicyPojo.setIsDianPay(vo.getIsDianPay() == 0 ?  "否" : "是");
+				 exportCwjsPolicyPojo.setCustomerFlag(vo.getCustomerFlag() == 0 ?  "否" : "是");
+				 exportCwjsPolicyPojo.setCreateTime(DateUtils.dateToStringTime(vo.getCreateTime()));
+				 exportCwjsPolicyPojo.setProductName(StringUtils.strip(vo.getPolicyProductName().toString(),"[]"));
+				 resultList.add(exportCwjsPolicyPojo);
+			 }
+			 Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("政策内容", "销售政策"), ExportCwjsPolicyPojo.class, resultList);
+			 response.setCharacterEncoding("UTF-8");
+			 response.setHeader("content-Type", "application/vnd.ms-excel");
+			 response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("快手利润单.xls", "UTF-8"));
+			 workbook.write(response.getOutputStream());
+		 } catch (IOException e) {
+			 throw new RuntimeException(e);
+		 }
+		 return null;
+	 }
+
+
+
 
 
  }

+ 204 - 0
jeecg-boot-finance/src/main/java/org/jeecg/ctop/finance/policy/entity/ExportCwjsPolicyPojo.java

@@ -0,0 +1,204 @@
+package org.jeecg.ctop.finance.policy.entity;
+
+import com.alibaba.fastjson.JSONArray;
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 政策信息表
+ * @author jeecg-boot
+ * @date   2021-07-27
+ * @version V1.0
+ */
+@Data
+public class ExportCwjsPolicyPojo implements Serializable{
+    
+
+	/**公司名称*/
+	@Excel(name = "公司名称", width = 20)
+	private String companyName;
+	/**广告主id*/
+	@Excel(name = "广告主名称", width = 20)
+	private String advertiserName;
+
+	@Excel(name = "产品名称", width = 20)
+	private String productName;
+	/**媒体类型*/
+	@Excel(name = "媒体类型", width = 10)
+	//private Integer mediaType;
+	private String mediaType;
+	/**我司主体*/
+	@Excel(name = "我司主体", width = 20)
+	//private Integer companySubjectId;
+	private String companySubjectName;
+
+	/**集团简称*/
+	@Excel(name = "集团简称", width = 15)
+	private String groupAbbreviation;
+	/**状态 0:待审核 1:审核中 2:审核通过3:审核拒绝*/
+	@Excel(name = "审核状态", width = 10)
+	private String approvedStatus;
+
+
+	/**是否预付:0:否  1:是 */
+	@Excel(name = "是否预付", width = 15)
+	private String advancePay;
+
+	/**是否老客户:0:否  1:是 */
+	@Excel(name = "是否老客户", width = 15)
+	private String customerFlag;
+	/**账期*/
+	@Excel(name = "账期", width = 15)
+	private String accountingPeriod;
+	/**返点类型:0:返现  1:返货   2:返现+返货*/
+	@Excel(name = "返点类型", width = 10)
+	private String rebateType;
+	/**返点比例*/
+	@Excel(name = "返点比例", width = 10)
+	private String rebateRate;
+	/**是否垫付:0:否  1:是 */
+	@Excel(name = "是否垫付", width = 10)
+	private String isDianPay;
+	/**垫付公司名称*/
+	@Excel(name = "垫付公司名称", width = 20)
+	private String dianPayCompanyName;
+	/**垫付公司返点比例*/
+	@Excel(name = "垫付公司返点比例", width = 8)
+	private String dianPayCompanyRebateRate;
+	/**运营方式: 0:自运营  1:代运营*/
+	@Excel(name = "运营方式", width = 8)
+	private String promotionType;
+	/**政策开始时间*/
+	@Excel(name = "政策开始时间", width = 15)
+	private String policyStartDate;
+	/**政策结束时间*/
+	@Excel(name = "政策结束时间", width = 15)
+	private String policyEndDate;
+
+	@Excel(name = "备注", width = 15)
+	private Object remarks;
+	/**删除状态(0,正常,1已删除)*/
+
+
+	@Excel(name = "创建人名字", width = 15)
+	private String createUserName;
+
+
+
+	@Excel(name = "销售姓名", width = 15)
+	private String saleName;
+
+	@Excel(name = "作废原因", width = 15)
+	private String delReason;
+
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 15)
+	private String createTime;
+
+
+	/**区域 华北,华南,华东*/
+	@Excel(name = "区域", width = 15)
+	private String areaInfo;
+
+
+	/* 法务审核意见*/
+	@Excel(name = "法务审核意见", width = 15)
+	private String legalAffairsContent;
+
+
+
+
+
+
+
+
+
+
+	//1-头条 2-快手 3-千川 4-UD 5-阿里内广 6-快手服务商 7-磁力金牛 8-头条内广
+	public static String getMediaTypeStr(Integer mediaType){
+		String  mediaTypeStr = "";
+		switch (mediaType){
+			case 1:
+				mediaTypeStr = "头条";
+				break;
+			case 2:
+				mediaTypeStr = "快手";
+				break;
+			case 3:
+				mediaTypeStr = "千川";
+				break;
+			case 4:
+				mediaTypeStr = "UD";
+				break;
+			case 5:
+				mediaTypeStr = "阿里内广";
+				break;
+			case 6:
+				mediaTypeStr = "快手服务商";
+				break;
+			case 7:
+				mediaTypeStr = "磁力金牛";
+				break;
+			case 8:
+				mediaTypeStr = "头条内广";
+				break;
+		}
+		return mediaTypeStr;
+	}
+
+
+
+	//1:待审核 2:审核中 3:审核通过4:审核拒绝
+	public static String getApprovedStatusStr(Integer approvedStatus){
+		String  statusStr = "";
+		switch (approvedStatus){
+			case 1:
+				statusStr = "待审核";
+				break;
+			case 2:
+				statusStr = "审核中";
+				break;
+			case 3:
+				statusStr = "审核通过";
+				break;
+			case 4:
+				statusStr = "审核拒绝";
+				break;
+		}
+		return statusStr;
+	}
+
+
+
+
+	//0:返现  1:返货   2:返现+返货 3-服务费
+	public static String getRebateTypeStr(Integer rebateType){
+		String  rebateStr = "";
+		switch (rebateType){
+			case 0:
+				rebateStr = "返现";
+				break;
+			case 1:
+				rebateStr = "返货";
+				break;
+			case 2:
+				rebateStr = "返现+返货";
+				break;
+			case 3:
+				rebateStr = "服务费";
+				break;
+
+		}
+		return rebateStr;
+	}
+
+
+
+
+
+
+}