Browse Source

feat: 积分包结算导出发票类目

李学松 2 years ago
parent
commit
41c3e5438c

+ 6 - 51
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmPayOffController.java

@@ -256,24 +256,11 @@ public class WmPayOffController {
 			return Collections.emptyList();
 		}
 
-		// 获取发票类目信息
+		// 获取所有税源地的发票类目信息
 		List<SysDictItem> invoiceCategoryList =
 				dictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
-						.in(SysDictItem::getType, "renlijia_invoice", "olading_invoice", "yee_invoice",
-								"tax_helper_invoice", "olading_henan_invoice", "olading_jinyuan_invoice", "zheng_qi_zhi_xing_invoice",
-								"langchao_invoice", "zheng_qi_zhi_xing_jiang_xi_invoice", "hui_qi_yun_invoice"));
+						.in(SysDictItem::getType, SubjectLocation.getAllInvoices()));
 		Map<String, Map<String, String>> collect = invoiceCategoryList.stream().collect(Collectors.groupingBy(SysDictItem::getType, Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel)));
-		Map<String, String> renlijiaInvoice = collect.get("renlijia_invoice");
-		Map<String, String> oladingInvoice = collect.get("olading_invoice");
-		Map<String, String> oladingJinyuanInvoice = collect.get("olading_jinyuan_invoice");
-		Map<String, String> oladingHenanInvoice = collect.get("olading_henan_invoice");
-		Map<String, String> yeeInvoice = collect.get("yee_invoice");
-		Map<String, String> taxHelperInvoice = collect.get("tax_helper_invoice");
-		Map<String, String> zhengQiZhiXingInvoice = collect.get("zheng_qi_zhi_xing_invoice");
-		Map<String, String> langchaoInvoice = collect.get("langchao_invoice");
-		Map<String, String> zhengQiZhiXingJiangXiInvoice = collect.get("zheng_qi_zhi_xing_jiang_xi_invoice");
-		Map<String, String> huiQiYunInvoice = collect.get("hui_qi_yun_invoice");
-
 
 		// 转换为导出实体
 		for (int i = 0; i < list.size(); i++) {
@@ -290,43 +277,11 @@ public class WmPayOffController {
 			SubjectLocation subjectLocation = settleOutput.getSubjectLocation();
 			if (subjectLocation != null) {
 				export.setSubType(subjectLocation.getDescription());
+				// 获取当前税源地的发票类目
+				Map<String, String> subInvoice = collect.get(subjectLocation.getInvoiceType());
+				// 根据发票类目value获取发票类目名称
 				String cate = String.valueOf(settleOutput.getInvoiceCategory());
-				String invoice;
-				switch (subjectLocation) {
-					case REN_LI_JIA:
-						invoice = renlijiaInvoice.get(cate);
-						break;
-					case LUO_SHU_YUN:
-						invoice = taxHelperInvoice.get(cate);
-						break;
-					case FEI_YI:
-						invoice = oladingInvoice.get(cate);
-						break;
-					case JIN_YUAN:
-						invoice = oladingJinyuanInvoice.get(cate);
-						break;
-					case XIN_TAI_ZI:
-						invoice = oladingHenanInvoice.get(cate);
-						break;
-					case YI_LIAN:
-						invoice = yeeInvoice.get(cate);
-						break;
-					case ZHENG_QI_ZHI_XING:
-						invoice = zhengQiZhiXingInvoice.get(cate);
-						break;
-					case LANG_CHAO:
-						invoice = langchaoInvoice.get(cate);
-						break;
-					case HUI_QI_YUN:
-						invoice = huiQiYunInvoice.get(cate);
-						break;
-					case JIANG_XI:
-						invoice = zhengQiZhiXingJiangXiInvoice.get(cate);
-						break;
-					default:
-						invoice = WmScorePackageSettleExcelModel.CategoryEnum.CATEGORY_NULL.getDesc();
-						break;
-				}
+				String invoice = subInvoice.getOrDefault(cate, "") ;
 				export.setInvoiceCategory(invoice);
 			}
 			export.setUserNames(settleOutput.getUserNames());

+ 42 - 14
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/SubjectLocation.java

@@ -5,7 +5,9 @@ import lombok.AllArgsConstructor;
 import lombok.Getter;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 税源地
@@ -15,49 +17,66 @@ import java.util.List;
 public enum SubjectLocation {
 
 	// 仁励家通道
-	REN_LI_JIA("REN_LI_JIA", GigTypeEnum.REN_LI_JIA, "人力家", 0),
+	REN_LI_JIA("REN_LI_JIA", GigTypeEnum.REN_LI_JIA, "人力家", 0, "renlijia_invoice"),
 
 	// 税邦云通道
-	ZHONG_YING("ZHONG_YING", GigTypeEnum.TAX_HELPOR, "税邦云", 1),
-	LUO_SHU_YUN("LUO_SHU_YUN", GigTypeEnum.TAX_HELPOR, "税邦云", 2),
+	ZHONG_YING("ZHONG_YING", GigTypeEnum.TAX_HELPOR, "税邦云", 1, "tax_helper_invoice"),
+	LUO_SHU_YUN("LUO_SHU_YUN", GigTypeEnum.TAX_HELPOR, "税邦云", 2, "tax_helper_invoice"),
 
 	// 钉零工通道
-	FEI_YI("FEI_YI", GigTypeEnum.OLADING, "钉灵工-海南飞亿", 3),
-	JIN_YUAN("JIN_YUAN", GigTypeEnum.OLADING, "金园数科", 4),
-	XIN_TAI_ZI("XIN_TAI_ZI", GigTypeEnum.OLADING, "钉灵工-河南薪泰梓", 5),
+	FEI_YI("FEI_YI", GigTypeEnum.OLADING, "钉灵工-海南飞亿", 3, "olading_invoice"),
+	JIN_YUAN("JIN_YUAN", GigTypeEnum.OLADING, "金园数科", 4, "olading_jinyuan_invoice"),
+	XIN_TAI_ZI("XIN_TAI_ZI", GigTypeEnum.OLADING, "钉灵工-河南薪泰梓", 5, "olading_henan_invoice"),
 
 	// 易联
-	YI_LIAN("YI_LIAN", GigTypeEnum.YEE, "易联数科", 6),
+	YI_LIAN("YI_LIAN", GigTypeEnum.YEE, "易联数科", 6, "yee_invoice"),
 
 	// 正启之星
-	ZHENG_QI_ZHI_XING("ZHENG_QI_ZHI_XING",  GigTypeEnum.ZHENG_QI_ZHI_XING, "正启之星", 7),
+	ZHENG_QI_ZHI_XING("ZHENG_QI_ZHI_XING",  GigTypeEnum.ZHENG_QI_ZHI_XING, "正启之星", 7, "zheng_qi_zhi_xing_invoice"),
 
 	// 浪潮
-	LANG_CHAO("LANG_CHAO", GigTypeEnum.LANG_CHAO, "浪潮", 8),
+	LANG_CHAO("LANG_CHAO", GigTypeEnum.LANG_CHAO, "浪潮", 8, "langchao_invoice"),
 
 	// 正启之星-江西
-	JIANG_XI("JIANG_XI",  GigTypeEnum.ZHENG_QI_ZHI_XING, "正启之星-江西", 9),
+	JIANG_XI("JIANG_XI",  GigTypeEnum.ZHENG_QI_ZHI_XING, "正启之星-江西", 9, "zheng_qi_zhi_xing_jiang_xi_invoice"),
 
 	// 汇企云
-	HUI_QI_YUN("HUI_QI_YUN", GigTypeEnum.HUI_QI_YUN, "汇企云", 10),
+	HUI_QI_YUN("HUI_QI_YUN", GigTypeEnum.HUI_QI_YUN, "汇企云", 10, "hui_qi_yun_invoice"),
 
 	// 众蚁云
-	ZHONG_YI_YUN("ZHONG_YI_YUN", GigTypeEnum.ZHONG_YI_YUN, "众蚁云", 11),
+	ZHONG_YI_YUN("ZHONG_YI_YUN", GigTypeEnum.ZHONG_YI_YUN, "众蚁云", 11, "zhong_yi_yun_invoice"),
 	// 汉唐
 //	HAN_TANG("HAN_TANG", GigTypeEnum.HAN_TANG, "汉唐", 12),
 	// 中智
-	ZHONG_ZHI("ZHONG_ZHI", GigTypeEnum.ZHONG_ZHI, "中智", 12),
-	ZHAO_YU("ZHAO_YU", GigTypeEnum.OLADING, "钉灵工-河南兆宇", 13);
+	ZHONG_ZHI("ZHONG_ZHI", GigTypeEnum.ZHONG_ZHI, "中智", 12, "zhongzhi_invoice"),
+	ZHAO_YU("ZHAO_YU", GigTypeEnum.OLADING, "钉灵工-河南兆宇", 13, "olading_zhaoyu_invoice");
 
+	/**
+	 * 税源地类型
+	 */
 	@EnumValue
 	private final String type;
 
+	/**
+	 * 渠道类型
+	 */
 	private final GigTypeEnum gigType;
 
+	/**
+	 * 描述
+	 */
 	private final String description;
 
+	/**
+	 * 排序
+	 */
 	private final Integer sort;
 
+	/**
+	 * 发票类目
+	 */
+	private final String invoiceType;
+
 	/**
 	 * 根据gigType获取枚举
 	 *
@@ -88,4 +107,13 @@ public enum SubjectLocation {
 		}
 		return null;
 	}
+
+	/**
+	 * 获取所有渠道对应的发票类目type
+	 *
+	 * @return 发票类目type列表
+	 */
+	public static List<String> getAllInvoices() {
+		return Arrays.stream(SubjectLocation.values()).map(SubjectLocation::getInvoiceType).collect(Collectors.toList());
+	}
 }