生成合同

This commit is contained in:
1073413548 2024-08-13 09:44:26 +08:00
parent 9265cb946d
commit 83b4a31249
25 changed files with 329 additions and 169 deletions

View File

@ -46,60 +46,75 @@ public class PsApproverRecordController extends BaseController {
}
/**
* 导出审批记录列表
* 审批
*
* @param operate 2 通过 3拒绝
* @param id 审批表id
* @param desc 备注通过/拒绝原因
* @return
*/
@SaCheckPermission("business:approverRecord:export")
@Log(title = "审批记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PsApproverRecordBo bo, HttpServletResponse response) {
List<PsApproverRecordVo> list = psApproverRecordService.queryList(bo);
ExcelUtil.exportExcel(list, "审批记录", PsApproverRecordVo.class, response);
@SaCheckPermission("business:approverRecord:list")
@GetMapping("/approver")
public R<Void> approver(@NotBlank(message = "操作类型不能为空") String operate,
@NotNull(message = "数据id不能为空") Long id, String desc) {
psApproverRecordService.approver(operate, id,desc);
return R.ok();
}
// /**
// * 导出审批记录列表
// */
// @SaCheckPermission("business:approverRecord:export")
// @Log(title = "审批记录", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(PsApproverRecordBo bo, HttpServletResponse response) {
// List<PsApproverRecordVo> list = psApproverRecordService.queryList(bo);
// ExcelUtil.exportExcel(list, "审批记录", PsApproverRecordVo.class, response);
// }
/**
* 获取审批记录详细信息
*
* @param id 主键
*/
@SaCheckPermission("business:approverRecord:query")
@GetMapping("/{id}")
public R<PsApproverRecordVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@GetMapping("/getById")
public R<PsApproverRecordVo> getInfo(@NotNull(message = "主键不能为空") Long id) {
return R.ok(psApproverRecordService.queryById(id));
}
/**
/* *//**
* 新增审批记录
*/
*//*
@SaCheckPermission("business:approverRecord:add")
@Log(title = "审批记录", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody PsApproverRecordBo bo) {
return toAjax(psApproverRecordService.insertByBo(bo));
}
}*/
/**
* 修改审批记录
*/
@SaCheckPermission("business:approverRecord:edit")
@Log(title = "审批记录", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PsApproverRecordBo bo) {
return toAjax(psApproverRecordService.updateByBo(bo));
}
// /**
// * 修改审批记录
// */
// @SaCheckPermission("business:approverRecord:edit")
// @Log(title = "审批记录", businessType = BusinessType.UPDATE)
// @RepeatSubmit()
// @PutMapping()
// public R<Void> edit(@Validated(EditGroup.class) @RequestBody PsApproverRecordBo bo) {
// return toAjax(psApproverRecordService.updateByBo(bo));
// }
/**
* 删除审批记录
*
* @param ids 主键串
*/
@SaCheckPermission("business:approverRecord:remove")
@Log(title = "审批记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(psApproverRecordService.deleteWithValidByIds(List.of(ids), true));
}
// /**
// * 删除审批记录
// *
// * @param ids 主键串
// */
// @SaCheckPermission("business:approverRecord:remove")
// @Log(title = "审批记录", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public R<Void> remove(@NotEmpty(message = "主键不能为空")
// @PathVariable Long[] ids) {
// return toAjax(psApproverRecordService.deleteWithValidByIds(List.of(ids), true));
// }
}

View File

@ -148,6 +148,23 @@ public class PsContractInfoController extends BaseController {
public R<List<PsContractBusinessVo>> queryServiceByCode(@NotBlank String contractCode) {
return R.ok(businessService.selectBusinessList(contractCode));
}
/**
* 开发票开发票操作
*/
@SaCheckPermission("business:contractInfo:list")
@Log(title = "合同开发票", businessType = BusinessType.INSERT)
@RepeatSubmit()
@GetMapping("/invoice")
public R<Void> invoice(@NotBlank String contractCode) {
psContractInfoService.invoice(contractCode);
return R.ok();
}
//
// /**
// * 获取合同基本信息详细信息

View File

@ -68,9 +68,9 @@ public class PsApproverRecord extends TenantEntity {
*/
private String approverDesc;
/**
* 修改数据
* 修改数据
*/
private String beforeData;
private String updateData;
/**
* 2逻辑删除 0 默认有效
*/

View File

@ -79,6 +79,10 @@ public class PsCustomInfo extends TenantEntity {
* 颜色
*/
private String color;
/**
* 历史的所属客户经理
*/
private String historyCustomManager;
/**
* 2逻辑删除 0 默认有效
*/

View File

@ -32,7 +32,10 @@ public class PsTaskMain extends TenantEntity {
* 公司id
*/
private Long companyId;
/**
* 客户编码
*/
private Long customId;
/**
* 合同编码
*/

View File

@ -28,14 +28,14 @@ public class PsTaskMedia extends TenantEntity {
private Long id;
/**
* 主任务表id
* 客户id
*/
private Long taskId;
private Long customId;
/**
* 合同编号
* 公司id
*/
private String contractCode;
private Long companyId;
/**
* 资料类型

View File

@ -74,9 +74,9 @@ public class PsApproverRecordBo {
private String approverDesc;
/**
* 修改数据
* 修改数据
*/
@NotBlank(message = "修改前数据")
private String beforeData;
private String updateData;
}

View File

@ -26,14 +26,14 @@ public class PsTaskMediaBo {
private Long id;
/**
* 主任务表id
* 客户id
*/
private Long taskId;
private Long customId;
/**
* 合同编号
* 公司id
*/
private String contractCode;
private Long companyId;
/**
* 资料类型

View File

@ -84,7 +84,7 @@ public class PsApproverRecordVo implements Serializable {
private String approverDesc;
/**
* 修改数据
* 修改数据
*/
private String beforeData;
private String updateData;
}

View File

@ -138,7 +138,15 @@ public class PsCustomInfoVo implements Serializable {
* 公司数量
*/
private Integer companyNum;
/**
* 历史的所属客户经理
*/
private String historyCustomManager;
/**
* 历史的所属客户经理
*/
@Translation(type = TransConstant.USER_ID_TO_NICKNAME,mapper = "historyCustomManager")
private String historyCustomManagerName;
/**
* 是否已生成合同1是0否
*/

View File

@ -33,18 +33,17 @@ public class PsTaskMediaVo implements Serializable {
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 客户id
*/
@ExcelProperty(value = "客户id")
private Long customId;
/**
* 主任务表id
* 公司id
*/
@ExcelProperty(value = "主任务表id")
private Long taskId;
/**
* 合同编号
*/
@ExcelProperty(value = "合同编号")
private String contractCode;
@ExcelProperty(value = "公司id")
private Long companyId;
/**
* 资料类型

View File

@ -13,6 +13,7 @@ public enum ContractStatusEnum {
INIT("10","暂存"),
CREATE("20","生成成功(待回款)"),
RETURN("30","已回款(待派单处理)"),
UPDATEAPPROVER("33","修改审批中"),
EXECUTION("40","已派单(处理中)"),
SUCCESS("50","已完成(任务已全部完成+回款全部完成+合同已回传)"),
CANCELLATION("60","已作废"),

View File

@ -42,27 +42,36 @@ public interface IPsApproverRecordService {
List<PsApproverRecordVo> queryList(PsApproverRecordBo bo);
/**
* 新增审批记录
* 审批
*
* @param bo 审批记录
* @return 是否新增成功
* @param operate 2 通过 3拒绝
* @param id 审批表id
* @return
*/
Boolean insertByBo(PsApproverRecordBo bo);
/**
* 修改审批记录
*
* @param bo 审批记录
* @return 是否修改成功
*/
Boolean updateByBo(PsApproverRecordBo bo);
/**
* 校验并批量删除审批记录信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
void approver(String operate, Long id,String desc);
//
// /**
// * 新增审批记录
// *
// * @param bo 审批记录
// * @return 是否新增成功
// */
// Boolean insertByBo(PsApproverRecordBo bo);
//
// /**
// * 修改审批记录
// *
// * @param bo 审批记录
// * @return 是否修改成功
// */
// Boolean updateByBo(PsApproverRecordBo bo);
//
// /**
// * 校验并批量删除审批记录信息
// *
// * @param ids 待删除的主键集合
// * @param isValid 是否进行有效性校验
// * @return 是否删除成功
// */
// Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -86,6 +86,20 @@ public interface IPsContractInfoService {
* @return
*/
PsContractInfo updateByCode(PsContractInfo info);
/**
* 生成合同pdf
* @param add
* @param bo
*/
Long makePdf(PsContractInfo add ,PsContractInfoBo bo);
/**
* 开发票开发票操作
* @param contractCode
* @return
*/
void invoice(String contractCode);
/**
* 查询符合条件的合同基本信息列表
*

View File

@ -19,10 +19,11 @@ public interface IPsTaskMediaService {
/**
* 查询任务资料
*
* @param id 主键
* @param customerId 客户id
* @param companyId 公司id
* @return 任务资料
*/
List<PsTaskMediaVo> queryByTaskId(Long id);
List<PsTaskMediaVo> queryByTaskId(Long customerId,Long companyId);
/**
* 保存影响资料信息

View File

@ -9,9 +9,9 @@ public interface ApproverService {
* @param bussinessId 关联业务id
* @param contractCode 合同编码
* @param desc 审批说明
* @param src 数据
* @param updateData 修改后的数据
*/
public void apply( String bussinessId,String contractCode, String desc, Object src);
public void apply( String bussinessId,String contractCode, String desc, Object updateData);
/**
* 成功
*/

View File

@ -32,9 +32,9 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
* 通用申请方法
* @param bussinessId
* @param desc
* @param src
* @param updateData
*/
public void apply(String bussinessId,String contractCode, String desc, Object src){
public void apply(String bussinessId,String contractCode, String desc, Object updateData){
List<PsApproverRecord> list = approverRecordMapper.selectList(Wrappers.<PsApproverRecord>lambdaQuery().eq(PsApproverRecord::getDelFlag, "0")
.eq(PsApproverRecord::getBusinessId, bussinessId).eq(PsApproverRecord::getBusinessType,approverType())
.ne(PsApproverRecord::getApproverStatus, ApproverStatusEnum.INIT.getCode()));
@ -47,7 +47,7 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
record.setContractCode(contractCode);
record.setBusinessType(approverType());
record.setApplyDesc(desc);
record.setBeforeData(src == null?null:JSON.toJSONString(src));
record.setUpdateData(updateData == null?null:JSON.toJSONString(updateData));
record.setApplyDate(new Date());
record.setApproverStatus(ApproverStatusEnum.INIT.getCode());
approverRecordMapper.insert(record);

View File

@ -57,6 +57,8 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl
psTaskMain.setContractCode(psApproverRecord.getContractCode());
psTaskMain.setTaskType(TaskTypeEnum.CONTRACT.getCode());
psTaskMain.setTaskStatus(TaskStatusEnum.INIT.getCode());
psTaskMain.setCompanyId(info.getCompanyId());
psTaskMain.setCustomId(info.getCustomId());
taskMainService.insert(psTaskMain);
log.info("修改合同状态");
PsContractInfo updateInfo = new PsContractInfo();

View File

@ -1,8 +1,17 @@
package com.pusong.business.service.approver.impl;
import com.alibaba.fastjson.JSON;
import com.pusong.business.domain.PsApproverRecord;
import com.pusong.business.domain.PsContractInfo;
import com.pusong.business.domain.bo.PsContractInfoBo;
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.service.IPsContractBusinessService;
import com.pusong.business.service.IPsContractInfoService;
import com.pusong.common.core.utils.MapstructUtils;
import com.pusong.common.core.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -15,6 +24,8 @@ public class UpdateContractApproverServiceImpl extends ApproverAbstractServiceIm
public String approverType() {
return ApproverTypeEnum.UPDATE.getCode();
}
private final IPsContractBusinessService businessService;
private final IPsContractInfoService contractInfoService;
/**
* 1 审批成功合同已派单任务重置
@ -22,9 +33,37 @@ public class UpdateContractApproverServiceImpl extends ApproverAbstractServiceIm
*/
@Override
public void success(PsApproverRecord psApproverRecord) {
//1查询源数据
PsContractInfoVo src = contractInfoService.queryContractByCode(psApproverRecord.getContractCode());
//json化修改的数据
PsContractInfoBo bo = JSON.parseObject(psApproverRecord.getUpdateData(),PsContractInfoBo.class);
//2.删除所有服务类型和服务项目,.插入服务类型
businessService.saveList(bo.getBusinessList(),bo.getContractCode());
//3.修改后操作
afterUpdateOperate(bo, src);
//插入合同
PsContractInfo add = new PsContractInfo();
add.setCompanyId(bo.getCompanyInfoBo().getId());//公司id
MapstructUtils.convert(bo, add);
contractInfoService.updateByCode(add);
//4.生成合同
contractInfoService.makePdf(add,bo);
}
/**
* 修改合同后操作
* 1.已回款之后的合同修改后走审批
* 2.已回款合同新的合同金额<已付金额展示申请退款
* 3.合同签字盖章成功:修改合同成功合同签字盖章变回未签章状态需重新进行签章申请
*/
private void afterUpdateOperate(PsContractInfoBo updateBo, PsContractInfoVo srcVo){
//3.签章合同签字盖章成功:修改合同成功合同签字盖章变回未签章状态需重新进行签章申请
if(StringUtils.equals(srcVo.getSignStatus(), CommonStatusEnum.SUCCESS.getCode()) ){
updateBo.setSignStatus(CommonStatusEnum.INIT.getCode());
}
}
@Override
public void fail(PsApproverRecord psApproverRecord) {

View File

@ -1,5 +1,11 @@
package com.pusong.business.service.impl;
import com.pusong.business.enums.ApproverStatusEnum;
import com.pusong.business.enums.ApproverTypeEnum;
import com.pusong.business.enums.TaskStatusEnum;
import com.pusong.business.service.approver.ApproverContainer;
import com.pusong.business.service.approver.ApproverService;
import com.pusong.common.core.exception.ServiceException;
import com.pusong.common.core.utils.MapstructUtils;
import com.pusong.common.core.utils.StringUtils;
import com.pusong.common.mybatis.core.page.TableDataInfo;
@ -30,6 +36,7 @@ import java.util.Collection;
public class PsApproverRecordServiceImpl implements IPsApproverRecordService {
private final PsApproverRecordMapper baseMapper;
private final ApproverContainer container;
/**
* 查询审批记录
@ -81,34 +88,55 @@ public class PsApproverRecordServiceImpl implements IPsApproverRecordService {
}
/**
* 新增审批记录
* 审批
*
* @param bo 审批记录
* @return 是否新增成功
* @param operate 2 通过 3拒绝
* @param id 审批表id
* @return
*/
@Override
public Boolean insertByBo(PsApproverRecordBo bo) {
PsApproverRecord add = MapstructUtils.convert(bo, PsApproverRecord.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
public void approver(String operate, Long id,String desc){
PsApproverRecord info = baseMapper.selectById(id);
if(!StringUtils.equals(ApproverStatusEnum.INIT.getCode(),info.getApproverStatus())){
throw new ServiceException("操作失败:该审批状态已变更");
}
return flag;
ApproverService service = container.getService(info.getApproverType());
if(StringUtils.equals(ApproverStatusEnum.SUCCESS.getCode(),operate)){
service.success(info);
}else if (StringUtils.equals(ApproverStatusEnum.FAIL.getCode(),operate)){
service.fail(info);
}else{
throw new ServiceException("操作失败:不支持的操作类型");
}
}
// /**
// * 新增审批记录
// *
// * @param bo 审批记录
// * @return 是否新增成功
// */
// @Override
// public Boolean insertByBo(PsApproverRecordBo bo) {
// PsApproverRecord add = MapstructUtils.convert(bo, PsApproverRecord.class);
// validEntityBeforeSave(add);
// boolean flag = baseMapper.insert(add) > 0;
// if (flag) {
// bo.setId(add.getId());
// }
// return flag;
// }
/**
* 修改审批记录
*
* @param bo 审批记录
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(PsApproverRecordBo bo) {
PsApproverRecord update = MapstructUtils.convert(bo, PsApproverRecord.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
// /**
// * 修改审批记录
// *
// * @param bo 审批记录
// * @return 是否修改成功
// */
// @Override
// public Boolean updateByBo(PsApproverRecordBo bo) {
// PsApproverRecord update = MapstructUtils.convert(bo, PsApproverRecord.class);
// validEntityBeforeSave(update);
// return baseMapper.updateById(update) > 0;
// }
/**
* 保存前的数据校验
@ -117,18 +145,18 @@ public class PsApproverRecordServiceImpl implements IPsApproverRecordService {
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除审批记录信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
// /**
// * 校验并批量删除审批记录信息
// *
// * @param ids 待删除的主键集合
// * @param isValid 是否进行有效性校验
// * @return 是否删除成功
// */
// @Override
// public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
// if(isValid){
// //TODO 做一些业务上的校验,判断是否需要校验
// }
// return baseMapper.deleteBatchIds(ids) > 0;
// }
}

View File

@ -95,6 +95,8 @@ public class PsContractBusinessServiceImpl implements IPsContractBusinessService
}
/* *//**
* 查询合同服务类别
*

View File

@ -64,6 +64,8 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
@Resource
private final ApproverContainer container;
private final IPsTaskService taskMainService;
/**
* 生成合同
*
@ -94,7 +96,10 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
if(CollectionUtils.isNotEmpty(item.getDetailBos())){
mony = item.getDetailBos().stream().map(PsContractBusinessDetailBo::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
}
//服务类别填了才会修改服务项目的金额
if(mony.compareTo(BigDecimal.ZERO) > 0){
item.setBusinessAmount(mony);
}
});
BigDecimal sum = bo.getBusinessList().stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
@ -221,17 +226,17 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
//4.装填合同信息
BigDecimal sum = bo.getBusinessList().stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
bo.setContractAmount(sum);//合同总金额
//5.删除所有服务类型和服务项目,.插入服务类型
businessService.saveList(bo.getBusinessList(),bo.getContractCode());
//6.修改后操作
afterUpdateOperate(bo, src);
//插入合同
PsContractInfo add = new PsContractInfo();
add.setCompanyId(bo.getCompanyInfoBo().getId());//公司id
MapstructUtils.convert(bo, add);
this.updateByCode(add);
//7.生成合同
makePdf(add,bo);
//5.已回款之后的合同修改后走审批
if(ContractStatusEnum.isReturn(src.getContractStatus())){
//发起审批
ApproverService service = container.getService(ApproverTypeEnum.UPDATE.getCode());
service.apply(bo.getContractCode(),bo.getContractCode(),bo.getUpdateDesc(), JSON.toJSONString(bo));
}
PsContractInfo info = new PsContractInfo();
info.setContractCode(bo.getContractCode());
info.setContractStatus(ContractStatusEnum.UPDATEAPPROVER.getCode());
updateByCode(info);
return true;
}
@ -302,7 +307,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
* @param add
* @param bo
*/
private Long makePdf(PsContractInfo add ,PsContractInfoBo bo){
public Long makePdf(PsContractInfo add ,PsContractInfoBo bo){
Long ossId = null;
try{
//生成合同pdf
@ -312,6 +317,11 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
map.put("business",bo.getBusinessList());
map.put("company",bo.getCompanyInfoBo());
map.put("customer",customer);
String head = "合同编号PS-"+add.getContractCode()+" 客户编号:"+customer.getId();
//合同标题
map.put(PdfGenerator.HEAD,head);
//是否签章
map.put(PdfGenerator.SIGN,StringUtils.equals(CommonStatusEnum.SUCCESS.getCode(),bo.getSignStatus()));
String path = System.getProperty("user.dir")+"test.pdf";
log.info(JSON.toJSONString(map));
// path = "D:/王立帅/临时/output.pdf";
@ -335,6 +345,20 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
return ossId;
}
/**
* 开发票开发票操作
* @param contractCode
* @return
*/
public void invoice(String contractCode){
log.info("合同未回款过,初始化任务主表");
PsTaskMain psTaskMain = new PsTaskMain();
psTaskMain.setContractCode(contractCode);
psTaskMain.setTaskType(TaskTypeEnum.INVOICE.getCode());
psTaskMain.setTaskStatus(TaskStatusEnum.INIT.getCode());
taskMainService.insert(psTaskMain);
}
private QueryWrapper<PsContractInfo> buildQueryWrapper(PsContractInfoQueryBo bo) {
QueryWrapper<PsContractInfo> qw = Wrappers.query();
@ -431,26 +455,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
throw new ServiceException("合同已完成,不可修改");
}
}
/**
* 修改合同后操作
* 1.已回款之后的合同修改后走审批
* 2.已回款合同新的合同金额<已付金额展示申请退款
* 3.合同签字盖章成功:修改合同成功合同签字盖章变回未签章状态需重新进行签章申请
*/
private void afterUpdateOperate( PsContractInfoBo updateBo,PsContractInfoVo srcVo){
//1.已回款之后的合同修改后走审批
if(ContractStatusEnum.isReturn(srcVo.getContractStatus())){
//发起审批
ApproverService service = container.getService(ApproverTypeEnum.UPDATE.getCode());
service.apply(updateBo.getContractCode(),updateBo.getContractCode(),updateBo.getUpdateDesc(), JSON.toJSONString(srcVo));
}
//3.签章合同签字盖章成功:修改合同成功合同签字盖章变回未签章状态需重新进行签章申请
if(StringUtils.equals(srcVo.getSignStatus(),CommonStatusEnum.SUCCESS.getCode()) ){
updateBo.setSignStatus(CommonStatusEnum.INIT.getCode());
}
}
/**
* 查询合同基本信息
*

View File

@ -2,7 +2,9 @@ package com.pusong.business.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.pusong.business.domain.PsCompanyInfo;
import com.pusong.business.domain.PsCustomCallback;
@ -262,7 +264,7 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
}
/**
* 校验并批量删除客户基本信息信息
* 修改客户状态
*
* @param id 主键id
* @param type 操作类型
@ -274,9 +276,18 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
if(true){
//todo 校验原数据状态是否可以更改
}
LambdaUpdateWrapper<PsCustomInfo> wq = Wrappers.<PsCustomInfo>lambdaUpdate().eq(PsCustomInfo::getId, id);
switch (type){
case 1://移入公海
psCustomInfo.setCustomStatus(CustomerStatusEnum.PUBLIC.getCode());
//拼装历史的所属客户经理
if(StringUtils.isBlank(psCustomInfo.getHistoryCustomManager())){
psCustomInfo.setHistoryCustomManager(psCustomInfo.getCustomManager()+"");
}else {
psCustomInfo.setHistoryCustomManager(psCustomInfo.getHistoryCustomManager()+","+psCustomInfo.getCustomManager());
}
wq.set(PsCustomInfo::getCustomManager,null);
psCustomInfo.setCustomManager(null);
break;
case 2://拉黑
psCustomInfo.setBlack("1");
@ -284,7 +295,7 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
break;
}
return baseMapper.updateById(psCustomInfo) > 0;
return baseMapper.update(psCustomInfo,wq) > 0;
}
/**

View File

@ -34,20 +34,22 @@ public class PsTaskMediaServiceImpl implements IPsTaskMediaService {
/**
* 查询任务资料
*
* @param id 主键
* @param customerId 客户id
* @param companyId 公司id
* @return 任务资料
*/
@Override
public List<PsTaskMediaVo> queryByTaskId(Long id){
public List<PsTaskMediaVo> queryByTaskId(Long customerId,Long companyId){
PsTaskMediaBo bo = new PsTaskMediaBo();
bo.setTaskId(id);
bo.setCustomId(customerId);
bo.setCompanyId(companyId);
LambdaQueryWrapper<PsTaskMedia> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PsTaskMedia> buildQueryWrapper(PsTaskMediaBo bo) {
LambdaQueryWrapper<PsTaskMedia> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getTaskId() != null, PsTaskMedia::getTaskId, bo.getTaskId());
lqw.eq(StringUtils.isNotBlank(bo.getContractCode()), PsTaskMedia::getContractCode, bo.getContractCode());
lqw.eq(bo.getCustomId() != null, PsTaskMedia::getCustomId, bo.getCustomId());
lqw.eq(bo.getCompanyId() != null, PsTaskMedia::getCompanyId, bo.getCompanyId());
lqw.eq(StringUtils.isNotBlank(bo.getMediaType()), PsTaskMedia::getMediaType, bo.getMediaType());
lqw.eq(StringUtils.isNotBlank(bo.getMediaOssId()), PsTaskMedia::getMediaOssId, bo.getMediaOssId());
return lqw;

View File

@ -124,7 +124,7 @@ public class PsTaskServiceImpl implements IPsTaskService {
//查询公司信息
PsCompanyInfoVo companyInfoVo = companyInfoService.queryById(mainTask.getCompanyId());
//查询资料信息
List<PsTaskMediaVo> list = mediaService.queryByTaskId(mainTask.getId());
List<PsTaskMediaVo> list = mediaService.queryByTaskId(mainTask.getCustomId(),mainTask.getCompanyId());
PsTaskMainVo psTaskMainVo = new PsTaskMainVo();
psTaskMainVo.setCompanyInfoVo(companyInfoVo);
psTaskMainVo.setTaskMediaVoList(list);
@ -166,12 +166,12 @@ public class PsTaskServiceImpl implements IPsTaskService {
return;
}
//2.1查询原始的合同资料信息
List<PsTaskMediaVo> mediaList = mediaService.queryByTaskId(save.getId());
List<PsTaskMediaVo> mediaList = mediaService.queryByTaskId(taskMain.getCustomId(),taskMain.getCompanyId());
//此次需要保存的资料id后续删除使用
List<String> ossIdList = new ArrayList<>();
save.getMediaBoList().forEach(item->{
item.setTaskId(taskMain.getId());
item.setContractCode(taskMain.getContractCode());
item.setCustomId(taskMain.getCustomId());
item.setCompanyId(taskMain.getCompanyId());
if(StringUtils.isNotBlank(item.getMediaOssId()) && !StringUtils.equals("-1",item.getMediaOssId())){
ossIdList.addAll(List.of(item.getMediaOssId().split(",")));
}