Browse Source

垫款申请新增、初始化、详情、删除接口开发以及导入金额计算优化

zhanglei
God 2 years ago
parent
commit
5e1048219f
  1. 11
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDetailsVo.java
  2. 8
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDto.java
  3. 9
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java
  4. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java
  5. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.java
  6. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.xml
  7. 9
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java
  8. 59
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java
  9. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java
  10. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java

11
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDetailsVo.java

@ -26,12 +26,16 @@
package com.yxt.anrui.riskcenter.api.loanbepadsincereapply;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-riskcenter(垫款申请) <br/>
* File: LoanBePadsincereApplyVo.java <br/>
@ -51,6 +55,8 @@ public class LoanBePadsincereApplyDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("发起日期")
private String createTime;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门名称")
@ -61,6 +67,8 @@ public class LoanBePadsincereApplyDetailsVo implements Vo {
private String useOrgName;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
@ApiModelProperty("创建人")
private String createByName; // 创建人
@ApiModelProperty("申请编号")
@ -75,5 +83,6 @@ public class LoanBePadsincereApplyDetailsVo implements Vo {
private String nodeState; // 流程状态
@ApiModelProperty("任务id")
private String taskId; // 任务id
@ApiModelProperty("垫款车辆列表")
private List<LoanBePadsincereVehDetailsVo> loanBePadsincereVehDetailsVoList = new ArrayList<>();
}

8
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDto.java

@ -26,12 +26,17 @@
package com.yxt.anrui.riskcenter.api.loanbepadsincereapply;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-riskcenter(垫款申请) <br/>
* File: LoanBePadsincereApplyDto.java <br/>
@ -75,5 +80,6 @@ public class LoanBePadsincereApplyDto implements Dto {
private String nodeState; // 流程状态
@ApiModelProperty("任务id")
private String taskId; // 任务id
@ApiModelProperty("垫款车辆列表")
private List<LoanBePadsincereVehDto> loanBePadsincereVehDtoList = new ArrayList<>();
}

9
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java

@ -75,17 +75,22 @@ public interface LoanBePadsincereApplyFeign {
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody LoanBePadsincereApplyDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<LoanBePadsincereApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("初始化")
@GetMapping("/init")
@ResponseBody
public ResultBean<LoanBePadsincereApplyDetailsVo> init(@RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath);
@ApiOperation(value = "导入")
@PostMapping("/getExcelInfo")
@ResponseBody

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java

@ -76,6 +76,11 @@ public class LoanBePadsincereApplyFeignFallback implements LoanBePadsincereApply
return rb.setMsg("接口anrui-riskcenter/loanbepadsincereapply/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<LoanBePadsincereApplyDetailsVo> init(String userSid, String orgPath) {
return null;
}
@Override
public ResultBean<List<LoanBePadsincereVehDetailsVo>> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException, ParseException {
return null;

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.java

@ -65,4 +65,6 @@ public interface LoanBePadsincereApplyMapper extends BaseMapper<LoanBePadsincere
List<LoanBePadsincereApplyVo> selectListVo();
int updateFlowFiled(Map<String, Object> map);
int selectBySid(String join);
}

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.xml

@ -25,4 +25,11 @@
</if>
WHERE sid=#{sid}
</update>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM loan_be_padsincere_apply
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
</mapper>

9
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java

@ -106,7 +106,7 @@ public class LoanBePadsincereApplyRest implements LoanBePadsincereApplyFeign {
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
loanBePadsincereApplyService.delBySids(sids);
loanBePadsincereApplyService.delAll(sids);
return rb.success();
}
@ -119,6 +119,13 @@ public class LoanBePadsincereApplyRest implements LoanBePadsincereApplyFeign {
return rb.success().setData(vo);
}
@Override
public ResultBean<LoanBePadsincereApplyDetailsVo> init(String userSid, String orgPath) {
ResultBean rb = ResultBean.fireFail();
LoanBePadsincereApplyDetailsVo vo = loanBePadsincereApplyService.init(userSid,orgPath);
return rb.success().setData(vo);
}
@Override
public ResultBean<List<LoanBePadsincereVehDetailsVo>> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException {
return loanBePadsincereApplyService.getExcelInfo(file, request);

59
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java

@ -26,12 +26,12 @@
package com.yxt.anrui.riskcenter.biz.loanbepadsincereapply;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.busvalcustfiling.flowable.BusValcustFilingNodeVo;
import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
@ -40,17 +40,24 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.*;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.LoanBePadsincereNodeQuery;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.LoanBePadsincereNodeVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.LoanBePadsincereTaskQuery;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.SubmitLoanBePadsincereDto;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDto;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleDetailsVo;
import com.yxt.anrui.riskcenter.biz.loanbepadsincereveh.LoanBePadsincereVehService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService;
import com.yxt.common.base.utils.DateUtils;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
@ -101,6 +108,8 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private LoanBePadsincereVehService loanBePadsincereVehService;
@Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService;
@Autowired
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService;
@ -110,6 +119,10 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
private MessageFeign messageFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public PagerVo<LoanBePadsincereApplyVo> listPageVo(PagerQuery<LoanBePadsincereApplyQuery> pq) {
LoanBePadsincereApplyQuery query = pq.getParams();
@ -175,17 +188,28 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
public ResultBean<String> saveOrUpdateDto(LoanBePadsincereApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
List<LoanBePadsincereVehDto> loanBePadsincereVehDtoList = dto.getLoanBePadsincereVehDtoList();
if (StringUtils.isBlank(dtoSid)) {
String sid = this.insertByDto(dto);
for (LoanBePadsincereVehDto loanBePadsincereVehDto : loanBePadsincereVehDtoList) {
loanBePadsincereVehDto.setMainSid(sid);
loanBePadsincereVehService.saveOrUpdateDto(loanBePadsincereVehDto);
}
return rb.success().setData(sid);
}
this.updateByDto(dto);
loanBePadsincereVehService.delByMainSid(dtoSid);
for (LoanBePadsincereVehDto loanBePadsincereVehDto : loanBePadsincereVehDtoList) {
loanBePadsincereVehDto.setMainSid(dtoSid);
loanBePadsincereVehService.saveOrUpdateDto(loanBePadsincereVehDto);
}
return rb.success().setData(dtoSid);
}
public String insertByDto(LoanBePadsincereApplyDto dto) {
LoanBePadsincereApply entity = new LoanBePadsincereApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setNodeState("待提交");
baseMapper.insert(entity);
return entity.getSid();
}
@ -204,6 +228,8 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
LoanBePadsincereApply entity = fetchBySid(sid);
LoanBePadsincereApplyDetailsVo vo = new LoanBePadsincereApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
List<LoanBePadsincereVehDetailsVo> loanBePadsincereVehDetailsVos = loanBePadsincereVehService.selByMainSid(sid);
vo.setLoanBePadsincereVehDetailsVoList(loanBePadsincereVehDetailsVos);
return vo;
}
@ -253,8 +279,9 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
loanBePadsincereVehDetailsVo.setPeriod(bePadsincereExcelInfo.getPeriod());
String sysBeMoney = loanRepaymentPlanDetailsService.selBeMoney(no, bePadsincereExcelInfo.getPeriod(), bePadsincereExcelInfo.getBankContractNo());
loanBePadsincereVehDetailsVo.setSysBeMoney(sysBeMoney);
loanBePadsincereVehDetailsVo.setBankBeMoney(bePadsincereExcelInfo.getBePrincipal());
loanBePadsincereVehDetailsVo.setBankBeInter(bePadsincereExcelInfo.getBeDefInter());
loanBePadsincereVehDetailsVo.setBankBeMoney(String.valueOf(Integer.parseInt(bePadsincereExcelInfo.getBePrincipal()) / vinNos.length));
loanBePadsincereVehDetailsVo.setBankBeInter(String.valueOf(Integer.parseInt(bePadsincereExcelInfo.getBeDefInter()) / vinNos.length));
loanBePadsincereVehDetailsVo.setPadMoney(String.valueOf(Integer.parseInt(loanBePadsincereVehDetailsVo.getBankBeMoney()) + Integer.parseInt(loanBePadsincereVehDetailsVo.getBankBeInter())));
loanBePadsincereVehDetailsVo.setPaymentAccount(bePadsincereExcelInfo.getPaymentAccount());
loanBePadsincereVehDetailsVo.setPaymentNum(bePadsincereExcelInfo.getPaymentNum());
loanBePadsincereVehDetailsVo.setBankCollectionAcc(bePadsincereExcelInfo.getBankCollectionAcc());
@ -731,4 +758,30 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
}
delBySids(sids);
for (String sid : sids) {
loanBePadsincereVehService.delByMainSid(sid);
}
return rb.success();
}
public LoanBePadsincereApplyDetailsVo init(String userSid, String orgPath) {
LoanBePadsincereApplyDetailsVo loanBePadsincereApplyDetailsVo = new LoanBePadsincereApplyDetailsVo();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(orgPath).getData();
loanBePadsincereApplyDetailsVo.setDeptSid(sysOrganizationVo.getSid());
loanBePadsincereApplyDetailsVo.setDeptName(sysOrganizationVo.getName());
SysUserVo sysUserVo = sysUserFeign.fetchBySid(userSid).getData();
loanBePadsincereApplyDetailsVo.setCreateBySid(userSid);
loanBePadsincereApplyDetailsVo.setCreateByName(sysUserVo.getName());
loanBePadsincereApplyDetailsVo.setCreateTime(DateUtil.formatDate(new Date()));
return loanBePadsincereApplyDetailsVo;
}
}

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java

@ -29,6 +29,8 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -62,4 +64,10 @@ public interface LoanBePadsincereVehMapper extends BaseMapper<LoanBePadsincereVe
@Select("select * from loan_be_padsincere_veh")
List<LoanBePadsincereVehVo> selectListVo();
@Delete("delete from loan_be_padsincere_veh where mainSid = #{mainSid}")
void delByMainSid(String mainSid);
@Select("select * from loan_be_padsincere_veh where mainSid = #{sid}")
List<LoanBePadsincereVehDetailsVo> selByMainSid(String sid);
}

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java

@ -107,4 +107,12 @@ public class LoanBePadsincereVehService extends MybatisBaseService<LoanBePadsinc
BeanUtil.copyProperties(entity, vo);
return vo;
}
public void delByMainSid(String mainSid) {
baseMapper.delByMainSid(mainSid);
}
public List<LoanBePadsincereVehDetailsVo> selByMainSid(String sid) {
return baseMapper.selByMainSid(sid);
}
}
Loading…
Cancel
Save