停止代账
This commit is contained in:
parent
64269c4ee4
commit
aab8c19da5
@ -56,7 +56,43 @@ public class PsApproverRecordController extends BaseController {
|
||||
public R<Void> approver(@NotBlank(message = "操作类型不能为空") String operate,
|
||||
@NotNull(message = "数据id不能为空") String id, String desc) {
|
||||
String[] ids = id.split(",");
|
||||
contractInfoService.finish(psApproverRecordService.approver(operate, ids, desc));
|
||||
contractInfoService.finish(psApproverRecordService.approver(operate, ids, desc, 0));
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 财务审批停止代账
|
||||
*
|
||||
* @param operate (2 通过 3拒绝)
|
||||
* @param id 审批表id
|
||||
* @param desc 备注(通过/拒绝原因)
|
||||
* @return
|
||||
*/
|
||||
@SaCheckPermission("cw:apply:btn")
|
||||
@RepeatSubmit()
|
||||
@GetMapping("/cwApproverStopAccount")
|
||||
public R<Void> cwApproverStopAccount(@NotBlank(message = "操作类型不能为空") String operate,
|
||||
@NotNull(message = "数据id不能为空") String id, String desc) {
|
||||
String[] ids = id.split(",");
|
||||
contractInfoService.finish(psApproverRecordService.approver(operate, ids, desc, 1));
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 总裁审批停止代账
|
||||
*
|
||||
* @param operate (2 通过 3拒绝)
|
||||
* @param id 审批表id
|
||||
* @param desc 备注(通过/拒绝原因)
|
||||
* @return
|
||||
*/
|
||||
@SaCheckPermission("zc:apply:btn")
|
||||
@RepeatSubmit()
|
||||
@GetMapping("/zcApproverStopAccount")
|
||||
public R<Void> zcApproverStopAccount(@NotBlank(message = "操作类型不能为空") String operate,
|
||||
@NotNull(message = "数据id不能为空") String id, String desc) {
|
||||
String[] ids = id.split(",");
|
||||
contractInfoService.finish(psApproverRecordService.approver(operate, ids, desc, 2));
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
@ -98,8 +98,8 @@ public class PsCompanyInfoController extends BaseController {
|
||||
@SaCheckPermission("business:companyInfo:list")
|
||||
@Log(title = "停止代账" )
|
||||
@GetMapping("/applyTerminationService")
|
||||
public R<Void> terminationService(PsCompanyQueryBo queryBo, PageQuery pageQuery) {
|
||||
psCompanyInfoService.terminationService(queryBo.getId());
|
||||
public R<Void> terminationService(Long serviceCompanyId) {
|
||||
psCompanyInfoService.terminationService(serviceCompanyId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
@ -236,7 +236,10 @@ public class PsCompanyInfoBo {
|
||||
* 跟进人员
|
||||
*/
|
||||
private List<Long> followUsers;
|
||||
|
||||
/**
|
||||
* 服务状态0终止1正常
|
||||
*/
|
||||
private Integer serviceStatus;
|
||||
|
||||
public BigDecimal getContractAmount(){
|
||||
this.businessAmount = businessList == null ? new BigDecimal(0) : businessList.stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
|
@ -0,0 +1,17 @@
|
||||
package com.pusong.business.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 审批表状态枚举
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ApproverStepEnum {
|
||||
INIT("0","未审批"),
|
||||
CW_APPLY("1","财务审批成功"),
|
||||
ZC_APPLY("2","总裁审批成功");
|
||||
private String code;
|
||||
private String text;
|
||||
}
|
@ -46,9 +46,10 @@ public interface IPsApproverRecordService {
|
||||
*
|
||||
* @param operate (2 通过 3拒绝)
|
||||
* @param id 审批表id
|
||||
* @param from 0通用审批 1财务审批代账 2总裁审批代账
|
||||
* @return
|
||||
*/
|
||||
String approver(String operate, String [] id,String desc);
|
||||
String approver(String operate, String [] id,String desc, int from);
|
||||
|
||||
/**
|
||||
* 根据条件查询最后一条审批失败的原因
|
||||
|
@ -1,26 +1,18 @@
|
||||
package com.pusong.business.service.approver.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.pusong.business.domain.PsApproverRecord;
|
||||
import com.pusong.business.domain.PsContractInfo;
|
||||
import com.pusong.business.domain.bo.*;
|
||||
import com.pusong.business.domain.vo.PsApproverRecordVo;
|
||||
import com.pusong.business.domain.bo.PsCompanyInfoBo;
|
||||
import com.pusong.business.domain.bo.PsContractBusinessBo;
|
||||
import com.pusong.business.domain.bo.PsContractBusinessDetailBo;
|
||||
import com.pusong.business.domain.bo.PsContractInfoBo;
|
||||
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
||||
import com.pusong.business.domain.vo.PsContractBusinessVo;
|
||||
import com.pusong.business.domain.vo.PsContractInfoVo;
|
||||
import com.pusong.business.enums.ApproverStatusEnum;
|
||||
import com.pusong.business.enums.ApproverTypeEnum;
|
||||
import com.pusong.business.enums.CommonStatusEnum;
|
||||
import com.pusong.business.mapper.PsApproverRecordMapper;
|
||||
import com.pusong.business.service.IPsContractBusinessService;
|
||||
import com.pusong.business.service.IPsContractInfoService;
|
||||
import com.pusong.common.core.utils.MapstructUtils;
|
||||
import com.pusong.common.core.utils.StringUtils;
|
||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@ -56,6 +48,7 @@ public class SignApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
PsContractInfoBo bo = new PsContractInfoBo();
|
||||
bo.setSignStatus(CommonStatusEnum.SUCCESS.getCode());
|
||||
bo.setContactPersonName(vo.getContactPersonName());
|
||||
bo.setContractMain(vo.getContractMain());
|
||||
//合同信息
|
||||
PsContractInfo info = new PsContractInfo();
|
||||
BeanUtils.copyProperties(vo, info);
|
||||
|
@ -1,6 +1,8 @@
|
||||
package com.pusong.business.service.approver.impl;
|
||||
|
||||
import com.pusong.business.domain.PsApproverRecord;
|
||||
import com.pusong.business.domain.bo.PsCompanyInfoBo;
|
||||
import com.pusong.business.enums.ApproverStepEnum;
|
||||
import com.pusong.business.enums.ApproverTypeEnum;
|
||||
import com.pusong.business.mapper.PsApproverRecordMapper;
|
||||
import com.pusong.business.mapper.PsTaskAppointMapper;
|
||||
@ -29,11 +31,23 @@ public class StopAccountServiceImpl extends ApproverAbstractServiceImpl {
|
||||
private final IPsCompanyInfoService companyInfoService;
|
||||
@Resource
|
||||
private PsApproverRecordMapper recordMapper;
|
||||
|
||||
private final IPsCompanyInfoService psCompanyInfoService;
|
||||
@Override
|
||||
public void success(PsApproverRecord psApproverRecord) {
|
||||
//修改服务公司状态为终止
|
||||
|
||||
|
||||
if (ApproverStepEnum.INIT.getCode().equals(psApproverRecord.getUpdateData())){
|
||||
//转给总裁
|
||||
psApproverRecord.setUpdateData(ApproverStepEnum.CW_APPLY.getCode());
|
||||
return;
|
||||
}
|
||||
if (ApproverStepEnum.CW_APPLY.getCode().equals(psApproverRecord.getUpdateData())){
|
||||
psApproverRecord.setUpdateData(ApproverStepEnum.ZC_APPLY.getCode());
|
||||
//修改服务公司状态为终止
|
||||
PsCompanyInfoBo bo = new PsCompanyInfoBo();
|
||||
bo.setId(Long.valueOf(psApproverRecord.getBusinessId()));
|
||||
bo.setServiceStatus(0);
|
||||
psCompanyInfoService.update(bo);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -9,6 +9,7 @@ import com.pusong.business.domain.PsApproverRecord;
|
||||
import com.pusong.business.domain.bo.PsApproverRecordBo;
|
||||
import com.pusong.business.domain.vo.PsApproverRecordVo;
|
||||
import com.pusong.business.enums.ApproverStatusEnum;
|
||||
import com.pusong.business.enums.ApproverStepEnum;
|
||||
import com.pusong.business.enums.ApproverTypeEnum;
|
||||
import com.pusong.business.mapper.PsApproverRecordMapper;
|
||||
import com.pusong.business.service.IPsApproverRecordService;
|
||||
@ -90,16 +91,27 @@ public class PsApproverRecordServiceImpl implements IPsApproverRecordService {
|
||||
*
|
||||
* @param operate (2 通过 3拒绝)
|
||||
* @param ids 审批表id
|
||||
* @param from 0通用审批 1财务审批代账 2总裁审批代账
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public String approver(String operate, String[] ids, String desc){
|
||||
public String approver(String operate, String[] ids, String desc, int from){
|
||||
for (String idStr : ids) {
|
||||
Long id = Long.valueOf(idStr);
|
||||
PsApproverRecord info = baseMapper.selectById(id);
|
||||
if(!StringUtils.equals(ApproverStatusEnum.INIT.getCode(),info.getApproverStatus())){
|
||||
if(!StringUtils.equals(ApproverStatusEnum.INIT.getCode(), info.getApproverStatus())){
|
||||
throw new ServiceException("操作失败:该审批状态已变更");
|
||||
}
|
||||
if (from == 1){
|
||||
if (!ApproverStepEnum.INIT.getCode().equals(info.getUpdateData())){
|
||||
throw new ServiceException("操作失败:当前阶段财务不能审批");
|
||||
}
|
||||
}else if(from == 2){
|
||||
if (!ApproverStepEnum.CW_APPLY.getCode().equals(info.getUpdateData())){
|
||||
throw new ServiceException("操作失败:当前阶段总裁不能审批");
|
||||
}
|
||||
}
|
||||
|
||||
ApproverService service = container.getService(info.getBusinessType());
|
||||
if(StringUtils.equals(ApproverStatusEnum.SUCCESS.getCode(),operate)){
|
||||
service.success(info);
|
||||
|
@ -630,11 +630,11 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
map.put("serviceCompany", bo.getServiceCompanyInfoList());
|
||||
map.put("main", JSON.parseObject(main.getRemark()));// 合同主体信息
|
||||
map.put("mainId", bo.getContractMain());
|
||||
if (bo.getContractMain().equals("1")){
|
||||
if ("1".equals(bo.getContractMain())){
|
||||
map.put(MAINPREFIX, "zx-");
|
||||
}else if (bo.getContractMain().equals("2")){
|
||||
}else if ("2".equals(bo.getContractMain())){
|
||||
map.put(MAINPREFIX, "cs-");
|
||||
}else if (bo.getContractMain().equals("3")){
|
||||
}else if ("3".equals(bo.getContractMain())){
|
||||
map.put(MAINPREFIX, "sw-");
|
||||
}
|
||||
|
||||
|
@ -528,7 +528,7 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
|
||||
|
||||
lqw.eq(bo.getId() != null,"main.id",bo.getId());
|
||||
lqw.in(bo.getExtendList() != null,"main.extend", bo.getExtendList());
|
||||
lqw.in(bo.getExtendList() != null && !bo.getExtendList().isEmpty(),"main.extend", bo.getExtendList());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getContractCode()), "main.contract_code", bo.getContractCode());
|
||||
|
||||
lqw.like(StringUtils.isNotBlank(bo.getCompanyName()), "com.company_name", bo.getCompanyName());//公司名称
|
||||
@ -702,19 +702,21 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
PageQuery pageQuery = new PageQuery();
|
||||
pageQuery.setPageSize(100);
|
||||
Page<PsApproverRecordVo> res = recordMapper.selectPageFreeApproverList(pageQuery.build(), lqw);
|
||||
List<String> approverIds = res.getRecords().stream().map(PsApproverRecordVo::idStr).toList();
|
||||
|
||||
if (!res.getRecords().isEmpty()){
|
||||
List<String> approverIds = res.getRecords().stream().map(PsApproverRecordVo::idStr).toList();
|
||||
PsTaskQueryBo psTaskQueryBo = new PsTaskQueryBo();
|
||||
psTaskQueryBo.setExtendList(approverIds);
|
||||
|
||||
PsTaskQueryBo psTaskQueryBo = new PsTaskQueryBo();
|
||||
psTaskQueryBo.setExtendList(approverIds);
|
||||
pageQuery.setPageSize(approverIds.size());
|
||||
TableDataInfo<PsTaskMainVo> psTaskMainVoTableDataInfo = queryPageList(psTaskQueryBo, pageQuery);
|
||||
Map<String, PsTaskMainVo> approverIdMap = psTaskMainVoTableDataInfo.getRows().stream().collect(Collectors.toMap(PsTaskMainVo::getExtend, a -> a));
|
||||
|
||||
pageQuery.setPageSize(approverIds.size());
|
||||
TableDataInfo<PsTaskMainVo> psTaskMainVoTableDataInfo = queryPageList(psTaskQueryBo, pageQuery);
|
||||
Map<String, PsTaskMainVo> approverIdMap = psTaskMainVoTableDataInfo.getRows().stream().collect(Collectors.toMap(PsTaskMainVo::getExtend, a -> a));
|
||||
|
||||
for (PsApproverRecordVo record : res.getRecords()) {
|
||||
record.setPsTaskMainVo(approverIdMap.get(record.idStr()));
|
||||
for (PsApproverRecordVo record : res.getRecords()) {
|
||||
record.setPsTaskMainVo(approverIdMap.get(record.idStr()));
|
||||
}
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
@ -27,6 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<sql id="queryTask">
|
||||
select main.*,
|
||||
main.id main_id,
|
||||
main.id mainid,
|
||||
con.is_proxy con_is_proxy,
|
||||
con.apply_date con_apply_date,
|
||||
con.is_due con_is_due,
|
||||
|
Loading…
Reference in New Issue
Block a user