diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsApproverRecordController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsApproverRecordController.java index fe95c09..e6e2baf 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsApproverRecordController.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsApproverRecordController.java @@ -56,6 +56,7 @@ public class PsApproverRecordController extends BaseController { * @return */ @SaCheckPermission("business:approverRecord:list") + @RepeatSubmit() @GetMapping("/approver") public R approver(@NotBlank(message = "操作类型不能为空") String operate, @NotNull(message = "数据id不能为空") Long id, String desc) { diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractInfoController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractInfoController.java index 026c6e0..c5d5f63 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractInfoController.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractInfoController.java @@ -69,7 +69,6 @@ public class PsContractInfoController extends BaseController { */ @SaCheckPermission("business:customInfo:addContract") @Log(title = "预览合同", businessType = BusinessType.INSERT) - @RepeatSubmit() @PostMapping("/preview") public R preview( @RequestBody PsContractInfoBo bo) { return R.ok(psContractInfoService.preview(bo)); @@ -99,7 +98,6 @@ public class PsContractInfoController extends BaseController { */ @SaCheckPermission("business:contractInfo:list") @Log(title = "根据合同编码查询合同信息", businessType = BusinessType.INSERT) - @RepeatSubmit() @GetMapping("/queryContractByCode") public R queryContractByCode(@NotBlank String contractCode) { return R.ok(psContractInfoService.queryContractByCode(contractCode)); @@ -143,7 +141,6 @@ public class PsContractInfoController extends BaseController { */ @SaCheckPermission("business:contractInfo:list") @Log(title = "根据合同编码查询合同信息", businessType = BusinessType.INSERT) - @RepeatSubmit() @GetMapping("/queryServiceByCode") public R> queryServiceByCode(@NotBlank String contractCode) { return R.ok(businessService.selectBusinessList(List.of(contractCode))); @@ -171,6 +168,7 @@ public class PsContractInfoController extends BaseController { * @param businessProject 服务项目 * @return */ + @RepeatSubmit() @Log(title = "免费派单") @SaCheckPermission("business:task:list") @GetMapping("/freeWork") diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractOperateController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractOperateController.java index 676d261..698efd7 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractOperateController.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractOperateController.java @@ -48,6 +48,7 @@ public class PsContractOperateController extends BaseController { * * @param contractCode 合同编码 */ + @RepeatSubmit() @SaCheckPermission("business:contractOperate:sign") @GetMapping("/sign") public R getInfo(@NotBlank String contractCode ) { @@ -58,6 +59,7 @@ public class PsContractOperateController extends BaseController { /** * 合同添加回款记录 */ + @RepeatSubmit() @SaCheckPermission("business:contractOperate:addPayRecord") @PostMapping(value = "/addPayRecord", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R addPayRecord(@RequestPart("files") List files, @@ -69,6 +71,7 @@ public class PsContractOperateController extends BaseController { /** * 合同添加退款记录 */ + @RepeatSubmit() @SaCheckPermission("business:contractOperate:addReturnRecord") @PostMapping(value = "/addReturnRecord", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R addReturnRecord(@RequestPart(value = "files" ,required = false) List files, @@ -80,6 +83,7 @@ public class PsContractOperateController extends BaseController { /** * 回传合同 */ + @RepeatSubmit() @SaCheckPermission("business:contractOperate:rollBack") @PostMapping(value = "/rollBack", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R rollBack(@RequestPart("file") MultipartFile file,@NotBlank String contractCode )throws Exception { @@ -90,6 +94,7 @@ public class PsContractOperateController extends BaseController { /** * 确认单 */ + @RepeatSubmit() @SaCheckPermission("business:contractOperate:confirm") @PostMapping(value = "/confirm", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R confirm(@RequestPart("file") MultipartFile file,@NotBlank String contractCode )throws Exception { diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractPayController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractPayController.java index 36aa299..8f7906c 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractPayController.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractPayController.java @@ -78,6 +78,7 @@ public class PsContractPayController extends BaseController { * @param id 任务id * @return */ + @RepeatSubmit() @SaCheckPermission("business:contractPay:query") @PostMapping(value = "/refundFinish",consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R refundFinish(@RequestPart("files") List files, @NotNull Long id) { diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsCustomController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsCustomController.java index 65a9914..f5c9128 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsCustomController.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsCustomController.java @@ -103,6 +103,7 @@ public class PsCustomController extends BaseController { * @param id 主键串 * @param type 操作类型 1移入公海 2拉黑 */ + @RepeatSubmit() @SaCheckPermission("business:customInfo:edit") @Log(title = "客户状态变更操作", businessType = BusinessType.UPDATE) @GetMapping("/updateStatus") @@ -121,11 +122,12 @@ public class PsCustomController extends BaseController { * @param companyName 公司名 * @return */ + @RepeatSubmit() @SaCheckPermission("business:customInfo:record") @Log(title = "客户档案" ) @GetMapping("/record") - public TableDataInfo record(Integer type, String name, String mobile, String companyName, PageQuery pageQuery) { - return psCustomInfoService.getCustomerRecordList(type,name,mobile,companyName,pageQuery); + public TableDataInfo record(@RequestParam(required = false) Long id,Integer type, String name, String mobile, String companyName, PageQuery pageQuery) { + return psCustomInfoService.getCustomerRecordList(id,type,name,mobile,companyName,pageQuery); } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsHomeController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsHomeController.java index e25cfa2..a85b204 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsHomeController.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsHomeController.java @@ -39,6 +39,7 @@ public class PsHomeController extends BaseController { /** * 查询登陆人下所有的客户名称和id */ + @RepeatSubmit() @SaCheckPermission("business:customInfo:list") @GetMapping("/listByLoginUser") public R> listByLoginUser() { diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsSalaryConfigController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsSalaryConfigController.java index 251c829..b1413ac 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsSalaryConfigController.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsSalaryConfigController.java @@ -58,8 +58,9 @@ public class PsSalaryConfigController extends BaseController { } /** - * 新增提成配置 + * 新增/修改提成配置 */ + @RepeatSubmit() @Log(title = "新增提成配置") @SaCheckPermission("business:salaryConfig:add") @PostMapping("/add") diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsTaskController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsTaskController.java index 3df3ed8..c725002 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsTaskController.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsTaskController.java @@ -8,8 +8,10 @@ import com.pusong.business.domain.vo.PsTaskAppointVo; import com.pusong.business.domain.vo.TaskPlanVo; import com.pusong.common.core.domain.R; import com.pusong.common.core.validate.QueryGroup; +import com.pusong.common.idempotent.annotation.RepeatSubmit; import com.pusong.common.log.annotation.Log; import com.pusong.common.log.enums.BusinessType; +import com.pusong.common.web.core.BaseController; import jakarta.validation.constraints.NotBlank; import lombok.RequiredArgsConstructor; import cn.dev33.satoken.annotation.SaCheckPermission; @@ -17,7 +19,6 @@ import org.jetbrains.annotations.NotNull; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; -import com.pusong.common.web.core.BaseController; import com.pusong.common.mybatis.core.page.PageQuery; import com.pusong.business.domain.vo.PsTaskMainVo; import com.pusong.business.service.IPsTaskService; @@ -86,6 +87,7 @@ public class PsTaskController extends BaseController { @Log(title = "上传资料和公司信息") @SaCheckPermission("business:task:list") @PostMapping("/saveInfo") + @RepeatSubmit() public R saveInfo(@Validated @RequestBody MediaCompanySaveBo save) { psTaskMainService.saveInfo(save); return R.ok(); @@ -98,6 +100,7 @@ public class PsTaskController extends BaseController { @Log(title = "任务委派") @SaCheckPermission("business:task:list") @PostMapping("/appoint") + @RepeatSubmit() public R appoint(@Validated @RequestBody AppointBo appointBo) { psTaskMainService.appoint(appointBo); return R.ok(); @@ -108,6 +111,7 @@ public class PsTaskController extends BaseController { * @param id 主任务id * @return */ + @RepeatSubmit() @Log(title = "主任务完成") @SaCheckPermission("business:task:list") @GetMapping("/mainFinish") @@ -125,6 +129,7 @@ public class PsTaskController extends BaseController { @Log(title = "子任务完成") @SaCheckPermission("business:task:list") @GetMapping("/childFinish") + @RepeatSubmit() public R childFinish(@NotNull Long id,String desc) { psTaskMainService.finishChild(id,desc); return R.ok(); @@ -151,6 +156,7 @@ public class PsTaskController extends BaseController { @Log(title = "任务改派") @SaCheckPermission("business:task:list") @GetMapping("/reset") + @RepeatSubmit() public R taskReset(@NotNull Long id,@NotNull Long executorId) { psTaskMainService.taskReset(id, executorId); return R.ok(); @@ -165,6 +171,7 @@ public class PsTaskController extends BaseController { @Log(title = "免费工单任务作废") @SaCheckPermission("business:task:list") @GetMapping("/cancel") + @RepeatSubmit() public R taskReset(@NotNull("任务id不能为空") Long id,@NotNull("作废原因不能为空") String desc) { psTaskMainService.cancel(id,desc); return R.ok(); @@ -179,6 +186,7 @@ public class PsTaskController extends BaseController { @Log(title = "上传发票") @SaCheckPermission("business:task:list") @PostMapping(value = "/invoice", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + @RepeatSubmit() public R taskReset(@RequestPart("file") MultipartFile file, @NotNull Long id) { psTaskMainService.invoice(file,id); return R.ok(); @@ -192,6 +200,7 @@ public class PsTaskController extends BaseController { @Log(title = "任务暂停") @SaCheckPermission("business:task:list") @GetMapping("/pause") + @RepeatSubmit() public R pause( @NotNull Long id) { psTaskMainService.pause(id); return R.ok(); @@ -205,6 +214,7 @@ public class PsTaskController extends BaseController { @Log(title = "任务恢复") @SaCheckPermission("business:task:list") @GetMapping("/recover") + @RepeatSubmit() public R recover( @NotNull Long id) { psTaskMainService.recover(id); return R.ok(); diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/ServiceConfigController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/ServiceConfigController.java index 2a2a667..acb940d 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/ServiceConfigController.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/ServiceConfigController.java @@ -7,6 +7,7 @@ import com.pusong.business.domain.vo.PsCustomInfoVo; import com.pusong.business.service.IPsApproverRecordService; import com.pusong.business.service.IServiceConfigService; import com.pusong.common.core.domain.R; +import com.pusong.common.idempotent.annotation.RepeatSubmit; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -33,6 +34,7 @@ public class ServiceConfigController { /** * 新增服务配置 */ + @RepeatSubmit() @PostMapping("/add") public R add(@RequestBody DicDataBo bo) { configService.add(bo); @@ -41,6 +43,7 @@ public class ServiceConfigController { /** * 修改服务配置 */ + @RepeatSubmit() @PutMapping("/edit") public R edit(@RequestBody DicDataBo bo) { configService.edit(bo); @@ -50,6 +53,7 @@ public class ServiceConfigController { /** * 删除服务配置 */ + @RepeatSubmit() @DeleteMapping("/delete") public R delete(Long dictCode) { configService.delete(dictCode); @@ -59,7 +63,7 @@ public class ServiceConfigController { /** * 根据合同编码查询资料配置信息 */ - @PostMapping("/getByContractCode") + @GetMapping("/getByContractCode") public R> getByContractCode(String contractCode) { return R.ok(configService.getByContractCode(contractCode)); } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/PsContractInfo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/PsContractInfo.java index ade76dc..e96d3f9 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/PsContractInfo.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/PsContractInfo.java @@ -150,5 +150,10 @@ public class PsContractInfo extends TenantEntity { * 确认单 */ private Long confirmOssid; + /** + * 任务派单日期 + */ + private Date startDate; + } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsApproverRecordVo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsApproverRecordVo.java index 6ca9650..fc54783 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsApproverRecordVo.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsApproverRecordVo.java @@ -62,7 +62,10 @@ public class PsApproverRecordVo implements Serializable { * 审批业务类型 */ private String businessType; - + /** + * 关联业务id + */ + private String businessId; /** * 申请日期 */ @@ -94,10 +97,6 @@ public class PsApproverRecordVo implements Serializable { * 修改后数据 */ private String updateData; - /** - * 修改后数据(object类型) - */ - private JSONObject updateDataObject; /** * 创建者 */ diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsCustomerRecordVo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsCustomerRecordVo.java index 1ec1db3..099323a 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsCustomerRecordVo.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsCustomerRecordVo.java @@ -134,4 +134,21 @@ public class PsCustomerRecordVo implements Serializable { * 合同总金额 */ private BigDecimal contractAmount; + /** + * 确认单 + */ + private String confirmOssid; + + /** + * 客户状态 + */ + private String customStatus; + /** + * 渠道 + */ + private String customSource; + /** + * 介绍人 + */ + private String customIntroducer; } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsCustomInfoService.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsCustomInfoService.java index 910ab32..0a57867 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsCustomInfoService.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsCustomInfoService.java @@ -97,7 +97,7 @@ public interface IPsCustomInfoService { * @param companyName * @return */ - TableDataInfo getCustomerRecordList(Integer type,String name, String mobile, String companyName, PageQuery pageQuery); + TableDataInfo getCustomerRecordList(Long id,Integer type,String name, String mobile, String companyName, PageQuery pageQuery); /** * 移除黑名单 diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/ApproverAbstractServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/ApproverAbstractServiceImpl.java index 5af180b..7c04c6a 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/ApproverAbstractServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/ApproverAbstractServiceImpl.java @@ -92,12 +92,10 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService { res.getRecords().forEach(item->{ item.setResidualMoney(item.getContractAmount().subtract(item.getPayMoney())); //装填回款周期 - List payList = queryListByContractCode(bo.getBusinessId(),null, PayStatusEnum.SUCCESS); + List payList = queryListByContractCode(item.getBusinessId(),"1", PayStatusEnum.SUCCESS); if(CollectionUtils.isNotEmpty(payList)){ item.setPeriod(DateUtils.calWorkDate(payList.get(0).getPayDate(),payList.get(payList.size()-1).getPayDate()) + 1); - item.setUpdateDataObject(JSON.parseObject(item.getUpdateData())); } - }); } return res; diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractInfoServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractInfoServiceImpl.java index de3a85d..d49fee3 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractInfoServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractInfoServiceImpl.java @@ -588,7 +588,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService { throw new ServiceException("合同已回传,不可修改"); } //2.已回款之后的合同 必有修改合同说明(审批表的字段) - if(ContractStatusEnum.isReturn(srcVo.getContractStatus()) && StringUtil.isNotBlank(updateBo.getUpdateDesc())){ + if(ContractStatusEnum.isReturn(srcVo.getContractStatus()) && StringUtil.isBlank(updateBo.getUpdateDesc())){ throw new ServiceException("合同已回款,请输入修改说明"); } //3.已完成合同不可修改 diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCustomInfoServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCustomInfoServiceImpl.java index 268661b..b1f2dea 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCustomInfoServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCustomInfoServiceImpl.java @@ -353,10 +353,11 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService { * @param companyName * @return */ - public TableDataInfo getCustomerRecordList(Integer type,String name, String mobile, + public TableDataInfo getCustomerRecordList(Long id,Integer type,String name, String mobile, String companyName, PageQuery pageQuery){ QueryWrapper qw = Wrappers.query(); qw.like(StringUtils.isNotBlank(companyName), "com.company_name", companyName); + qw.eq(id != null,"custom.id",id); qw.like(StringUtils.isNotBlank(name), "custom.custom_name", name); qw.like(StringUtils.isNotBlank(mobile), "custom.custom_mobile", mobile); qw.notIn("con.contract_status", ContractStatusEnum.isValid()); diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java index 81ecfd6..8d33105 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsTaskServiceImpl.java @@ -113,9 +113,11 @@ public class PsTaskServiceImpl implements IPsTaskService { * @return 主任务分页列表 */ public TableDataInfo queryChildPageList(PsTaskQueryBo bo, PageQuery pageQuery){ + Long id = bo.getId(); //此时是子任务的id + bo.setId(null); QueryWrapper lqw = buildQueryWrapper(bo); lqw.eq("appo.appoint_type",bo.getAppointType()); - lqw.eq(bo.getId() != null,"appo.id",bo.getId()); + lqw.eq(id != null,"appo.id",id); Page page = baseMapper.queryChildTaskPageList(pageQuery.build(), lqw); for (PsTaskMainVo vo : page.getRecords()) { if(vo.getStartDate() != null){ @@ -284,6 +286,9 @@ public class PsTaskServiceImpl implements IPsTaskService { update.setTaskStatus(TaskStatusEnum.ING.getCode()); update.setStartDate(new Date()); baseMapper.updateById(update); + +// contractInfoMapper.update(Wrappers.lambdaUpdate().set(PsContractInfo::getContractCode).eq(PsContractInfo::getContractCode,mainTask.getContractCode())); + } PsTaskAppoint psTaskAppoint = new PsTaskAppoint(); psTaskAppoint.setAppointStatus(AppointStatusEnum.ING.getCode()); diff --git a/pusong-modules/pusong-business/src/main/resources/mapper/business/PsCustomInfoMapper.xml b/pusong-modules/pusong-business/src/main/resources/mapper/business/PsCustomInfoMapper.xml index 165fad3..4603bc9 100644 --- a/pusong-modules/pusong-business/src/main/resources/mapper/business/PsCustomInfoMapper.xml +++ b/pusong-modules/pusong-business/src/main/resources/mapper/business/PsCustomInfoMapper.xml @@ -8,7 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT info.* , usr.nick_name as custom_manager_name - ,psinfo.custom_introducer as custom_introducer_name, + ,psinfo.custom_name as custom_introducer_name, EXISTS(SELECT * FROM ps_contract_info coninfo WHERE coninfo.custom_id = info.id and coninfo.contract_status != '10') have_contract FROM ps_custom_info info left join sys_user usr on info.custom_manager = usr.user_id @@ -35,6 +35,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" custom.id, custom.create_time, custom.custom_status, + custom.custom_source, + (select pci.custom_name from ps_custom_info pci where pci.id = custom.custom_introducer limit 0,1) custom_introducer, con.contract_code, custom.custom_name, custom.custom_mobile, @@ -55,7 +57,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" con.sign_desc, con.contract_amount, con.finish_date, - (select par.approver_status from ps_approver_record par where par.contract_code = con.contract_code and business_type = 'free' limit 0,1) approver_status + con.confirm_ossid, + (select par.approver_status from ps_approver_record par where par.contract_code = con.contract_code and business_type = 'free' order by id desc limit 0,1) approver_status from ps_custom_info custom left join