Bladeren bron

Merge branch 'feat-20230106-settleexcelexport'

李学松 2 jaren geleden
bovenliggende
commit
626d33cdb6

+ 54 - 23
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmPayOffController.java

@@ -15,6 +15,7 @@ import com.qunzhixinxi.hnqz.admin.entity.model.excel.WmScorePackageSettleExcelMo
 import com.qunzhixinxi.hnqz.admin.enums.PackageFinishStatusEnum;
 import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
 import com.qunzhixinxi.hnqz.admin.enums.SettleStatusEnum;
+import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
 import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
 import com.qunzhixinxi.hnqz.admin.service.SysDictItemService;
 import com.qunzhixinxi.hnqz.admin.service.WmPayOffService;
@@ -243,12 +244,22 @@ public class WmPayOffController {
 		}
 
 		// 获取发票类目信息
-		List<SysDictItem> invoiceCategoryList = dictItemService.list(Wrappers.<SysDictItem>lambdaQuery().in(SysDictItem::getType, "renlijia_invoice", "olading_invoice", "yee_invoice", "tax_helper_invoice"));
+		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"));
 		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");
 
 
 		// 转换为导出实体
@@ -263,31 +274,51 @@ public class WmPayOffController {
 			export.setPackageFinishStatus(PackageFinishStatusEnum.resolve(settleOutput.getPackageFinishStatus()).getName());
 			export.setScore(settleOutput.getScore());
 
-			SubjectTypeEnum subjectTypeEnum = SubjectTypeEnum.resolve(settleOutput.getSubType());
-			export.setSubType(subjectTypeEnum.getDesc());
-			String cate = String.valueOf(settleOutput.getInvoiceCategory());
-			String invoice;
-			switch (subjectTypeEnum) {
-				case TYPE_RENLIJIA:
-					invoice = renlijiaInvoice.get(cate);
-					break;
-				case TYPE_SHUIBANGYUN:
-					invoice = taxHelperInvoice.get(cate);
-					break;
-				case TYPE_OLADING:
-					invoice = oladingInvoice.get(cate);
-					break;
-				case TYPE_YEE:
-					invoice = yeeInvoice.get(cate);
-					break;
-				case TYPE_NULL:
-				default:
-					invoice = WmScorePackageSettleExcelModel.CategoryEnum.CATEGORY_NULL.getDesc();
-					break;
+			SubjectLocation subjectLocation = settleOutput.getSubjectLocation();
+			if (subjectLocation != null) {
+				export.setSubType(subjectLocation.getDescription());
+				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;
+				}
+				export.setInvoiceCategory(invoice);
 			}
-			export.setInvoiceCategory(invoice);
 			export.setUserNames(settleOutput.getUserNames());
 			export.setSettleAmount(settleOutput.getSettleAmount());
+			export.setActualAmount(settleOutput.getActualAmount());
 			export.setSettleStatus(SettleStatusEnum.resolve(settleOutput.getSettleStatus()).getName());
 			export.setBelongDate(settleOutput.getBelongDate());
 			exportList.add(export);

+ 7 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/model/excel/WmScorePackageSettleExcelModel.java

@@ -92,6 +92,13 @@ public class WmScorePackageSettleExcelModel {
 	@ExcelProperty("实际结算金额")
 	private BigDecimal settleAmount;
 
+	/**
+	 * 实际支付金额
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("实际支付金额")
+	private BigDecimal actualAmount;
+
 	/**
 	 * 结算状态
 	 */

+ 11 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -19,6 +19,7 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.csp.sentinel.util.StringUtil;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
@@ -1556,6 +1557,16 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 					}
 					ouPut.setSettleAmount(tmp);
 				}
+
+				// 实际结算金额
+				BigDecimal acAmtTmp = BigDecimal.ZERO;
+				for (WmScorePackageSettleNote note : packageSettleNoteList) {
+					if (null != note.getActualAmount()) {
+						acAmtTmp = acAmtTmp.add(note.getActualAmount());
+					}
+				}
+				ouPut.setActualAmount(acAmtTmp.compareTo(BigDecimal.ZERO) == 0 ? null : acAmtTmp);
+
 				if (StringUtils.isBlank(ouPut.getSettleStatus())) {
 					ouPut.setSettleStatus(String.valueOf(settleNote.getSettleNoteStatus()));
 				}

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmScorePackageMapper.xml

@@ -1465,7 +1465,7 @@
 	<select id="listAllPackageSettle" resultType="com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput">
 		SELECT p.id, d.name packageEntName, p.score_package_name, p.create_time, p.package_status,
 		p.package_finish_status,
-		p.settle_status, p.invoice_category, p.settle_amount ,p.package_type1, p.score, p.package_type2, p.sub_type
+		p.settle_status, p.invoice_category, p.settle_amount ,p.package_type1, p.score, p.package_type2, p.sub_type, p.sub_location AS subject_location
 		FROM wm_score_package p, sys_dept d
 		WHERE
 		p.send_package_dept_id = d.dept_id