Commit c2cf37d0 authored by chenzhao's avatar chenzhao

投融资经销商端

parent 56c6215d
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
/**
* 投融整改单
......@@ -26,8 +28,13 @@ public class FinancingRectificationOrderDto extends BaseDto {
@ApiModelProperty(value = "农户id")
private Long peasantHouseholdId;
@ApiModelProperty(value = "农户名称")
private String peasantHouseholdName;
private String ownersName;
@ApiModelProperty(value = "农户编号")
private String peasantHouseholdNo;
@ApiModelProperty(value = "地址")
private String projectAddress;
@ApiModelProperty(value = "问题描述")
private String problemDescription;
......@@ -39,6 +46,7 @@ public class FinancingRectificationOrderDto extends BaseDto {
private String rectificationDescription;
@ApiModelProperty(value = "完成日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date completeDate;
@ApiModelProperty(value = "负责人ID")
......@@ -53,4 +61,7 @@ public class FinancingRectificationOrderDto extends BaseDto {
@ApiModelProperty(value = "整改照片")
private String rectificationPhoto;
@ApiModelProperty(value = "整改照片")
private List<Object> rectificationPhotos;
}
......@@ -16,7 +16,7 @@ import java.util.Map;
*/
public interface FinancingInfoMapper extends BaseMapper<FinancingInfo> {
List<Map<String,String>> getStationFinancingInfoList();
List<Map<String,Object>> getStationFinancingInfoList(@Param(value = "params") Map<String,Object> params,@Param(value = "amosOrgCodes")List<String> amosOrgCodes);
FinancingInfoDto selectDataInfo(@Param("peasantHouseholdId")Long peasantHouseholdId);
......
package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.yeejoin.amos.boot.module.hygf.api.dto.FinancingRectificationOrderDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.FinancingRectificationOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* 投融整改单 Mapper 接口
*
......@@ -11,4 +14,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface FinancingRectificationOrderMapper extends BaseMapper<FinancingRectificationOrder> {
public List<FinancingRectificationOrderDto> selectDataList(Long peasantHouseholdId);
}
......@@ -5,16 +5,43 @@
<select id="getStationFinancingInfoList" resultType="java.util.Map">
SELECT
hph.sequence_nbr AS sequenceNbr,
hph.peasant_household_no peasantHouseholdNo,
hph.owners_name as ownersName,
hph.project_address_name as projectAddress,
hph.regional_companies_name as regionalCompaniesName,
IFNULL(info.`status`,'待推送') as status
hph.sequence_nbr AS sequenceNbr,
hph.peasant_household_no peasantHouseholdNo,
hph.owners_name AS ownersName,
hph.project_address_name AS projectAddress,
hph.regional_companies_name AS regionalCompaniesName,
IFNULL( info.`status`, '待推送' ) AS status,
(select count( hfro.sequence_nbr ) from hygf_financing_rectification_order hfro where hfro.peasant_household_id = hph.sequence_nbr )orderNum
FROM
`hygf_peasant_household` hph Left JOIN hygf_financing_info info on info.peasant_household_id = hph.sequence_nbr
`hygf_peasant_household` hph
LEFT JOIN hygf_financing_info info ON info.peasant_household_id = hph.sequence_nbr
WHERE
hph.construction_state= '验收完成'
hph.construction_state = '验收完成'
<if test="params.ownersName != null and params.ownersName !=''">
and hph.owners_name like concat('%',#{params.ownersName},'%')
</if>
<if test="params.regionalCompaniesSeq != null and params.regionalCompaniesSeq !=''">
and hph.regional_companies_seq = #{params.regionalCompaniesSeq}
</if>
<!-- <if test="params.type == 1 ">-->
<!-- and hph.regional_companies_code in-->
<!-- <foreach collection="amosOrgCodes" item="item" open="(" close=")" separator=",">-->
<!-- #{item}-->
<!-- </foreach>-->
<!-- </if>-->
<if test="params.type == 2 ">
and info.status in ('待融资审核','审核通过','放款完成' )
</if>
<if test="params.type == 3 ">
and info.status in ('待整改')
<!-- and hph.developer_code in-->
<!-- <foreach collection="amosOrgCodes" item="item" open="(" close=")" separator=",">-->
<!-- #{item}-->
<!-- </foreach>-->
</if>
<if test="params.status != null and params.status != ''">
and info.status = #{params.status}
</if>
</select>
<select id="selectDataInfo" resultType="com.yeejoin.amos.boot.module.hygf.api.dto.FinancingInfoDto">
SELECT
......
......@@ -2,4 +2,25 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.hygf.api.mapper.FinancingRectificationOrderMapper">
<select id="selectDataList"
resultType="com.yeejoin.amos.boot.module.hygf.api.dto.FinancingRectificationOrderDto">
select
hfro.sequence_nbr,
hfro.peasant_household_id,
hfro.rectification_status,
hph.owners_name,
hph.peasant_household_no,
project_address_name as projectAddress
from
hygf_financing_rectification_order hfro
INNER JOIN
hygf_peasant_household hph on hph.sequence_nbr = hfro.peasant_household_id
<where>
<if test="peasantHouseholdId != null and peasantHouseholdId != ''">
hfro.peasant_household_id = #{peasantHouseholdId}
</if>
</where>
</select>
</mapper>
......@@ -65,7 +65,7 @@ public class FinancingInfoController extends BaseController {
model.setSequenceNbr(sequenceNbr);
model.setFile(JSON.toJSONString(model.getFiles()));
financingInfoServiceImpl.updateWithModel(model);
if (null != model.getDisbursementMoney()){
if (null != model.getDisbursementMoney() && model.getStatus() != "放款完成" ){
Map<String, Object> map = BeanUtil.beanToMap(model);
map.put("approvalStatus","0");
financingInfoServiceImpl.execueFlow(map);
......@@ -114,12 +114,14 @@ public class FinancingInfoController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<Page<Map<String, String>>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<Map<String, String>> page = new Page<Map<String, String>>();
public ResponseModel<Page<Map<String, Object>>> queryForPage(@RequestParam(value = "current") int current,@RequestParam(value = "size") int size,@RequestParam(value = "type") String type,
@RequestParam(value = "status",required = false) String status,
@RequestParam(value = "regionalCompaniesSeq" ,required = false) String regionalCompaniesSeq ,
@RequestParam(value = "ownersName",required = false) String ownersName){
Page<Map<String, Object>> page = new Page<Map<String, Object>>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(financingInfoServiceImpl.queryForFinancingInfoPage(page));
return ResponseHelper.buildResponse(financingInfoServiceImpl.queryForFinancingInfoPage(page,type,status,regionalCompaniesSeq,ownersName));
}
/**
......
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.yeejoin.amos.boot.module.hygf.api.dto.FinancingInfoDto;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.FinancingInfoServiceImpl;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
......@@ -31,6 +36,7 @@ public class FinancingRectificationOrderController extends BaseController {
@Autowired
FinancingRectificationOrderServiceImpl financingRectificationOrderServiceImpl;
/**
* 新增投融整改单
*
......@@ -55,11 +61,7 @@ public class FinancingRectificationOrderController extends BaseController {
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新投融整改单", notes = "根据sequenceNbr更新投融整改单")
public ResponseModel<FinancingRectificationOrderDto> updateBySequenceNbrFinancingRectificationOrder(@RequestBody FinancingRectificationOrderDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(financingRectificationOrderServiceImpl.updateWithModel(model));
return ResponseHelper.buildResponse(financingRectificationOrderServiceImpl.updateOrderStatus(model));
}
/**
......@@ -85,7 +87,11 @@ public class FinancingRectificationOrderController extends BaseController {
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个投融整改单", notes = "根据sequenceNbr查询单个投融整改单")
public ResponseModel<FinancingRectificationOrderDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(financingRectificationOrderServiceImpl.queryBySeq(sequenceNbr));
FinancingRectificationOrderDto dto = financingRectificationOrderServiceImpl.queryBySeq(sequenceNbr);
if (!StringUtils.isEmpty(dto.getRectificationPhoto())){
dto.setRectificationPhotos(JSONArray.parseArray(dto.getRectificationPhoto()));
}
return ResponseHelper.buildResponse(financingRectificationOrderServiceImpl.queryBySeq(sequenceNbr));
}
/**
......@@ -99,11 +105,10 @@ public class FinancingRectificationOrderController extends BaseController {
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "投融整改单分页查询", notes = "投融整改单分页查询")
public ResponseModel<Page<FinancingRectificationOrderDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<FinancingRectificationOrderDto> page = new Page<FinancingRectificationOrderDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(financingRectificationOrderServiceImpl.queryForFinancingRectificationOrderPage(page));
(value = "size") int size,@RequestParam
(value = "peasantHouseholdId") Long peasantHouseholdId) {
return ResponseHelper.buildResponse(financingRectificationOrderServiceImpl.queryForFinancingRectificationOrderPage( current, size,peasantHouseholdId ));
}
/**
......
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.hygf.api.Enum.FinancingAuditEnum;
import com.yeejoin.amos.boot.module.hygf.api.config.UserLimits;
import com.yeejoin.amos.boot.module.hygf.api.dto.FinancingAuditingDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.WorkflowResultDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.BasicGridAcceptance;
import com.yeejoin.amos.boot.module.hygf.api.entity.FinancingAuditing;
import com.yeejoin.amos.boot.module.hygf.api.entity.FinancingInfo;
import com.yeejoin.amos.boot.module.hygf.api.entity.*;
import com.yeejoin.amos.boot.module.hygf.api.mapper.FinancingInfoMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IFinancingInfoService;
import com.yeejoin.amos.boot.module.hygf.api.dto.FinancingInfoDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.FinancingRectificationOrder;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.FinancingRectificationOrderServiceImpl;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
......@@ -55,15 +57,38 @@ public class FinancingInfoServiceImpl extends BaseService<FinancingInfoDto,Finan
private FinancingAuditingServiceImpl financingAuditingService;
@Autowired
private FinancingRectificationOrderServiceImpl financingRectificationOrderService;
@Autowired
RedisUtils redisUtils;
private static String PROCESSKEY="StationFinancing";
public Page<Map<String, String>> queryForFinancingInfoPage(Page<Map<String, String>> page) {
@UserLimits
public Page<Map<String, Object>> queryForFinancingInfoPage(Page<Map<String, Object>> page,String type,String status,String regionalCompaniesSeq ,String ownersName) {
StdUserEmpower orgCode =(StdUserEmpower) redisUtils.get("Emp_"+ RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken()));
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
List<String> amosOrgCodes = orgCode.getAmosOrgCode();
Map<String, Object> params = new HashMap<>();
params.put("ownersName",ownersName);
params.put("status",status);
params.put("regionalCompaniesSeq",regionalCompaniesSeq);
params.put("type",type);
switch (type){
case "1":
// params.put("amosOrgCode",amosOrgCodes);
break;
case "2":
Long sequenceNbr = reginParams.getCompany().getSequenceNbr();
params.put("financingCompaniesSeq", String.valueOf(sequenceNbr));
break;
default:
// params.put("amosOrgCode",amosOrgCode);
}
PageHelper.startPage((int)page.getCurrent(),(int)page.getSize());
List<Map<String, String>> list = financingInfoMapper.getStationFinancingInfoList();
PageInfo<Map<String, String>> infos = new PageInfo<>(list);
List<Map<String, Object>> list = financingInfoMapper.getStationFinancingInfoList(params,amosOrgCodes);
PageInfo<Map<String, Object>> infos = new PageInfo<>(list);
page.setRecords(list);
page.setTotal(infos.getTotal());
return page;
......@@ -170,7 +195,6 @@ public class FinancingInfoServiceImpl extends BaseService<FinancingInfoDto,Finan
task.setTaskId(financingAuditing.getNextTaskId());
task.setComment(params.getOrDefault("comments","").toString());
HashMap<String, Object> map = new HashMap<>();
task.setVariable(map);
if (params.containsKey("isFlag")){
task.setResultCode("isFlag");
map.put("isFlag",params.get("isFlag"));
......@@ -178,6 +202,7 @@ public class FinancingInfoServiceImpl extends BaseService<FinancingInfoDto,Finan
task.setResultCode("approvalStatus");
map.put("approvalStatus",params.get("approvalStatus"));
}
task.setVariable(map);
//执行流程
ProcessTaskDTO processTaskDTO = workFlowService.complete(financingAuditing.getNextTaskId(), task);
List<WorkflowResultDto> workflowResultDtos = workFlowService.buildWorkFlowInfo(CollectionUtil.newArrayList(processTaskDTO));
......@@ -198,7 +223,11 @@ public class FinancingInfoServiceImpl extends BaseService<FinancingInfoDto,Finan
info.eq(FinancingInfo::getPeasantHouseholdId,financingAuditing.getPeasantHouseholdId());
FinancingInfo financingInfo = this.getBaseMapper().selectOne(info);
financingInfo.setStatus(statusName);
if (params.containsKey("isZG")){
financingInfo.setStatus("整改待推送");
}else {
financingInfo.setStatus(statusName);
}
this.updateById(financingInfo);
if (params.containsKey("isFlag")&& params.get("isFlag").equals("0") && workflowResultDto.getNextNodeKey().equals(FinancingAuditEnum.待整改.getCode())){
......@@ -212,9 +241,11 @@ public class FinancingInfoServiceImpl extends BaseService<FinancingInfoDto,Finan
FinancingRectificationOrder financingRectificationOrder = new FinancingRectificationOrder();
if (ObjectUtils.isNotEmpty(oldData)){
BeanUtils.copyProperties(oldData,financingRectificationOrder);
financingRectificationOrder.setSequenceNbr(null);
}
financingRectificationOrder.setRectificationOrderCode(String.valueOf(new Date().getTime()));
financingRectificationOrder.setRectificationStatus("待整改");
financingRectificationOrder.setPeasantHouseholdName(params.getOrDefault("peasantHouseholdName","").toString());
financingRectificationOrder.setRectificationDescription(params.getOrDefault("rectificationDescription","").toString());
financingRectificationOrder.setPeasantHouseholdId(financingInfo.getPeasantHouseholdId() );
financingRectificationOrderService.save(financingRectificationOrder);
......
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.map.MapBuilder;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yeejoin.amos.boot.module.hygf.api.dto.FinancingInfoDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.FinancingRectificationOrder;
import com.yeejoin.amos.boot.module.hygf.api.mapper.FinancingRectificationOrderMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IFinancingRectificationOrderService;
import com.yeejoin.amos.boot.module.hygf.api.dto.FinancingRectificationOrderDto;
import org.apache.activemq.util.MapHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -17,11 +25,25 @@ import java.util.List;
*/
@Service
public class FinancingRectificationOrderServiceImpl extends BaseService<FinancingRectificationOrderDto,FinancingRectificationOrder,FinancingRectificationOrderMapper> implements IFinancingRectificationOrderService {
@Autowired
private FinancingRectificationOrderMapper financingRectificationOrderMapper;
@Autowired
FinancingInfoServiceImpl financingInfoServiceImpl;
/**
* 分页查询
*/
public Page<FinancingRectificationOrderDto> queryForFinancingRectificationOrderPage(Page<FinancingRectificationOrderDto> page) {
return this.queryForPage(page, null, false);
public Page<FinancingRectificationOrderDto> queryForFinancingRectificationOrderPage(int current,int size,Long peasantHouseholdId ) {
PageHelper.startPage(current,size);
List<FinancingRectificationOrderDto> list = financingRectificationOrderMapper.selectDataList(peasantHouseholdId);
PageInfo<FinancingRectificationOrderDto> pageInfo = new PageInfo<>(list);
Page<FinancingRectificationOrderDto> page = new Page<>();
page.setSize(pageInfo.getSize());
page.setCurrent(pageInfo.getPageNum());
page.setTotal(pageInfo.getTotal());
page.setRecords(list);
return page;
}
/**
......@@ -30,4 +52,16 @@ public class FinancingRectificationOrderServiceImpl extends BaseService<Financin
public List<FinancingRectificationOrderDto> queryForFinancingRectificationOrderList() {
return this.queryForList("" , false);
}
public FinancingRectificationOrderDto updateOrderStatus(FinancingRectificationOrderDto model){
if (CollectionUtil.isNotEmpty(model.getRectificationPhotos())){
model.setRectificationPhoto(JSON.toJSONString(model.getRectificationPhotos()));
}
this.updateWithModel(model);
if (model.getRectificationStatus().equals("整改完成")){
FinancingInfoDto financingInfoDto = financingInfoServiceImpl.selectDataInfo(model.getPeasantHouseholdId());
financingInfoServiceImpl.execueFlow(MapBuilder.<String,Object>create().put("instanceId",financingInfoDto.getInstanceId()).put("approvalStatus","0").put("isZG","1").build());
}
return model;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment