소스 검색

Merge branch 'feature-settleexport-210712' of googol/YY_BE_2 into master

屈桐 4 년 전
부모
커밋
a0cd2835b5
17개의 변경된 파일675개의 추가작업 그리고 14개의 파일을 삭제
  1. 57 8
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmPayOffController.java
  2. 68 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageSettleNoteController.java
  3. 148 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/model/excel/WmScorePackageSettleExcelModel.java
  4. 97 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/model/excel/WmSettlePackageSettleExcelModel.java
  5. 5 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/output/WmTaskSettleNoteOutput.java
  6. 22 3
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/PackageFinishStatusEnum.java
  7. 13 1
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/PackageTypeEnum.java
  8. 42 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/SettleStatusEnum.java
  9. 10 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/SubjectTypeEnum.java
  10. 8 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmScorePackageMapper.java
  11. 15 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmScorePackageSettleNoteMapper.java
  12. 15 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmScorePackageService.java
  13. 17 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmScorePackageSettleNoteService.java
  14. 59 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java
  15. 18 0
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageSettleNoteServiceImpl.java
  16. 36 0
      hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmScorePackageMapper.xml
  17. 45 1
      hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmScorePackageSettleNoteMapper.xml

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

@@ -1,16 +1,19 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 package com.qunzhixinxi.hnqz.admin.controller;
 
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
+import com.pig4cloud.plugin.excel.annotation.ResponseExcel;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
-import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageSettleNote;
-import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
 import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleInput;
 import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleInput;
 import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput;
 import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput;
-import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageSettleNoteMapper;
-import com.qunzhixinxi.hnqz.admin.service.*;
+import com.qunzhixinxi.hnqz.admin.entity.model.excel.WmScorePackageSettleExcelModel;
+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.SubjectTypeEnum;
+import com.qunzhixinxi.hnqz.admin.service.WmPayOffService;
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
@@ -19,10 +22,14 @@ import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.web.bind.annotation.*;
+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;
+import org.springframework.web.bind.annotation.RestController;
 
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
-import java.util.stream.Collectors;
 
 
 /**
 /**
  * 结算表
  * 结算表
@@ -157,6 +164,48 @@ public class WmPayOffController {
 		return R.ok(outputList);
 		return R.ok(outputList);
 	}
 	}
 
 
+	/**
+	 * 结算包结算导出
+	 *
+	 * @param input
+	 * @return
+	 */
+	@ApiOperation(value = "积分包结算导出", notes = "积分包结算导出")
+	@ResponseExcel(name = "exportPackageSettle", sheet = "积分包结算数据")
+	@SysLog("积分包结算导出" )
+	@GetMapping("/exportPackageSettle")
+	public List<WmScorePackageSettleExcelModel> exportPackageSettle(WmScorePackageSettleInput input) {
+		input.setSendPackageDeptId(SecurityUtils.getUser().getDeptId() +"");
+		input.setPackageFinishStatus("1");
+		input.setTypeid("4");
+		input.setSettleFlag("1");
+		List<WmScorePackageSettleOutput> list = wmScorePackageService.listAllPackageSettle(input);
+		List<WmScorePackageSettleExcelModel> exportList = new ArrayList<>();
+		if (CollectionUtil.isEmpty(list)) {
+			return new ArrayList<>();
+		}
+		// 转换为导出实体
+		for (int i = 0; i < list.size(); i++) {
+			WmScorePackageSettleOutput settleOutput = list.get(i);
+			WmScorePackageSettleExcelModel export = new WmScorePackageSettleExcelModel();
+			export.setNumber(i + 1);
+			export.setScorePackageName(settleOutput.getScorePackageName());
+			export.setPackageType1(PackageTypeEnum.type1Resolve(settleOutput.getPackageType1()).getName());
+			export.setPackageEntName(settleOutput.getPackageEntName());
+			export.setCreateTime(settleOutput.getCreateTime());
+			export.setPackageFinishStatus(PackageFinishStatusEnum.resolve(settleOutput.getPackageFinishStatus()).getName());
+			export.setScore(settleOutput.getScore());
+			export.setSubType(SubjectTypeEnum.resolve(settleOutput.getSubType()).getDesc());
+			export.setInvoiceCategory(WmScorePackageSettleExcelModel.CategoryEnum.resolve(settleOutput.getInvoiceCategory()).getDesc());
+			export.setUserNames(settleOutput.getUserNames());
+			export.setSettleAmount(settleOutput.getSettleAmount());
+			export.setSettleStatus(SettleStatusEnum.resolve(settleOutput.getSettleStatus()).getName());
+			export.setBelongDate(settleOutput.getBelongDate());
+			exportList.add(export);
+		}
+
+		return exportList;
+	}
 
 
 	@ApiOperation(value = "结算", notes = "结算")
 	@ApiOperation(value = "结算", notes = "结算")
 	@SysLog("结算" )
 	@SysLog("结算" )

+ 68 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageSettleNoteController.java

@@ -1,9 +1,17 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 package com.qunzhixinxi.hnqz.admin.controller;
 
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.pig4cloud.plugin.excel.annotation.ResponseExcel;
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageSettleNote;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageSettleNote;
+import com.qunzhixinxi.hnqz.admin.entity.model.excel.WmSettlePackageSettleExcelModel;
+import com.qunzhixinxi.hnqz.admin.entity.output.WmTaskSettleNoteOutput;
+import com.qunzhixinxi.hnqz.admin.enums.SettleStatusEnum;
+import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageSettleNoteService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageSettleNoteService;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
@@ -11,10 +19,19 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.LocalTime;
+import java.util.ArrayList;
+import java.util.List;
 
 
 
 
 /**
 /**
@@ -28,6 +45,7 @@ import java.time.LocalTime;
 public class WmScorePackageSettleNoteController {
 public class WmScorePackageSettleNoteController {
 
 
 	private final WmScorePackageSettleNoteService wmScorePackageSettleNoteService;
 	private final WmScorePackageSettleNoteService wmScorePackageSettleNoteService;
+	private final WmScorePackageService wmScorePackageService;
 
 
 	/**
 	/**
 	 * 分页查询任务+结算信息
 	 * 分页查询任务+结算信息
@@ -72,6 +90,55 @@ public class WmScorePackageSettleNoteController {
 		return R.ok(wmScorePackageSettleNoteService.getWmTaskForSettlePage(page, note));
 		return R.ok(wmScorePackageSettleNoteService.getWmTaskForSettlePage(page, note));
 	}
 	}
 
 
+	/**
+	 * 导出结算包结算-结算数据
+	 *
+	 * @param note
+	 * @return
+	 */
+	@ResponseExcel(name = "exportWmTaskForSettle", sheet = "结算包结算数据")
+	@ApiOperation(value = "导出结算包结算-结算数据", notes = "导出结算包结算-结算数据")
+	@GetMapping("/settle/export")
+	public List<WmSettlePackageSettleExcelModel> exportWmTaskForSettle(WmScorePackageSettleNote note) {
+		if (StringUtils.isEmpty(note.getPackageId())) {
+			return new ArrayList<>();
+		}
+		if (note.getStartSubTime() != null && note.getEndSubTime() != null) {
+			// 开始时间精确到0:00:00
+			LocalDateTime startSubTime = LocalDateTime.of(note.getStartSubTime().toLocalDate(), LocalTime.MIN);
+			// 结束时间精确到23:59:59.999999999
+			LocalDateTime endSubTime = LocalDateTime.of(note.getEndSubTime().toLocalDate(), LocalTime.MAX);
+			note.setStartSubTime(startSubTime);
+			note.setEndSubTime(endSubTime);
+		}
+		List<WmTaskSettleNoteOutput> list = wmScorePackageSettleNoteService.listWmTaskForSettle(note);
+		if (CollectionUtil.isEmpty(list)) {
+			return new ArrayList<>();
+		}
+		// 转换为导出实体
+		WmScorePackage scorePackage = wmScorePackageService.getById(note.getPackageId());
+		List<WmSettlePackageSettleExcelModel> exportList = new ArrayList<>();
+		for (int i = 0; i < list.size(); i++) {
+			WmTaskSettleNoteOutput settleNoteOutput = list.get(i);
+			WmSettlePackageSettleExcelModel excelModel = new WmSettlePackageSettleExcelModel();
+			excelModel.setNumber(i + 1);
+			excelModel.setScorePackageName(scorePackage.getScorePackageName());
+			excelModel.setRealName(settleNoteOutput.getRealName());
+			excelModel.setTaskTypeName(settleNoteOutput.getTaskTypeName());
+			excelModel.setXmbm(settleNoteOutput.getXmbm());
+			excelModel.setCreateTime(settleNoteOutput.getCreateTime());
+			excelModel.setSettleAmount(settleNoteOutput.getSettleAmount());
+			excelModel.setCategoryName(settleNoteOutput.getCategoryName());
+			excelModel.setSubType(SubjectTypeEnum.resolve(settleNoteOutput.getSubType()).getDesc());
+			excelModel.setSubTime(settleNoteOutput.getSubTime());
+			excelModel.setNotifyTime(settleNoteOutput.getNotifyTime());
+			excelModel.setSettleNoteStatus(SettleStatusEnum.resolve(String.valueOf(settleNoteOutput.getSettleNoteStatus())).getName());
+			exportList.add(excelModel);
+		}
+
+		return exportList;
+	}
+
 	/**
 	/**
 	 * 特定任务
 	 * 特定任务
 	 * 查询生成结算信息
 	 * 查询生成结算信息

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

@@ -0,0 +1,148 @@
+package com.qunzhixinxi.hnqz.admin.entity.model.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.Getter;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 积分包结算-导出excel模型
+ *
+ * @author lixuesong
+ * @date 2021年07月12日 14:28
+ */
+@Data
+public class WmScorePackageSettleExcelModel {
+
+	@ColumnWidth(10)
+	@ExcelProperty("序号")
+	private Integer number;
+
+	/**
+	 * 积分包名称
+	 */
+	@ColumnWidth(40)
+	@ExcelProperty("积分包名称")
+	private String scorePackageName;
+
+	/**
+	 * 积分包类型
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("积分包类型")
+	private String packageType1;
+
+	/**
+	 * 发包机构
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("发包机构")
+	private String packageEntName;
+
+	/**
+	 * 发包时间
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("发包时间")
+	private LocalDateTime createTime;
+
+	/**
+	 * 积分包完成状态
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("积分包状态")
+	private String packageFinishStatus;
+
+	/**
+	 * 积分包值
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("积分包值")
+	private String score;
+
+	/**
+	 * 结算渠道
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("结算渠道")
+	private String subType;
+
+	/**
+	 * 发票类目
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("发票类目")
+	private String invoiceCategory;
+
+	/**
+	 * 结算人员
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("结算人员")
+	private String userNames;
+
+	/**
+	 * 实际结算金额
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("实际结算金额")
+	private BigDecimal settleAmount;
+
+	/**
+	 * 结算状态
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("结算状态")
+	private String settleStatus;
+
+	/**
+	 * 结算成功时间
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("结算成功时间")
+	private String belongDate;
+
+	/**
+	 *  结算渠道
+	 */
+	@Getter
+	@AllArgsConstructor
+	public enum CategoryEnum {
+		//
+		CATEGORY_1(1, "推广服务费"),
+		CATEGORY_2(2, "营销服务费"),
+		CATEGORY_3(3, "信息服务费"),
+		CATEGORY_4(4, "专业技术服务"),
+		CATEGORY_12(12, "健康咨询服务费"),
+		CATEGORY_30(30, "市场推广服务"),
+		CATEGORY_70(70, "其他咨询服务"),
+		CATEGORY_77(77, "技术咨询划服务"),
+		CATEGORY_203(203, "现场辅助服务"),
+		CATEGORY_NULL(-1, ""),
+		;
+
+		/**
+		 * 类型
+		 */
+		private Integer code;
+
+		/**
+		 * 描述
+		 */
+		private String desc;
+
+		public static CategoryEnum resolve(Integer val) {
+			for (CategoryEnum categoryEnum: CategoryEnum.values()){
+				if (categoryEnum.code.equals(val)){
+					return categoryEnum;
+				}
+			}
+			return CATEGORY_NULL;
+		}
+
+	}
+}

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

@@ -0,0 +1,97 @@
+package com.qunzhixinxi.hnqz.admin.entity.model.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 结算包结算-导出excel模型
+ *
+ * @author lixuesong
+ * @date 2021年07月13日 17:07
+ */
+@Data
+public class WmSettlePackageSettleExcelModel {
+
+	@ColumnWidth(10)
+	@ExcelProperty("序号")
+	private Integer number;
+
+	@ColumnWidth(40)
+	@ExcelProperty("积分包名称")
+	private String scorePackageName;
+
+	/**
+	 * 任务成员
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("任务成员")
+	private String realName;
+
+	/**
+	 * 任务类型
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("任务类型")
+	private String taskTypeName;
+
+	/**
+	 * 项目编号
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("项目编号")
+	private String xmbm;
+
+	/**
+	 * 上传时间
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("上传时间")
+	private LocalDateTime createTime;
+
+	/**
+	 * 预结算金额
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("预结算金额")
+	private BigDecimal settleAmount;
+
+	/**
+	 * 发票类目名称
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("发票类目")
+	private String categoryName;
+
+	/**
+	 * 结算渠道
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("结算渠道")
+	private String subType;
+
+	/**
+	 * 提交时间
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("提交时间")
+	private LocalDateTime subTime;
+
+	/**
+	 * 回调时间
+	 */
+	@ColumnWidth(20)
+	@ExcelProperty("结算时间")
+	private LocalDateTime notifyTime;
+
+	/**
+	 * 结算状态
+	 */
+	@ColumnWidth(15)
+	@ExcelProperty("状态")
+	private String settleNoteStatus;
+
+}

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

@@ -39,6 +39,11 @@ public class WmTaskSettleNoteOutput {
 	 */
 	 */
 	private String taskTypeId;
 	private String taskTypeId;
 
 
+	/**
+	 * 任务类型名称
+	 */
+	private String taskTypeName;
+
 	/**
 	/**
 	 * 积分包id
 	 * 积分包id
 	 */
 	 */

+ 22 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/PackageFinishStatusEnum.java

@@ -11,19 +11,38 @@ public enum PackageFinishStatusEnum {
 	/**
 	/**
 	 * 未完成
 	 * 未完成
 	 */
 	 */
-	NOT_COMPLETE("0"),
+	NOT_COMPLETE("0", "未完成"),
 	/**
 	/**
 	 * 已完成
 	 * 已完成
 	 */
 	 */
-	COMPLETED("1");
+	COMPLETED("1", "已完成"),
+
+	STATUS_NULL("", "")
+	;
 
 
 	private String val;
 	private String val;
 
 
-	PackageFinishStatusEnum(String val) {
+	private String name;
+
+	PackageFinishStatusEnum(String val, String name) {
 		this.val = val;
 		this.val = val;
+		this.name = name;
 	}
 	}
 
 
 	public String val() {
 	public String val() {
 		return this.val;
 		return this.val;
 	}
 	}
+
+	public String getName() {
+		return this.name;
+	}
+
+	public static PackageFinishStatusEnum resolve(String val) {
+		for (PackageFinishStatusEnum packageFinishStatusEnum: PackageFinishStatusEnum.values()){
+			if (packageFinishStatusEnum.val.equals(val)){
+				return packageFinishStatusEnum;
+			}
+		}
+		return STATUS_NULL;
+	}
 }
 }

+ 13 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/PackageTypeEnum.java

@@ -34,7 +34,10 @@ public enum PackageTypeEnum {
 	/**
 	/**
 	 * type2结算包(证据链)
 	 * type2结算包(证据链)
 	 */
 	 */
-	TYPE2_SETTLE_PACKAGE("2", "结算包");
+	TYPE2_SETTLE_PACKAGE("2", "结算包"),
+
+	TYPE_NULL("", "")
+	;
 
 
 	private String val;
 	private String val;
 
 
@@ -52,4 +55,13 @@ public enum PackageTypeEnum {
 	public String getName() {
 	public String getName() {
 		return this.name;
 		return this.name;
 	}
 	}
+
+	public static PackageTypeEnum type1Resolve(String val){
+		for (PackageTypeEnum packageTypeEnum: PackageTypeEnum.values()){
+			if (packageTypeEnum.val.equals(val) && packageTypeEnum.name().startsWith("TYPE1_")){
+				return packageTypeEnum;
+			}
+		}
+		return TYPE_NULL;
+	}
 }
 }

+ 42 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/SettleStatusEnum.java

@@ -0,0 +1,42 @@
+package com.qunzhixinxi.hnqz.admin.enums;
+
+import lombok.Getter;
+
+/**
+ * 结算状态
+ *
+ * @author lixuesong
+ * @date 2021年07月12日 16:59
+ */
+@Getter
+public enum SettleStatusEnum {
+
+	// 结算状态
+	SETTLE_STATUS_SUCCESS("1", "结算成功"),
+	SETTLE_STATUS_FAIL("2", "结算失败"),
+	SETTLE_STATUS_SUBMIT("3", "已提交"),
+	SETTLE_STATUS_NO("4", "未结算"),
+	SETTLE_STATUS_PART("5", "部分成功"),
+	SETTLE_STATUS_WAIT("9", "待结算"),
+
+	SETTLE_STATUS_NULL("", "");
+	;
+
+	private String val;
+
+	private String name;
+
+	SettleStatusEnum(String val, String name) {
+		this.val = val;
+		this.name = name;
+	}
+
+	public static SettleStatusEnum resolve(String val){
+		for (SettleStatusEnum settleStatusEnum: SettleStatusEnum.values()){
+			if (settleStatusEnum.val.equals(val)){
+				return settleStatusEnum;
+			}
+		}
+		return SETTLE_STATUS_NULL;
+	}
+}

+ 10 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/SubjectTypeEnum.java

@@ -16,6 +16,7 @@ public enum SubjectTypeEnum {
 	ENABLE_FLAG_FALSE("0", "无效"),
 	ENABLE_FLAG_FALSE("0", "无效"),
 	ENABLE_FLAG_TRUE("1", "有效"),
 	ENABLE_FLAG_TRUE("1", "有效"),
 
 
+	TYPE_NULL("", "")
 	;
 	;
 
 
 	/**
 	/**
@@ -28,4 +29,13 @@ public enum SubjectTypeEnum {
 	 */
 	 */
 	private String desc;
 	private String desc;
 
 
+	public static SubjectTypeEnum resolve(String code) {
+		for (SubjectTypeEnum subjectTypeEnum: SubjectTypeEnum.values()){
+			if (subjectTypeEnum.code.equals(code) && subjectTypeEnum.name().startsWith("TYPE_")){
+				return subjectTypeEnum;
+			}
+		}
+		return TYPE_NULL;
+	}
+
 }
 }

+ 8 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmScorePackageMapper.java

@@ -118,4 +118,12 @@ public interface WmScorePackageMapper extends DataScopeMapper<WmScorePackage> {
 	IPage<WmScorePackageApiOutput> getPackageListForReceive(Page page,@Param("query")WmScorePackage wmScorePackage);
 	IPage<WmScorePackageApiOutput> getPackageListForReceive(Page page,@Param("query")WmScorePackage wmScorePackage);
 
 
 	IPage<WmScorePackageSettleOutput> listPackageSettleList(Page page, @Param("query")WmScorePackageSettleInput input);
 	IPage<WmScorePackageSettleOutput> listPackageSettleList(Page page, @Param("query")WmScorePackageSettleInput input);
+
+	/**
+	 * 结算包结算列表
+	 *
+	 * @param input
+	 * @return
+	 */
+	List<WmScorePackageSettleOutput> listAllPackageSettle(@Param("query")WmScorePackageSettleInput input);
 }
 }

+ 15 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmScorePackageSettleNoteMapper.java

@@ -39,5 +39,20 @@ public interface WmScorePackageSettleNoteMapper extends BaseMapper<WmScorePackag
 
 
 	IPage<WmTaskSettleNoteOutput> getWmTaskSettleInfoPage(Page page, @Param("query") WmScorePackageSettleNote note);
 	IPage<WmTaskSettleNoteOutput> getWmTaskSettleInfoPage(Page page, @Param("query") WmScorePackageSettleNote note);
 
 
+	/**
+	 * 结算包结算列表(分页)
+	 *
+	 * @param page
+	 * @param note
+	 * @return
+	 */
 	IPage<WmTaskSettleNoteOutput> getWmTaskForSettlePage(Page page, @Param("query") WmScorePackageSettleNote note);
 	IPage<WmTaskSettleNoteOutput> getWmTaskForSettlePage(Page page, @Param("query") WmScorePackageSettleNote note);
+
+	/**
+	 * 结算包结算列表
+	 *
+	 * @param note
+	 * @return
+	 */
+	List<WmTaskSettleNoteOutput> listWmTaskForSettle(@Param("query") WmScorePackageSettleNote note);
 }
 }

+ 15 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmScorePackageService.java

@@ -124,8 +124,23 @@ public interface WmScorePackageService extends IService<WmScorePackage> {
 
 
 	IPage<WmScorePackageApiOutput> getPackageListForReceive(Page page, WmScorePackage wmScorePackage);
 	IPage<WmScorePackageApiOutput> getPackageListForReceive(Page page, WmScorePackage wmScorePackage);
 
 
+	/**
+	 * 积分包结算列表(分页)
+	 *
+	 * @param page
+	 * @param input
+	 * @return
+	 */
 	IPage<WmScorePackageSettleOutput> listPackageSettleList(Page page, WmScorePackageSettleInput input);
 	IPage<WmScorePackageSettleOutput> listPackageSettleList(Page page, WmScorePackageSettleInput input);
 
 
+	/**
+	 * 积分包结算列表
+	 *
+	 * @param input
+	 * @return
+	 */
+	List<WmScorePackageSettleOutput> listAllPackageSettle(WmScorePackageSettleInput input);
+
 	/**
 	/**
 	 * 获取当前部门的基于所有积分包的相关信息
 	 * 获取当前部门的基于所有积分包的相关信息
 	 *
 	 *

+ 17 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmScorePackageSettleNoteService.java

@@ -25,6 +25,8 @@ import com.qunzhixinxi.hnqz.admin.entity.input.SettleNoteStatusOutput;
 import com.qunzhixinxi.hnqz.admin.entity.output.WmTaskSettleNoteOutput;
 import com.qunzhixinxi.hnqz.admin.entity.output.WmTaskSettleNoteOutput;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 
 
+import java.util.List;
+
 /**
 /**
  * @author pigx code generator
  * @author pigx code generator
  * @date 2021-01-26 15:44:49
  * @date 2021-01-26 15:44:49
@@ -33,8 +35,23 @@ public interface WmScorePackageSettleNoteService extends IService<WmScorePackage
 
 
 	IPage<WmTaskSettleNoteOutput> getWmTaskSettleInfoPage(Page page, WmScorePackageSettleNote note);
 	IPage<WmTaskSettleNoteOutput> getWmTaskSettleInfoPage(Page page, WmScorePackageSettleNote note);
 
 
+	/**
+	 * 结算包结算列表(分页)
+	 *
+	 * @param page
+	 * @param note
+	 * @return
+	 */
 	IPage<WmTaskSettleNoteOutput> getWmTaskForSettlePage(Page page, WmScorePackageSettleNote note);
 	IPage<WmTaskSettleNoteOutput> getWmTaskForSettlePage(Page page, WmScorePackageSettleNote note);
 
 
+	/**
+	 * 结算包结算列表
+	 *
+	 * @param note
+	 * @return
+	 */
+	List<WmTaskSettleNoteOutput> listWmTaskForSettle(WmScorePackageSettleNote note);
+
 	SettleNoteStatusOutput selectSettleNoteStatus(String packageId);
 	SettleNoteStatusOutput selectSettleNoteStatus(String packageId);
 
 
 	R getSettleInfo(WmScorePackageSettleNote note);
 	R getSettleInfo(WmScorePackageSettleNote note);

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

@@ -1239,6 +1239,13 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 		return wmScorePackageMapper.getPackageListForReceive(page, wmScorePackage);
 		return wmScorePackageMapper.getPackageListForReceive(page, wmScorePackage);
 	}
 	}
 
 
+	/**
+	 * 积分包结算列表(分页)
+	 *
+	 * @param page
+	 * @param input
+	 * @return
+	 */
 	@Override
 	@Override
 	public IPage<WmScorePackageSettleOutput> listPackageSettleList(Page page, WmScorePackageSettleInput input) {
 	public IPage<WmScorePackageSettleOutput> listPackageSettleList(Page page, WmScorePackageSettleInput input) {
 		IPage<WmScorePackageSettleOutput> settleListPage = wmScorePackageMapper.listPackageSettleList(page, input);
 		IPage<WmScorePackageSettleOutput> settleListPage = wmScorePackageMapper.listPackageSettleList(page, input);
@@ -1287,6 +1294,58 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 		return settleListPage;
 		return settleListPage;
 	}
 	}
 
 
+	/**
+	 * 积分包结算列表
+	 *
+	 * @param input
+	 * @return
+	 */
+	@Override
+	public List<WmScorePackageSettleOutput> listAllPackageSettle(WmScorePackageSettleInput input) {
+		List<WmScorePackageSettleOutput> settleList = wmScorePackageMapper.listAllPackageSettle(input);
+		for (WmScorePackageSettleOutput ouPut : settleList) {
+			WmScorePackageStatus statusQuery = new WmScorePackageStatus();
+			statusQuery.setPackageId(ouPut.getId());
+			statusQuery.setStatus("2");
+			List<WmScorePackageStatus> statusList = wmScorePackageStatusService.getByPackageId(statusQuery);
+			String userNames = statusList.stream().map(WmScorePackageStatus::getUserId).collect(Collectors.joining(","));
+			ouPut.setUserNames(userNames);
+			// 查询结算成功时间
+			List<WmScorePackageSettleNote> packageSettleNoteList = settleNoteMapper.selectList(Wrappers.<WmScorePackageSettleNote>lambdaQuery()
+					.eq(WmScorePackageSettleNote::getPackageId, ouPut.getId()));
+			if (CollectionUtil.isNotEmpty(packageSettleNoteList)) {
+				WmScorePackageSettleNote settleNote = packageSettleNoteList.get(0);
+				LocalDateTime notifyTime = settleNote.getNotifyTime();
+				if (notifyTime != null) {
+					ouPut.setBelongDate(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(notifyTime));
+				}
+				if (ouPut.getInvoiceCategory() == null) {
+					ouPut.setInvoiceCategory(settleNote.getInvoiceType());
+				}
+				if (ouPut.getSettleAmount() == null) {
+					BigDecimal tmp = new BigDecimal("0");
+					for (WmScorePackageSettleNote note : packageSettleNoteList){
+						if (null != note.getSettleAmount()){
+							tmp = tmp.add(note.getSettleAmount());
+						}
+					}
+					ouPut.setSettleAmount(tmp);
+				}
+				if (StringUtils.isBlank(ouPut.getSettleStatus())) {
+					ouPut.setSettleStatus(String.valueOf(settleNote.getSettleNoteStatus()));
+				}
+			}
+			if (PackageTypeEnum.TYPE1_HCP_PACKAGE.val().equals(ouPut.getPackageType1())) {
+				// 如果是患者教育,则转换积分值 '分'->'元'
+				WmScorePackage scorePackage = this.getById(ouPut.getId());
+				if (scorePackage != null && StringUtils.isNumeric(scorePackage.getUserScore())) {
+					ouPut.setScore(String.format("%.2f", Integer.parseInt(scorePackage.getUserScore()) / 100.0));
+				}
+			}
+		}
+		return settleList;
+	}
+
 	/**
 	/**
 	 * 获取当前部门的基于所有积分包的相关信息
 	 * 获取当前部门的基于所有积分包的相关信息
 	 *
 	 *

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

@@ -88,11 +88,29 @@ public class WmScorePackageSettleNoteServiceImpl extends ServiceImpl<WmScorePack
 		return noteMapper.getWmTaskSettleInfoPage(page, note);
 		return noteMapper.getWmTaskSettleInfoPage(page, note);
 	}
 	}
 
 
+	/**
+	 * 结算包结算列表(分页)
+	 *
+	 * @param page
+	 * @param note
+	 * @return
+	 */
 	@Override
 	@Override
 	public IPage<WmTaskSettleNoteOutput> getWmTaskForSettlePage(Page page, WmScorePackageSettleNote note) {
 	public IPage<WmTaskSettleNoteOutput> getWmTaskForSettlePage(Page page, WmScorePackageSettleNote note) {
 		return noteMapper.getWmTaskForSettlePage(page, note);
 		return noteMapper.getWmTaskForSettlePage(page, note);
 	}
 	}
 
 
+	/**
+	 * 结算包结算列表
+	 *
+	 * @param note
+	 * @return
+	 */
+	@Override
+	public List<WmTaskSettleNoteOutput> listWmTaskForSettle(WmScorePackageSettleNote note) {
+		return noteMapper.listWmTaskForSettle(note);
+	}
+
 	@Override
 	@Override
 	public SettleNoteStatusOutput selectSettleNoteStatus(String packageId) {
 	public SettleNoteStatusOutput selectSettleNoteStatus(String packageId) {
 		return noteMapper.selectSettleNoteStatus(packageId);
 		return noteMapper.selectSettleNoteStatus(packageId);

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

@@ -1140,6 +1140,7 @@
 		p.create_time DESC
 		p.create_time DESC
 	</select>
 	</select>
 
 
+	<!-- 积分包结算(分页) -->
 	<select id="listPackageSettleList" resultType="com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput">
 	<select id="listPackageSettleList" 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,
 		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
@@ -1173,4 +1174,39 @@
 		ORDER BY
 		ORDER BY
 		p.create_time DESC
 		p.create_time DESC
 	</select>
 	</select>
+
+	<!-- 积分包结算列表 -->
+	<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
+		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},'%')
+		</if>
+		<if test="query.belongDate != null and query.belongDate != ''">
+			AND p.belong_date= #{query.belongDate}
+		</if>
+		<if test="query.typeid != null and query.typeid != ''">
+			AND p.typeid= #{query.typeid}
+		</if>
+		<if test="query.packageType1 != null and query.packageType1 != ''">
+			AND p.package_type1= #{query.packageType1}
+		</if>
+		<if test="query.packageFinishStatus != null and query.packageFinishStatus != ''">
+			AND p.package_finish_status= #{query.packageFinishStatus}
+		</if>
+		<if test="query.packageType2 != null and query.packageType2 != ''">
+			AND p.package_type2= #{query.packageType2}
+		</if>
+		<if test="query.settleFlag != null and query.settleFlag != ''">
+			AND p.settle_flag= #{query.settleFlag}
+		</if>
+		ORDER BY
+		p.create_time DESC
+	</select>
 </mapper>
 </mapper>

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

@@ -80,6 +80,7 @@
 
 
 	</select>
 	</select>
 
 
+	<!-- 结算包结算列表(分页) -->
 	<select id="getWmTaskForSettlePage" resultType="com.qunzhixinxi.hnqz.admin.entity.output.WmTaskSettleNoteOutput">
 	<select id="getWmTaskForSettlePage" resultType="com.qunzhixinxi.hnqz.admin.entity.output.WmTaskSettleNoteOutput">
 		SELECT
 		SELECT
 		t.id,
 		t.id,
@@ -120,5 +121,48 @@
 		ORDER BY e.sub_time DESC
 		ORDER BY e.sub_time DESC
 	</select>
 	</select>
 
 
-
+	<!-- 结算包结算列表 -->
+	<select id="listWmTaskForSettle" resultType="com.qunzhixinxi.hnqz.admin.entity.output.WmTaskSettleNoteOutput">
+		SELECT
+		t.id,
+		t.task_type_id,
+		t.create_time,
+		t.score_package_id,
+		t.task_user_id,
+		tt.task_type_name,
+		u.realname real_name,
+		c.temp3 xmbm,
+		e.id noteId,
+		e.invoice_type,
+		e.sub_type,
+		e.category_name,
+		e.discount,
+		e.stream_id,
+		e.settle_no,
+		e.settle_amount,
+		e.settle_note_status,
+		e.sub_time,
+		e.notify_time
+		FROM wm_task t
+		LEFT JOIN wm_task_content c on t.task_content_id = c.id
+		LEFT JOIN wm_score_package_settle_note e on t.id = e.task_id
+		LEFT JOIN sys_user u on t.task_user_id = u.user_id
+		LEFT JOIN (
+			SELECT id, task_type_name FROM wm_task_type WHERE del_flag=0 AND enable_flag=0 AND task_type_level=1
+		) tt ON tt.id = t.task_type_id
+		WHERE  1= 1
+		<if test="query.userId!=null and query.userId!=''">
+			AND t.task_user_id =#{query.userId}
+		</if>
+		<if test="query.packageId!=null and query.packageId!=''">
+			AND t.score_package_id =#{query.packageId}
+		</if>
+		<if test="query.startSubTime != null and query.endSubTime != null">
+			AND e.sub_time BETWEEN #{query.startSubTime} AND #{query.endSubTime}
+		</if>
+		<if test="query.settleNoteStatus != null">
+			AND e.settle_note_status = #{query.settleNoteStatus}
+		</if>
+		ORDER BY e.sub_time DESC
+	</select>
 </mapper>
 </mapper>