|
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
@@ -24,14 +25,12 @@ import org.springblade.meter.service.MidPayItemSystemService;
|
|
|
import org.springblade.meter.vo.MeterMidPayItemContractVO;
|
|
|
import org.springblade.meter.vo.MeterMidPayItemProjectVO;
|
|
|
import org.springblade.meter.vo.MeterMidPayItemSystemVO;
|
|
|
+import org.springblade.system.entity.Dict;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Comparator;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@RestController
|
|
@@ -50,9 +49,18 @@ public class MidPayItemController extends BladeController {
|
|
|
@ApiOperation(value = "系统中期支付项详情", notes = "传入id")
|
|
|
public R<MeterMidPayItemSystemVO> systemDetail(@RequestParam String id) {
|
|
|
if (StringUtils.isNotEmpty(id)) {
|
|
|
+ Map<String, String> meterPayTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
+ Map<String, String> meterPayAppTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_applicable_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
MeterMidPayItemSystem obj = payItemSystemService.getById(id);
|
|
|
+
|
|
|
MeterMidPayItemSystemVO vo = new MeterMidPayItemSystemVO();
|
|
|
BeanUtil.copyProperties(obj, vo);
|
|
|
+ if (ObjectUtil.isNotEmpty(obj.getPayApplicableType())) {
|
|
|
+ vo.setPayApplicableTypeName(meterPayAppTypeMap.getOrDefault(obj.getPayApplicableType().toString(), null));
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(obj.getPayType())) {
|
|
|
+ vo.setPayTypeName(meterPayTypeMap.getOrDefault(obj.getPayType().toString(), null));
|
|
|
+ }
|
|
|
List<MeterMidPayItemRelation> recordInfos = jdbcTemplate.query("SELECT * FROM s_meter_mid_pay_item_relation WHERE mid_pay_id = " + id, new BeanPropertyRowMapper<>(MeterMidPayItemRelation.class));
|
|
|
if (recordInfos.size() > 0) {
|
|
|
Set<Long> ids = recordInfos.stream().map(MeterMidPayItemRelation::getMidPayIdRelation).collect(Collectors.toSet());
|
|
@@ -86,12 +94,33 @@ public class MidPayItemController extends BladeController {
|
|
|
@PostMapping("/system/page")
|
|
|
@ApiOperationSupport(order = 4)
|
|
|
@ApiOperation(value = "系统中期支付项分页", notes = "传入MeterMidPayItemSystem、Query")
|
|
|
- public R<IPage<MeterMidPayItemSystem>> systemPage(@RequestBody MeterMidPayItemSystem meterMidPayItemSystem, @RequestBody Query query) {
|
|
|
+ public R<IPage<MeterMidPayItemSystemVO>> systemPage(@RequestBody MeterMidPayItemSystem meterMidPayItemSystem, @RequestBody Query query) {
|
|
|
IPage<MeterMidPayItemSystem> pages = payItemSystemService.page(Condition.getPage(query), Condition.getQueryWrapper(meterMidPayItemSystem));
|
|
|
- List<MeterMidPayItemSystem> sortResult = pages.getRecords().stream()
|
|
|
- .sorted(Comparator.comparing(MeterMidPayItemSystem::getCreateTime))
|
|
|
+
|
|
|
+ Map<String, String> meterPayTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
+ Map<String, String> meterPayAppTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_applicable_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
+
|
|
|
+ List<MeterMidPayItemSystemVO> sortResult = pages.getRecords().stream()
|
|
|
+ .map(system -> {
|
|
|
+ MeterMidPayItemSystemVO vo = new MeterMidPayItemSystemVO();
|
|
|
+ BeanUtil.copyProperties(system, vo);
|
|
|
+ if (ObjectUtil.isNotEmpty(system.getPayApplicableType())) {
|
|
|
+ vo.setPayApplicableTypeName(meterPayAppTypeMap.getOrDefault(system.getPayApplicableType().toString(), null));
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(system.getPayType())) {
|
|
|
+ vo.setPayTypeName(meterPayTypeMap.getOrDefault(system.getPayType().toString(), null));
|
|
|
+ }
|
|
|
+ return vo;
|
|
|
+ })
|
|
|
+ .sorted(Comparator.comparing(MeterMidPayItemSystemVO::getCreateTime))
|
|
|
.collect(Collectors.toList());
|
|
|
- return R.data(pages.setRecords(sortResult));
|
|
|
+
|
|
|
+ IPage<MeterMidPayItemSystemVO> resultPage = new Page<>();
|
|
|
+ resultPage.setTotal(pages.getTotal());
|
|
|
+ resultPage.setCurrent(pages.getCurrent());
|
|
|
+ resultPage.setSize(pages.getSize());
|
|
|
+ resultPage.setRecords(sortResult);
|
|
|
+ return R.data(resultPage);
|
|
|
}
|
|
|
|
|
|
@PostMapping("/system/list")
|
|
@@ -111,9 +140,18 @@ public class MidPayItemController extends BladeController {
|
|
|
@ApiOperation(value = "项目中期支付项详情", notes = "传入id")
|
|
|
public R<MeterMidPayItemProjectVO> projectDetail(@RequestParam String id) {
|
|
|
if (StringUtils.isNotEmpty(id)) {
|
|
|
+ Map<String, String> meterPayTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
+ Map<String, String> meterPayAppTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_applicable_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
MeterMidPayItemProject obj = payItemProjectService.getById(id);
|
|
|
+
|
|
|
MeterMidPayItemProjectVO vo = new MeterMidPayItemProjectVO();
|
|
|
BeanUtil.copyProperties(obj, vo);
|
|
|
+ if (ObjectUtil.isNotEmpty(obj.getPayApplicableType())) {
|
|
|
+ vo.setPayApplicableTypeName(meterPayAppTypeMap.getOrDefault(obj.getPayApplicableType().toString(), null));
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(obj.getPayType())) {
|
|
|
+ vo.setPayTypeName(meterPayTypeMap.getOrDefault(obj.getPayType().toString(), null));
|
|
|
+ }
|
|
|
List<MeterMidPayItemRelation> recordInfos = jdbcTemplate.query("SELECT * FROM s_meter_mid_pay_item_relation WHERE mid_pay_id = " + id, new BeanPropertyRowMapper<>(MeterMidPayItemRelation.class));
|
|
|
if (recordInfos.size() > 0) {
|
|
|
Set<Long> ids = recordInfos.stream().map(MeterMidPayItemRelation::getMidPayIdRelation).collect(Collectors.toSet());
|
|
@@ -185,25 +223,62 @@ public class MidPayItemController extends BladeController {
|
|
|
@PostMapping("/project/page")
|
|
|
@ApiOperationSupport(order = 10)
|
|
|
@ApiOperation(value = "项目中期支付项分页", notes = "传入MeterMidPayItemProject、Query")
|
|
|
- public R<IPage<MeterMidPayItemProject>> projectPage(@RequestBody MeterMidPayItemProject meterMidPayItemProject, @RequestBody Query query) {
|
|
|
+ public R<IPage<MeterMidPayItemProjectVO>> projectPage(@RequestBody MeterMidPayItemProject meterMidPayItemProject, @RequestBody Query query) {
|
|
|
IPage<MeterMidPayItemProject> pages = payItemProjectService.page(Condition.getPage(query), Condition.getQueryWrapper(meterMidPayItemProject));
|
|
|
- List<MeterMidPayItemProject> sortResult = pages.getRecords().stream()
|
|
|
- .sorted(Comparator.comparing(MeterMidPayItemProject::getCreateTime))
|
|
|
+
|
|
|
+ Map<String, String> meterPayTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
+ Map<String, String> meterPayAppTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_applicable_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
+
|
|
|
+ List<MeterMidPayItemProjectVO> sortResult = pages.getRecords().stream()
|
|
|
+ .map(project -> {
|
|
|
+ MeterMidPayItemProjectVO vo = new MeterMidPayItemProjectVO();
|
|
|
+ BeanUtil.copyProperties(project, vo);
|
|
|
+ if (ObjectUtil.isNotEmpty(project.getPayApplicableType())) {
|
|
|
+ vo.setPayApplicableTypeName(meterPayAppTypeMap.getOrDefault(project.getPayApplicableType().toString(), null));
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(project.getPayType())) {
|
|
|
+ vo.setPayTypeName(meterPayTypeMap.getOrDefault(project.getPayType().toString(), null));
|
|
|
+ }
|
|
|
+ return vo;
|
|
|
+ })
|
|
|
+ .sorted(Comparator.comparing(MeterMidPayItemProjectVO::getCreateTime))
|
|
|
.collect(Collectors.toList());
|
|
|
- return R.data(pages.setRecords(sortResult));
|
|
|
+
|
|
|
+ IPage<MeterMidPayItemProjectVO> resultPage = new Page<>();
|
|
|
+ resultPage.setTotal(pages.getTotal());
|
|
|
+ resultPage.setCurrent(pages.getCurrent());
|
|
|
+ resultPage.setSize(pages.getSize());
|
|
|
+ resultPage.setRecords(sortResult);
|
|
|
+ return R.data(resultPage);
|
|
|
}
|
|
|
|
|
|
@PostMapping("/project/list")
|
|
|
@ApiOperationSupport(order = 11)
|
|
|
@ApiOperation(value = "项目中期支付项列表", notes = "传入type=0(未被引用),type=1(已引用),type=空(全部)、projectId")
|
|
|
- public R<List<MeterMidPayItemProject>> projectList(@RequestParam String type, @RequestParam String projectId) {
|
|
|
+ public R<List<MeterMidPayItemProjectVO>> projectList(@RequestParam String type, @RequestParam String projectId) {
|
|
|
+ Map<String, String> meterPayTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
+ Map<String, String> meterPayAppTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_applicable_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
+
|
|
|
LambdaQueryWrapper<MeterMidPayItemProject> queryWrapper = Wrappers.lambdaQuery();
|
|
|
if (type != null) {
|
|
|
queryWrapper.eq(MeterMidPayItemProject::getIsReferenced, type);
|
|
|
}
|
|
|
queryWrapper.eq(MeterMidPayItemProject::getProjectId, projectId);
|
|
|
queryWrapper.orderByAsc(MeterMidPayItemProject::getCreateTime);
|
|
|
- return R.data(payItemProjectService.getBaseMapper().selectList(queryWrapper));
|
|
|
+
|
|
|
+ List<MeterMidPayItemProject> meterMidPayItemProjects = payItemProjectService.getBaseMapper().selectList(queryWrapper);
|
|
|
+
|
|
|
+ List<MeterMidPayItemProjectVO> VOS = BeanUtil.copyProperties(meterMidPayItemProjects, MeterMidPayItemProjectVO.class);
|
|
|
+ for (MeterMidPayItemProjectVO vo : VOS) {
|
|
|
+ if (ObjectUtil.isNotEmpty(vo.getPayApplicableType())) {
|
|
|
+ vo.setPayApplicableTypeName(meterPayAppTypeMap.getOrDefault(vo.getPayApplicableType().toString(), null));
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(vo.getPayType())) {
|
|
|
+ vo.setPayTypeName(meterPayTypeMap.getOrDefault(vo.getPayType().toString(), null));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return R.data(VOS);
|
|
|
}
|
|
|
|
|
|
@GetMapping("/contract/detail")
|
|
@@ -211,9 +286,18 @@ public class MidPayItemController extends BladeController {
|
|
|
@ApiOperation(value = "合同段中期支付项详情", notes = "传入id")
|
|
|
public R<MeterMidPayItemContractVO> contractDetail(@RequestParam String id) {
|
|
|
if (StringUtils.isNotEmpty(id)) {
|
|
|
+ Map<String, String> meterPayTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
+ Map<String, String> meterPayAppTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_applicable_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
MeterMidPayItemContract obj = payItemContractService.getById(id);
|
|
|
+
|
|
|
MeterMidPayItemContractVO vo = new MeterMidPayItemContractVO();
|
|
|
BeanUtil.copyProperties(obj, vo);
|
|
|
+ if (ObjectUtil.isNotEmpty(obj.getPayApplicableType())) {
|
|
|
+ vo.setPayApplicableTypeName(meterPayAppTypeMap.getOrDefault(obj.getPayApplicableType().toString(), null));
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(obj.getPayType())) {
|
|
|
+ vo.setPayTypeName(meterPayTypeMap.getOrDefault(obj.getPayType().toString(), null));
|
|
|
+ }
|
|
|
List<MeterMidPayItemRelation> recordInfos = jdbcTemplate.query("SELECT * FROM s_meter_mid_pay_item_relation WHERE mid_pay_id = " + id, new BeanPropertyRowMapper<>(MeterMidPayItemRelation.class));
|
|
|
if (recordInfos.size() > 0) {
|
|
|
Set<Long> ids = recordInfos.stream().map(MeterMidPayItemRelation::getMidPayIdRelation).collect(Collectors.toSet());
|
|
@@ -286,12 +370,33 @@ public class MidPayItemController extends BladeController {
|
|
|
@PostMapping("/contract/page")
|
|
|
@ApiOperationSupport(order = 16)
|
|
|
@ApiOperation(value = "合同段中期支付项分页", notes = "传入MeterMidPayItemContract、Query")
|
|
|
- public R<IPage<MeterMidPayItemContract>> contractPage(@RequestBody MeterMidPayItemContract meterMidPayItemContract, @RequestBody Query query) {
|
|
|
+ public R<IPage<MeterMidPayItemContractVO>> contractPage(@RequestBody MeterMidPayItemContract meterMidPayItemContract, @RequestBody Query query) {
|
|
|
IPage<MeterMidPayItemContract> pages = payItemContractService.page(Condition.getPage(query), Condition.getQueryWrapper(meterMidPayItemContract));
|
|
|
- List<MeterMidPayItemContract> sortResult = pages.getRecords().stream()
|
|
|
- .sorted(Comparator.comparing(MeterMidPayItemContract::getCreateTime))
|
|
|
+
|
|
|
+ Map<String, String> meterPayTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
+ Map<String, String> meterPayAppTypeMap = jdbcTemplate.query("SELECT dict_key,dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_pay_applicable_type'", new BeanPropertyRowMapper<>(Dict.class)).stream().collect(Collectors.toMap(Dict::getDictKey, Dict::getDictValue));
|
|
|
+
|
|
|
+ List<MeterMidPayItemContractVO> sortResult = pages.getRecords().stream()
|
|
|
+ .map(contract -> {
|
|
|
+ MeterMidPayItemContractVO vo = new MeterMidPayItemContractVO();
|
|
|
+ BeanUtil.copyProperties(contract, vo);
|
|
|
+ if (ObjectUtil.isNotEmpty(contract.getPayApplicableType())) {
|
|
|
+ vo.setPayApplicableTypeName(meterPayAppTypeMap.getOrDefault(contract.getPayApplicableType().toString(), null));
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(contract.getPayType())) {
|
|
|
+ vo.setPayTypeName(meterPayTypeMap.getOrDefault(contract.getPayType().toString(), null));
|
|
|
+ }
|
|
|
+ return vo;
|
|
|
+ })
|
|
|
+ .sorted(Comparator.comparing(MeterMidPayItemContractVO::getCreateTime))
|
|
|
.collect(Collectors.toList());
|
|
|
- return R.data(pages.setRecords(sortResult));
|
|
|
+
|
|
|
+ IPage<MeterMidPayItemContractVO> resultPage = new Page<>();
|
|
|
+ resultPage.setTotal(pages.getTotal());
|
|
|
+ resultPage.setCurrent(pages.getCurrent());
|
|
|
+ resultPage.setSize(pages.getSize());
|
|
|
+ resultPage.setRecords(sortResult);
|
|
|
+ return R.data(resultPage);
|
|
|
}
|
|
|
|
|
|
@PostMapping("/contract/all-list")
|