浏览代码

Merge branch 'feat-20231228-packagedata'

lixuesong 1 年之前
父节点
当前提交
a41402a75b

+ 14 - 8
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmPayOffController.java

@@ -351,6 +351,7 @@ public class WmPayOffController {
 			WmScorePackageSettleOutput settleOutput = list.get(i);
 			WmScorePackageSettleExcelModel export = new WmScorePackageSettleExcelModel();
 			export.setNumber(i + 1);
+			export.setPackageSn(settleOutput.getPackageSn());
 			export.setScorePackageName(settleOutput.getScorePackageName());
 			export.setPackageType1(PackageTypeEnum.type1Resolve(settleOutput.getPackageType1()).getName2());
 			export.setPackageEntName(settleOutput.getPackageEntName());
@@ -363,10 +364,12 @@ public class WmPayOffController {
 				export.setSubType(subjectLocation.getDescription());
 				// 获取当前税源地的发票类目
 				Map<String, String> subInvoice = collect.get(subjectLocation.getInvoiceType());
-				// 根据发票类目value获取发票类目名称
-				String cate = String.valueOf(settleOutput.getInvoiceCategory());
-				String invoice = subInvoice.getOrDefault(cate, "") ;
-				export.setInvoiceCategory(invoice);
+				if (subInvoice != null) {
+					// 根据发票类目value获取发票类目名称
+					String cate = String.valueOf(settleOutput.getInvoiceCategory());
+					String invoice = subInvoice.getOrDefault(cate, "");
+					export.setInvoiceCategory(invoice);
+				}
 			}
 			export.setUserNames(settleOutput.getUserNames());
 			export.setSettleAmount(settleOutput.getSettleAmount());
@@ -411,6 +414,7 @@ public class WmPayOffController {
 			WmScorePackageSettleOutput settleOutput = list.get(i);
 			WmScorePackageSettleExcelModel export = new WmScorePackageSettleExcelModel();
 			export.setNumber(i + 1);
+			export.setPackageSn(settleOutput.getPackageSn());
 			export.setScorePackageName(settleOutput.getScorePackageName());
 			export.setPackageType1(PackageTypeEnum.type1Resolve(settleOutput.getPackageType1()).getName2());
 			export.setPackageEntName(settleOutput.getPackageEntName());
@@ -423,10 +427,12 @@ public class WmPayOffController {
 				export.setSubType(subjectLocation.getDescription());
 				// 获取当前税源地的发票类目
 				Map<String, String> subInvoice = collect.get(subjectLocation.getInvoiceType());
-				// 根据发票类目value获取发票类目名称
-				String cate = String.valueOf(settleOutput.getInvoiceCategory());
-				String invoice = subInvoice.getOrDefault(cate, "") ;
-				export.setInvoiceCategory(invoice);
+				if (subInvoice != null) {
+					// 根据发票类目value获取发票类目名称
+					String cate = String.valueOf(settleOutput.getInvoiceCategory());
+					String invoice = subInvoice.getOrDefault(cate, "");
+					export.setInvoiceCategory(invoice);
+				}
 			}
 			export.setUserNames(settleOutput.getUserNames());
 			export.setSettleAmount(settleOutput.getSettleAmount());

+ 5 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/input/WmScorePackageSettleInput.java

@@ -63,6 +63,11 @@ public class WmScorePackageSettleInput implements Serializable {
 
 	private LocalDateTime createTime;
 
+	/**
+	 * 业务提交结算时间
+	 */
+	private LocalDateTime[] settlementDate;
+
 	private String belongDate;
 
 	private Integer score;

+ 10 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/input/WmScorePackageSettleOutput.java

@@ -45,6 +45,16 @@ public class WmScorePackageSettleOutput {
 
 	private String scorePackageName;
 
+	/**
+	 * 积分包编号
+	 */
+	private String packageSn;
+
+	/**
+	 * 业务提交结算时间
+	 */
+	private String settlementDate;
+
 	private LocalDateTime createTime;
 
 	private String belongDate;

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

@@ -22,6 +22,13 @@ public class WmScorePackageSettleExcelModel {
 	@ExcelProperty("序号")
 	private Integer number;
 
+	/**
+	 * 积分包编号
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("积分包编号")
+	private String packageSn;
+
 	/**
 	 * 积分包名称
 	 */

+ 3 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmReportServiceImpl.java

@@ -577,13 +577,12 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 		Map<String, WmTask> taskMap = wmTasks.stream().collect(Collectors.toMap(WmTask::getId, Function.identity()));
 
 		Set<String> scorePackageIds = wmTasks.stream().map(WmTask::getScorePackageId).collect(Collectors.toSet());
-		if (scorePackageIds.size() > 1) {
-			throw new RuntimeException("只能处理同一个积分包下的任务");
-		}
+//		if (scorePackageIds.size() > 1) {
+//			throw new RuntimeException("只能处理同一个积分包下的任务");
+//		}
 
 		// 批量查询积分包
 		List<WmScorePackage> taskScorePackages = wmScorePackageService.listByIds(scorePackageIds);
-		Map<String, WmScorePackage> scorePackageMap = taskScorePackages.stream().collect(Collectors.toMap(WmScorePackage::getId, Function.identity()));
 
 		// 查询企业对应的积分包
 		Integer reportScorePackageId = queryReport.getScoreId();

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

@@ -101,9 +101,11 @@
 	
 	<resultMap id="packageSettleMap" type="com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput">
 		<id property="id" column="id"/>
+		<result property="packageSn" column="pkg_sn"/>
 		<result property="scorePackageName" column="score_package_name"/>
 		<result property="packageEntName" column="name"/>
 		<result property="createTime" column="create_time"/>
+		<result property="settlementDate" column="settlement_date"/>
 		<result property="score" column="score"/>
 		<result property="packageFinishStatus" column="package_finish_status"/>
 		<result property="settleStatus" column="settle_status"/>
@@ -1481,9 +1483,11 @@
 	<select id="listPackageSettleList" resultMap="packageSettleMap">
 		SELECT distinct
 		    p.id,
+		    p.pkg_sn,
 			d.name,
 			p.score_package_name,
 			p.create_time,
+			p.settlement_date,
 			p.package_status,
 			p.package_finish_status,
 			p.settle_status,
@@ -1516,7 +1520,7 @@
 				AND p.send_package_dept_id= #{query.sendPackageDeptId}
 			</if>
 			<if test="query.scorePackageName != null and query.scorePackageName != ''">
-				AND p.score_package_name like CONCAT('%',#{query.scorePackageName},'%')
+				AND (p.score_package_name like CONCAT('%',#{query.scorePackageName},'%') OR p.pkg_sn like CONCAT('%',#{query.scorePackageName},'%'))
 			</if>
 			<if test="query.belongDate != null and query.belongDate != ''">
 				AND p.belong_date= #{query.belongDate}
@@ -1554,6 +1558,9 @@
 			<if  test="query.invoiceNumber != null and query.invoiceNumber != ''">
 				AND p.invoice_number like CONCAT('%',#{query.invoiceNumber},'%')
 			</if>
+			<if test="query.settlementDate != null and query.settlementDate.length == 2">
+				AND p.settlement_date between #{query.settlementDate[0]} and #{query.settlementDate[1]}
+			</if>
 		</where>
 		ORDER BY
 		<if test="query.mahSettleStep != null">
@@ -1566,17 +1573,31 @@
 
 	<!-- 积分包结算列表 -->
 	<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.sub_location AS subject_location
-		FROM wm_score_package p, sys_dept d
+		SELECT
+			p.id,
+			p.pkg_sn AS package_sn,
+			d.name AS 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.sub_location AS subject_location
+		FROM wm_score_package p,
+		sys_dept d
 		WHERE
 		p.send_package_dept_id = d.dept_id
 		<if test="query.sendPackageDeptId != null and query.sendPackageDeptId != ''">
 			AND p.send_package_dept_id= #{query.sendPackageDeptId}
 		</if>
 		<if test="query.scorePackageName != null and query.scorePackageName != ''">
-			AND p.score_package_name like CONCAT('%',#{query.scorePackageName},'%')
+			AND (p.score_package_name like CONCAT('%',#{query.scorePackageName},'%') OR p.pkg_sn like CONCAT('%',#{query.scorePackageName},'%'))
 		</if>
 		<if test="query.belongDate != null and query.belongDate != ''">
 			AND p.belong_date= #{query.belongDate}
@@ -1596,6 +1617,9 @@
 		<if test="query.settleFlag != null and query.settleFlag != ''">
 			AND p.settle_flag= #{query.settleFlag}
 		</if>
+		<if test="query.settlementDate != null and query.settlementDate.length == 2">
+			AND p.settlement_date between #{query.settlementDate[0]} and #{query.settlementDate[1]}
+		</if>
 		ORDER BY
 		p.create_time DESC
 	</select>
@@ -1603,22 +1627,23 @@
 	<!-- 积分包结算 -->
 	<select id="listAllPackageSettle2" resultType="com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput">
 		SELECT distinct
-		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.source_type,
-		p.pkg_sn,
-		p.oms_order_sn
+			p.id,
+			p.pkg_sn AS package_sn,
+			d.name AS 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.source_type,
+			p.pkg_sn,
+			p.oms_order_sn
 		FROM wm_score_package p left join sys_dept d on p.send_package_dept_id = d.dept_id
 		left join wm_score_package_status ps on p.id = ps.package_id
 		left join sys_user su on ps.user_id = su.user_id
@@ -1627,7 +1652,7 @@
 				AND p.send_package_dept_id= #{query.sendPackageDeptId}
 			</if>
 			<if test="query.scorePackageName != null and query.scorePackageName != ''">
-				AND p.score_package_name like CONCAT('%',#{query.scorePackageName},'%')
+				AND (p.score_package_name like CONCAT('%',#{query.scorePackageName},'%') OR p.pkg_sn like CONCAT('%',#{query.scorePackageName},'%'))
 			</if>
 			<if test="query.belongDate != null and query.belongDate != ''">
 				AND p.belong_date= #{query.belongDate}
@@ -1653,6 +1678,9 @@
 			<if test="query.userNames != null">
 				AND su.realname like CONCAT('%',#{query.userNames},'%')
 			</if>
+			<if test="query.settlementDate != null and query.settlementDate.length == 2">
+				AND p.settlement_date between #{query.settlementDate[0]} and #{query.settlementDate[1]}
+			</if>
 		</where>
 		ORDER BY
 		p.create_time DESC