Browse Source

款项确认完善。

盖章申请管理提交流程接口开发
master
God 3 years ago
parent
commit
29dd5444a7
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commonappendix/CommonAppendixFeign.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commonappendix/CommonAppendixFeignFallback.java
  3. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commonappendix/CommonAppendixMapper.java
  4. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commonappendix/CommonAppendixRest.java
  5. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commonappendix/CommonAppendixService.java
  6. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussealapply/BusSealApplyDto.java
  7. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussealapply/BusSealApplyFeign.java
  8. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussealapply/BusSealApplyFeignFallback.java
  9. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussealapply/BusSealApplyRest.java
  10. 88
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussealapply/BusSealApplyService.java
  11. 42
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationAppendixVo.java
  12. 10
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDetailsVo.java
  13. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDto.java
  14. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationFeign.java
  15. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedDto.java
  16. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedVo.java
  17. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/DetailsOfReceivablesAndUncollectedItemsVo.java
  18. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedQuery.java
  19. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java
  20. 83
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  21. 38
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java
  22. 6
      anrui-fin/anrui-fin-biz/src/main/resources/application-dev.yml
  23. 1
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  24. 3
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationVo.java

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commonappendix/CommonAppendixFeign.java

@ -136,4 +136,8 @@ public interface CommonAppendixFeign {
@PostMapping("/saveCommonAppendixList")
ResultBean saveCommonAppendixList(@RequestParam(value = "linkSid") String linkSid, @RequestParam(value = "attachType") String attachType,
@RequestBody List<PcCommonAppendixDto> list);
@ApiOperation("根据文件相对路径查询文件名称")
@PostMapping("/fetchByFilePath")
ResultBean<CommonAppendixVo> fetchByFilePath(@RequestParam(value = "s") String s);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commonappendix/CommonAppendixFeignFallback.java

@ -157,4 +157,9 @@ public class CommonAppendixFeignFallback implements CommonAppendixFeign {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/commonappendix/saveCommonAppendixList无法访问");
}
@Override
public ResultBean<CommonAppendixVo> fetchByFilePath(String s) {
return null;
}
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commonappendix/CommonAppendixMapper.java

@ -60,4 +60,7 @@ public interface CommonAppendixMapper extends BaseMapper<CommonAppendix> {
List<CommonAppendixVo> selectPathByLinkSId(String linkSid);
List<CommonAppendixVo> selectGroupByLinkSidAndAttachType(@Param("linkSid") String linkSid, @Param("attachType") String attachType);
@Select("SELECT * FROM common_appendix WHERE filePath =#{s}")
CommonAppendixVo fetchByFilePath(String s);
}

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commonappendix/CommonAppendixRest.java

@ -233,4 +233,9 @@ public class CommonAppendixRest implements CommonAppendixFeign {
commonAppendixService.saveCommonAppendixList(linkSid, attachType, list);
return rb.success();
}
@Override
public ResultBean<CommonAppendixVo> fetchByFilePath(String s) {
return commonAppendixService.fetchByFilePath(s);
}
}

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commonappendix/CommonAppendixService.java

@ -10,6 +10,7 @@ import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -471,4 +472,10 @@ public class CommonAppendixService extends MybatisBaseService<CommonAppendixMapp
save(commonAppendix);
}
}
public ResultBean<CommonAppendixVo> fetchByFilePath(String s) {
ResultBean rb = ResultBean.fireFail();
CommonAppendixVo commonAppendixVo = baseMapper.fetchByFilePath(s);
return rb.success().setData(commonAppendixVo);
}
}

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussealapply/BusSealApplyDto.java

@ -53,6 +53,10 @@ public class BusSealApplyDto implements Dto {
private String sid; // sid
@ApiModelProperty("userSid")
private String userSid; // userSid
@ApiModelProperty("业务员sid")
private String staffSid; // 业务员sid
@ApiModelProperty("申请人姓名")
private String applyName; // 申请人姓名
@ApiModelProperty("盖章日期")

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussealapply/BusSealApplyFeign.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.bussealapply;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.BusAdvanceGinvoiceapplyDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
@ -33,6 +34,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
@ -75,4 +77,8 @@ public interface BusSealApplyFeign {
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<BusSealApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("提交盖章申请审批流程")
@PostMapping("/submitSealApply")
public ResultBean submitSealApply(@RequestBody @Valid BusSealApplyDto dto);
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussealapply/BusSealApplyFeignFallback.java

@ -69,4 +69,9 @@ public class BusSealApplyFeignFallback implements BusSealApplyFeign {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口bus_seal_apply/bussealapply/fetchDetailsBySid无法访问");
}
@Override
public ResultBean submitSealApply(BusSealApplyDto dto) {
return null;
}
}

9
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussealapply/BusSealApplyRest.java

@ -75,9 +75,7 @@ public class BusSealApplyRest implements BusSealApplyFeign {
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody BusSealApplyDto dto){
ResultBean rb = ResultBean.fireFail();
busSealApplyService.saveOrUpdateDto(dto);
return rb.success();
return busSealApplyService.saveOrUpdateDto(dto);
}
@Override
@ -97,4 +95,9 @@ public class BusSealApplyRest implements BusSealApplyFeign {
BusSealApplyDetailsVo vo = busSealApplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean submitSealApply(BusSealApplyDto dto) {
return busSealApplyService.submitSealApply(dto);
}
}

88
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussealapply/BusSealApplyService.java

@ -28,8 +28,17 @@ package com.yxt.anrui.buscenter.biz.bussealapply;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.R;
import com.yxt.anrui.base.api.commonappendix.*;
import com.yxt.anrui.buscenter.api.bussealapply.*;
import com.yxt.anrui.buscenter.biz.flow.FlowableService;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkDto;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkTypeEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.common.base.config.component.FileUploadComponent;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
@ -41,7 +50,9 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Project: bus_seal_apply(盖章申请管理) <br/>
@ -63,6 +74,12 @@ public class BusSealApplyService extends MybatisBaseService<BusSealApplyMapper,
private CommonAppendixFeign commonAppendixFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private FlowableService flowableService;
@Autowired
private SysFormLinkFeign sysFormLinkFeign;
private QueryWrapper<BusSealApply> createQueryWrapper(BusSealApplyQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -89,7 +106,8 @@ public class BusSealApplyService extends MybatisBaseService<BusSealApplyMapper,
return p;
}
public void saveOrUpdateDto(BusSealApplyDto dto){
public ResultBean saveOrUpdateDto(BusSealApplyDto dto){
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
String sealFilePath = "";
String sealFileUrl = "";
@ -114,10 +132,11 @@ public class BusSealApplyService extends MybatisBaseService<BusSealApplyMapper,
}
busSealApply.setSealFileUrl(sealFileUrl.substring(0, sealFileUrl.lastIndexOf(",")));
save(busSealApply);
return rb.success().setMsg("操作成功").setData(busSealApply.getSid());
}
BusSealApply busSealApply = fetchBySid(dtoSid);
if (busSealApply == null){
return;
return rb.setMsg("该数据不存在");
}
commonAppendixFeign.deleteFiles(dtoSid);
for (BusSealApplyAppendix busSealApplyAppendix : busSealApplyAppendices) {
@ -134,6 +153,7 @@ public class BusSealApplyService extends MybatisBaseService<BusSealApplyMapper,
}
dto.setSealFileUrl(sealFileUrl.substring(0, sealFileUrl.lastIndexOf(",")));
updateBySid(dto,dtoSid);
return rb.success().setMsg("操作成功").setData(dtoSid);
}
public void insertByDto(BusSealApplyDto dto){
@ -184,4 +204,68 @@ public class BusSealApplyService extends MybatisBaseService<BusSealApplyMapper,
commonAppendixFeign.deleteFiles(sid);
}
}
public ResultBean submitSealApply(BusSealApplyDto dto) {
String orgSid = checkUserOrg(dto.getStaffSid());
String businessSid = "";
if (StringUtils.isBlank(orgSid)) {
return new ResultBean().fail().setMsg("用户组织机构不能为空");
}
ResultBean<String> stringResultBean = saveOrUpdateDto(dto);
String data = stringResultBean.getData();
businessSid = data;
// ???待完善(根据虚拟订单审批流程)
Map<String, Object> variables = new HashMap<>();
variables.put("businessSid", businessSid);
variables.put("isLoan", true);
variables.put("orgSid", orgSid);//部门sid
ResultBean resultBean = flowableService.businessStart(ProcDefEnum.SEALAPPLY.getProDefId(), dto.getUserSid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
saveSysFormLink(map);
}
return resultBean;
}
/**
* 检查用户是否设置部门
*
* @param staffSid
* @return 返回部门sid
*/
private String checkUserOrg(String staffSid) {
String orgSid = "";
ResultBean<String> resultBean = sysStaffOrgFeign.getSysStaffOrgSidListByStaffSid(staffSid);
if (resultBean.getSuccess()) {
orgSid = resultBean.getData();
}
return orgSid;
}
/**
* 保存流程业务关联表 数据
*
* @param map
*/
private void saveSysFormLink(Map<String, String> map) {
String sid = map.get("sid");
ResultBean resultBean = sysFormLinkFeign.selectByBusinessSid(sid);
if (!resultBean.getSuccess()) { // 新增
SysFormLinkDto sysFormLinkDto = new SysFormLinkDto();
sysFormLinkDto.setBusinessSid(map.get("sid"));
sysFormLinkDto.setProcInsId(map.get("procInsId"));
sysFormLinkDto.setTaskDefKey(map.get("taskDefKey"));
sysFormLinkDto.setNodeState(map.get("nodeState"));
sysFormLinkDto.setFormType(SysFormLinkTypeEnum.ORDER_DEPOSIT_VEHICLE.getCode());
sysFormLinkDto.setFlowState(Integer.parseInt(SysFormLinkFlowStateEnum.PROCESSING.getCode()));
sysFormLinkFeign.save(sysFormLinkDto);
} else { // 更新
Map<String, Object> updateMap = new HashMap<>();
updateMap.put("businessSid", sid);
updateMap.put("nodeState", map.get("nodeState"));
updateMap.put("taskDefKey", map.get("taskDefKey"));
updateMap.put("flowState", SysFormLinkFlowStateEnum.PROCESSING.getCode());
sysFormLinkFeign.updateFiled(updateMap);
}
}
}

42
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationAppendixVo.java

@ -0,0 +1,42 @@
package com.yxt.anrui.fin.api.fincollectionconfirmation;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
* File: CommonAppendixDto.java <br/>
* Class: com.yxt.anrui.base.api.commonappendix.CommonAppendixDto <br/>
* Description: 公共附件表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-28 08:59:25 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "公共附件表 数据传输对象", description = "公共附件表 数据传输对象")
@Data
public class FinCollectionConfirmationAppendixVo implements Dto {
@ApiModelProperty("上传人sid")
private String createBySid;
@ApiModelProperty("上传人姓名")
private String name;
@ApiModelProperty("文件名")
private String fileName;
@ApiModelProperty("文件类型")
private String fileType;
@ApiModelProperty("关联业务对象sid")
private String linkSid;
@ApiModelProperty("附件类型")
private String attachType;
@ApiModelProperty("文件大小")
private String fileSize;
@ApiModelProperty("文件的路径")
private String filePath;
}

10
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDetailsVo.java

@ -70,12 +70,22 @@ public class FinCollectionConfirmationDetailsVo implements Vo {
private String collectionMoney; // 收款金额
@ApiModelProperty("打款凭证Url")
private String paymentVoucherUrl; // 打款凭证Url
/*@ApiModelProperty("打款凭证附件名称")
private String paymentVoucherFileName;*/ // 打款凭证附件名称
@ApiModelProperty("汇款确认书Url")
private String remittanceConfirmationUrl; // 汇款确认书Url
/*@ApiModelProperty("汇款确认书附件名称")
private String remittanceConfirmationFileName;*/ // 汇款确认书附件名称
@ApiModelProperty("余额")
private String balance; // 余额
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("已选应收款项明细")
private List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos; // 已选应收款项明细
@ApiModelProperty("打款凭证附件")
private List<FinCollectionConfirmationAppendixVo> paymentVoucherAppendixs; // 打款凭证附件
@ApiModelProperty("汇款确认书附件")
private List<FinCollectionConfirmationAppendixVo> remittanceConfirmationAppendixs; // 汇款确认书附件
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDto.java

@ -84,6 +84,8 @@ public class FinCollectionConfirmationDto implements Dto {
private String balance; // 余额
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("已选应收款项明细")
private List<FinSelectedReceivablesDetailedDto> finSelectedReceivablesDetailedDtos; // 已选应收款项明细
@ApiModelProperty("打款凭证附件")

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationFeign.java

@ -75,7 +75,7 @@ public interface FinCollectionConfirmationFeign {
public ResultBean cashierConfirm(@RequestParam("sid") String sid);
@ApiOperation("出纳驳回")
@PutMapping("/cashierReject")
@PostMapping("/cashierReject")
public ResultBean cashierReject(@RequestParam("sid") String sid);
/*---------------------App接口 ---------------------*/

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedDto.java

@ -26,6 +26,7 @@
package com.yxt.anrui.fin.api.finselectedreceivablesdetailed;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -59,6 +60,7 @@ public class FinSelectedReceivablesDetailedDto implements Dto {
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("车架号")
@JsonProperty("VIN")
private String VIN; // 车架号
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedVo.java

@ -26,6 +26,7 @@
package com.yxt.anrui.fin.api.finselectedreceivablesdetailed;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -67,6 +68,7 @@ public class FinSelectedReceivablesDetailedVo implements Vo {
private String customerName; // 客户名称
@ApiModelProperty("车架号")
@JsonProperty("VIN")
private String VIN; // 车架号
@ApiModelProperty("分公司sid")

6
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/DetailsOfReceivablesAndUncollectedItemsVo.java

@ -26,6 +26,7 @@
package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
@ -53,11 +54,16 @@ public class DetailsOfReceivablesAndUncollectedItemsVo implements Vo {
@ApiModelProperty("应收未收款项sid")
private String sid; // 应收未收款项sid
@ApiModelProperty("合同sid")
private String contractSid; // 合同sid
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("车架号")
@JsonProperty("VIN")
private String VIN; // 车架号
@ApiModelProperty("联系电话")
private String customerPhone; // 联系电话

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedQuery.java

@ -68,4 +68,6 @@ public class FinUncollectedReceivablesDetailedQuery implements Query {
private String useOrgSid; // 分公司sid
@ApiModelProperty("业务员sid")
private String createBySid; // 业务员sid
@ApiModelProperty("应收款项sid")
private String[] sids; // 应收款项sid
}

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java

@ -63,6 +63,7 @@ public class FinCollectionConfirmationRest implements FinCollectionConfirmationF
public ResultBean<PagerVo<FinCollectionConfirmationVo>> listPage(@RequestBody PagerQuery<FinCollectionConfirmationQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<FinCollectionConfirmationVo> pv = finCollectionConfirmationService.listPageVo(pq);
return rb.success().setData(pv);
}

83
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -30,6 +30,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum;
import com.yxt.anrui.fin.api.fincollectionconfirmation.*;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.AppFinSelectedReceivablesDetailedDto;
@ -41,6 +42,7 @@ import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedRec
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService;
import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedService;
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.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
@ -56,6 +58,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@ -115,13 +118,32 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
public PagerVo<FinCollectionConfirmationVo> listPageVo(PagerQuery<FinCollectionConfirmationQuery> pq) {
FinCollectionConfirmationQuery query = pq.getParams();
String staffSid = query.getCreateBySid();
ResultBean<List<SysStaffOrgVo>> sysStaffOrgListByStaffSid = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid);
List<SysStaffOrgVo> data = sysStaffOrgListByStaffSid.getData();
String orgSidPath = "";
for (SysStaffOrgVo datum : data) {
orgSidPath = datum.getOrgSidPath();
String[] split = orgSidPath.split("/");
for (String s : split) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(s);
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData();
Integer isDept = data1.getIsDept();
String psid = data1.getPsid();
if (isDept == 0 && !psid.equals(0)){
orgSidPath = s;
break;
}
}
}
query.setUseOrgSid(orgSidPath);
QueryWrapper<FinCollectionConfirmation> qw = createQueryWrapper(query);
IPage<FinCollectionConfirmation> page = PagerUtil.queryToPage(pq);
IPage<FinCollectionConfirmationVo> pagging = baseMapper.selectPageVo(page, qw);
List<FinCollectionConfirmationVo> records = pagging.getRecords();
for (FinCollectionConfirmationVo record : records) {
String s = "";
BigDecimal subscriptionMoney = null;
BigDecimal subscriptionMoney = new BigDecimal(0);
String sid = record.getSid();
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid);
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) {
@ -167,41 +189,53 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
String orgSidPath = "";
for (SysStaffOrgVo datum : data) {
orgSidPath = datum.getOrgSidPath();
orgSidPath = orgSidPath.substring(0, orgSidPath.indexOf("/"));
String[] split = orgSidPath.split("/");
for (String s : split) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(s);
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData();
Integer isDept = data1.getIsDept();
String psid = data1.getPsid();
if (isDept == 0 && !psid.equals(0)){
orgSidPath = s;
break;
}
}
}
finCollectionConfirmation.setCreateBySid(staffSid);
finCollectionConfirmation.setUseOrgSid(orgSidPath);
for (FinCollectionConfirmationAppendixDto paymentVoucherAppendix : paymentVoucherAppendixs) {
BeanUtil.copyProperties(paymentVoucherAppendix, commonAppendixDto);
payFilePath = commonAppendixDto.getFilePath();
if (payFilePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
payFilePath = payFilePath.replace(fileUploadComponent.getUrlPrefix(), "");
String s = commonAppendixDto.getFilePath();
if (s.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
s = s.replace(fileUploadComponent.getUrlPrefix(), "");
commonAppendixDto.setLinkSid(sid1);
commonAppendixDto.setFilePath(payFilePath);
commonAppendixDto.setFilePath(s);
commonAppendixDto.setCreateBySid(dto.getStaffSid());
commonAppendixDto.setAttachType(CommonAttachTypeEnum.PAYMENT_VOUCHER.getAttachType());
commonAppendixFeign.save(commonAppendixDto);
}
payFilePath += payFilePath + ",";
payFilePath += s + ",";
}
finCollectionConfirmation.setPaymentVoucherUrl(payFilePath.substring(0, payFilePath.length() - 1));
for (FinCollectionConfirmationAppendixDto remittanceConfirmationAppendix : remittanceConfirmationAppendixs) {
BeanUtil.copyProperties(remittanceConfirmationAppendix, commonAppendixDto);
remFilePath = commonAppendixDto.getFilePath();
if (remFilePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
remFilePath = remFilePath.replace(fileUploadComponent.getUrlPrefix(), "");
String s = commonAppendixDto.getFilePath();
if (s.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
s = s.replace(fileUploadComponent.getUrlPrefix(), "");
commonAppendixDto.setLinkSid(sid1);
commonAppendixDto.setFilePath(remFilePath);
commonAppendixDto.setFilePath(s);
commonAppendixDto.setCreateBySid(dto.getStaffSid());
commonAppendixDto.setAttachType(CommonAttachTypeEnum.PAYMENT_VOUCHER.getAttachType());
commonAppendixFeign.save(commonAppendixDto);
}
remFilePath += remFilePath + ",";
remFilePath += s + ",";
}
finCollectionConfirmation.setRemittanceConfirmationUrl(remFilePath.substring(0, remFilePath.length() - 1));
for (FinSelectedReceivablesDetailedDto finSelectedReceivablesDetailedDto : finSelectedReceivablesDetailedDtos) {
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed();
BeanUtil.copyProperties(finSelectedReceivablesDetailedDto, finSelectedReceivablesDetailed);
finSelectedReceivablesDetailed.setCollSid(sid1);
finSelectedReceivablesDetailed.setAuditState(1);
finSelectedReceivablesDetailedService.save(finSelectedReceivablesDetailed);
//已选应收款项-车架号
String vin = finSelectedReceivablesDetailed.getVIN();
@ -222,7 +256,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
finUncollectedReceivablesDetailedService.updateBySid(finUncollectedReceivablesDetailedDto, finUncollectedReceivablesDetailedDto.getSid());
}
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid1);
BigDecimal totalSubscriptionMone = null;
BigDecimal totalSubscriptionMone = new BigDecimal(0);
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) {
BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney());
totalSubscriptionMone = totalSubscriptionMone.add(subscriptionMoney);
@ -242,6 +276,27 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
ResultBean rb = ResultBean.fireFail();
FinCollectionConfirmationDetailsVo finCollectionConfirmationDetailsVo = new FinCollectionConfirmationDetailsVo();
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid);
FinCollectionConfirmationAppendixVo finCollectionConfirmationAppendixVo = new FinCollectionConfirmationAppendixVo();
ArrayList<FinCollectionConfirmationAppendixVo> paymentVoucherAppendixs = new ArrayList<>();
ArrayList<FinCollectionConfirmationAppendixVo> remittanceConfirmationAppendixs = new ArrayList<>();
String paymentVoucherUrl = finCollectionConfirmation.getPaymentVoucherUrl();
String remittanceConfirmationUrl = finCollectionConfirmation.getRemittanceConfirmationUrl();
String[] split1 = remittanceConfirmationUrl.split(",");
String[] split = paymentVoucherUrl.split(",");
for (String s : split) {
ResultBean<CommonAppendixVo> commonAppendixVoResultBean = commonAppendixFeign.fetchByFilePath(s);
CommonAppendixVo data = commonAppendixVoResultBean.getData();
BeanUtil.copyProperties(data,finCollectionConfirmationAppendixVo);
paymentVoucherAppendixs.add(finCollectionConfirmationAppendixVo);
}
for (String s : split1) {
ResultBean<CommonAppendixVo> commonAppendixVoResultBean = commonAppendixFeign.fetchByFilePath(s);
CommonAppendixVo data = commonAppendixVoResultBean.getData();
BeanUtil.copyProperties(data,finCollectionConfirmationAppendixVo);
remittanceConfirmationAppendixs.add(finCollectionConfirmationAppendixVo);
}
finCollectionConfirmationDetailsVo.setPaymentVoucherAppendixs(paymentVoucherAppendixs);
finCollectionConfirmationDetailsVo.setRemittanceConfirmationAppendixs(remittanceConfirmationAppendixs);
BeanUtil.copyProperties(finCollectionConfirmation, finCollectionConfirmationDetailsVo);
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid);
finCollectionConfirmationDetailsVo.setFinSelectedReceivablesDetailedVos(finSelectedReceivablesDetailedVos);
@ -338,7 +393,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
finCollectionConfirmation.setPaymentVoucherUrl(payFilePath);
}
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid);
BigDecimal totalSubscriptionMone = null;
BigDecimal totalSubscriptionMone = new BigDecimal(0);
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) {
BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney());
totalSubscriptionMone = totalSubscriptionMone.add(subscriptionMoney);

38
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java

@ -36,6 +36,10 @@ import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmation
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.*;
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService;
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.sysstafforg.SysStaffOrgVo;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -70,14 +74,27 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
private CommonContractFeign commonContractFeign;
@Autowired
private FinSelectedReceivablesDetailedService finSelectedReceivablesDetailedService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
private QueryWrapper<FinUncollectedReceivablesDetailed> createQueryWrapper(FinUncollectedReceivablesDetailedQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<FinUncollectedReceivablesDetailed> qw = new QueryWrapper<>();
qw.ne("currentReceivableMoney", 0);
BigDecimal bigDecimal = new BigDecimal("0");
qw.ne("currentReceivableMoney", bigDecimal);
qw.eq("useOrgSid", query.getUseOrgSid());
qw.eq("createBySid", query.getCreateBySid());
String[] sids = query.getSids();
if (sids.length != 0){
for (String sid : sids) {
if (StringUtils.isNotBlank(sid)) {
qw.ne("sid", sid);
}
}
}
if (StringUtils.isNotBlank(query.getContractNo())) {
qw.eq("contractNo", query.getContractNo());
}
@ -102,6 +119,25 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
}
public List<DetailsOfReceivablesAndUncollectedItemsVo> listAllVo(FinUncollectedReceivablesDetailedQuery query) {
String staffSid = query.getCreateBySid();
ResultBean<List<SysStaffOrgVo>> sysStaffOrgListByStaffSid = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid);
List<SysStaffOrgVo> data = sysStaffOrgListByStaffSid.getData();
String orgSidPath = "";
for (SysStaffOrgVo datum : data) {
orgSidPath = datum.getOrgSidPath();
String[] split = orgSidPath.split("/");
for (String s : split) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(s);
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData();
Integer isDept = data1.getIsDept();
String psid = data1.getPsid();
if (isDept == 0 && !psid.equals(0)){
orgSidPath = s;
break;
}
}
}
query.setUseOrgSid(orgSidPath);
QueryWrapper<FinUncollectedReceivablesDetailed> qw = createQueryWrapper(query);
return baseMapper.selectListAllVo(qw);
}

6
anrui-fin/anrui-fin-biz/src/main/resources/application-dev.yml

@ -1,9 +1,9 @@
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://120.46.131.15:3306/anrui_fin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
url: jdbc:mysql://127.0.0.1:3306/anrui_fin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: anrui_@root
password: root
nacos:
discovery:
server-addr: 127.0.0.1:8848
@ -23,4 +23,4 @@ image:
upload:
path: static/upload/
url:
prefix: http://127.0.0.1:8080/upload/
prefix: http://192.168.1.116:8111/upload/

1
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -16,6 +16,7 @@ public enum ProcDefEnum {
VEHICLEAPPLY("排产申请流程", "process_9egcg169:1:242660"),
RECORDAPPLICATION("入账申请", "record_application_7y80d4r8:1:265008"),
SCMVEHICLERETURN("采购退库", "process_md8aeoap:4:245028"),
SEALAPPLY("盖章申请", "process_7h0z66tp:2:235008"),
BASEVEHICLEACTUALSALES("未售买断", ""),//ToDo
;

3
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationVo.java

@ -69,4 +69,7 @@ public class SysOrganizationVo implements Vo {
private String zgSids;
@ApiModelProperty("分管人员sids")
private String fgSids;
@ApiModelProperty("是否是部门(0否,1是)")
private Integer isDept;
}

Loading…
Cancel
Save