|
@@ -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;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 特定任务
|
|
* 特定任务
|
|
* 查询生成结算信息
|
|
* 查询生成结算信息
|