diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java index 056c29ea73..f3154ed9d9 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java @@ -51,13 +51,17 @@ public interface CommonContractFeign { public ResultBean save(@RequestBody CommonContractDto dto);*/ @ApiOperation("修改保存") - @PostMapping("/update/{sid}") - public ResultBean update(@RequestBody CommonContractDto dto, @PathVariable("sid") String sid); + @PostMapping("/update") + public ResultBean update(@RequestBody CommonContractsDto dto); @ApiOperation("获取一条记录") @GetMapping("/fetchSid/{sid}") public ResultBean fetchBySid(@PathVariable("sid") String sid); + @ApiOperation("初始化合同审核") + @GetMapping("/getCommonContract/{sid}") + public ResultBean getCommonContract(@PathVariable("sid") String sid); + @ApiOperation("根据业务sid查询合同") @ResponseBody @GetMapping("/getByBusSid") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java index bff5e94186..55bb4534c1 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java @@ -46,7 +46,7 @@ public class CommonContractFeignFallback implements CommonContractFeign { } */ @Override - public ResultBean update(CommonContractDto dto, String sid) { + public ResultBean update(CommonContractsDto dto) { return ResultBean.fireFail().setMsg("接口anrui-base/commoncontract/update无法访问"); } @@ -56,6 +56,11 @@ public class CommonContractFeignFallback implements CommonContractFeign { return rb.setMsg("接口anrui-base/commoncontract/fetch无法访问"); } + @Override + public ResultBean getCommonContract(String sid) { + return null; + } + @Override public ResultBean getByBusSid(String busSid) { ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractVo.java index 7643089b45..6644f6d778 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractVo.java @@ -41,6 +41,8 @@ public class CommonContractVo implements Vo { private String partyA; @ApiModelProperty("乙方名称") private String partyB; + @ApiModelProperty("其他方名称") + private String partyC; @ApiModelProperty("车型Sid") private String modelSid; @ApiModelProperty("车型名称") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractsDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractsDto.java new file mode 100644 index 0000000000..4e2d02cd93 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractsDto.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.base.api.commoncontract; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2023/2/16 9:05 + * @Description + */ +@Data +public class CommonContractsDto implements Dto { + private static final long serialVersionUID = -3336278527627159679L; + + @ApiModelProperty("合同sid") + private String contractSid; + + @ApiModelProperty("新车买卖合同") + private List contractImages; + + @ApiModelProperty("现场签署图片") + private List siteSigImages; + + @ApiModelProperty("身份证图片") + private List idCardImages; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("是否是档案库里的身份证") + private boolean idCardArchives; + + @ApiModelProperty("其他方名称") + private String partyC; + + @ApiModelProperty("备注") + private String remarks; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractsVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractsVo.java new file mode 100644 index 0000000000..9536ec2c10 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractsVo.java @@ -0,0 +1,79 @@ +package com.yxt.anrui.base.api.commoncontract; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2023/2/16 10:04 + * @Description + */ +@Data +public class CommonContractsVo implements Vo { + private static final long serialVersionUID = -1924888064114859732L; + + @ApiModelProperty("合同sid") + private String contractSid; + @ApiModelProperty("合同编号") + private String contractNo; + @ApiModelProperty("合同类型key") + private String contractTypeKey; + @ApiModelProperty("合同类型") + private String contractType; + + @ApiModelProperty("经办人") + private String staffName; + @ApiModelProperty("甲方名称") + private String partyA; + @ApiModelProperty("乙方名称") + private String partyB; + @ApiModelProperty("其他方名称") + private String partyC; + @ApiModelProperty("台数") + private String num; + @ApiModelProperty("单价") + private String price; + @ApiModelProperty("单台订金") + private String oneDeposit; + @ApiModelProperty("合同金额") + private String contractAmount; + @ApiModelProperty("新车买卖合同") + private List contractImages = new ArrayList<>(); + + @ApiModelProperty("现场签署图片") + private List siteSigImages = new ArrayList<>(); + + @ApiModelProperty("身份证图片") + private List idCardImages = new ArrayList<>(); + + @ApiModelProperty("客户类型") + private String customerKey; + + @ApiModelProperty("任务id") + private String taskId; + + @ApiModelProperty("流程实例id") + private String procInsId; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("是否是档案库里的身份证") + private boolean idCardArchives; + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("订金") + private String deposit; + @ApiModelProperty("签订日期") + private String createDate; + @ApiModelProperty("签订地点") + private String address; + @ApiModelProperty("备注") + private String remarks; +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml index 1978c540f7..f95db38827 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml @@ -43,7 +43,8 @@ if(length(nodeState) > 0, nodeState, '待提交') as nodeState, DATE_FORMAT(createDate,'%Y-%m-%d') as createDate, address, - remarks + remarks, + partyC FROM common_contract ${ew.customSqlSegment} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java index 347f1dd0a4..27d2e1687d 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java @@ -2,12 +2,9 @@ package com.yxt.anrui.base.biz.commoncontract; import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo; -import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum; -import com.yxt.anrui.base.api.commonappendix.PcCommonAppendixDto; import com.yxt.anrui.base.api.commoncontract.*; import com.yxt.anrui.base.api.commoncontract.flowable.*; import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService; -import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.common.base.config.component.FileUploadComponent; @@ -66,10 +63,6 @@ public class CommonContractRest implements CommonContractFeign { private CommonAppendixService commonAppendixService; @Autowired private FileUploadComponent fileUploadComponent; - @Autowired - private FinUncollectedReceivablesDetailedFeign finUncollectedReceivablesDetailedFeign; - /* @Autowired - private BusOrderFeign busOrderFeign;*/ @Override public ResultBean> listPage(@RequestBody PagerQuery pq) { @@ -166,40 +159,47 @@ public class CommonContractRest implements CommonContractFeign { }*/ @Override - public ResultBean update(CommonContractDto dto, String sid) { + public ResultBean update(CommonContractsDto dto) { ResultBean rb = ResultBean.fireFail(); - String s = ""; - String attachType = ""; - commonAppendixService.deleteFiles(sid); - List pcCommonAppendixDtoList = dto.getPcCommonAppendixDtoList(); - attachType = CommonAttachTypeEnum.CONTRACT.getAttachType(); - if (pcCommonAppendixDtoList != null) { - for (PcCommonAppendixDto pcCommonAppendixDto : pcCommonAppendixDtoList) { - commonAppendixService.saveOrUpdatePcAppendix(pcCommonAppendixDto, sid, dto.getStaffSid(), attachType); - fileUploadComponent.getUrlPrefix(); - String filePath = pcCommonAppendixDto.getFilePath(); - if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { - filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + CommonContract commonContract = commonContractService.fetchBySid(dto.getContractSid()); + if(commonContract == null){ + return rb.setMsg("该合同不存在"); + } + String s1 = ""; + String s2 = ""; + String s3 = ""; + commonContract.setPartyC(dto.getPartyC()); + commonContract.setRemarks(dto.getRemarks()); + if (dto.getContractImages() != null) { + for (String contractImage : dto.getContractImages()) { + if (contractImage.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + contractImage = contractImage.replace(fileUploadComponent.getUrlPrefix(), ""); } - s += filePath + ","; + s1 += contractImage + ","; + commonContract.setAppdixUrl(s1.substring(0, s1.length() - 1)); } - dto.setAppdixUrl(s.substring(0, s.length() - 1)); } - List sceneSignUrlList = dto.getSceneSignUrlList(); - attachType = CommonAttachTypeEnum.SCENESIGN.getAttachType(); - if (sceneSignUrlList.size() != 0) { - for (PcCommonAppendixDto pcCommonAppendixDto : sceneSignUrlList) { - commonAppendixService.saveOrUpdatePcAppendix(pcCommonAppendixDto, dto.getSid(), dto.getStaffSid(), attachType); - fileUploadComponent.getUrlPrefix(); - String filePath = pcCommonAppendixDto.getFilePath(); - if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { - filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + + if (dto.getSiteSigImages() != null) { + for (String siteSigImages : dto.getSiteSigImages()) { + if (siteSigImages.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + siteSigImages = siteSigImages.replace(fileUploadComponent.getUrlPrefix(), ""); } - s += filePath + ","; + s2 += siteSigImages + ","; + commonContract.setSceneSignUrl(s2.substring(0, s2.length() - 1)); } - dto.setSceneSignUrl(s.substring(0, s.length() - 1)); } - commonContractService.updateBySid(dto.toMap(), sid); + + if (dto.getIdCardImages() != null) { + for (String idCardImage : dto.getIdCardImages()) { + if (idCardImage.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + idCardImage = idCardImage.replace(fileUploadComponent.getUrlPrefix(), ""); + } + s3 += idCardImage + ","; + commonContract.setIdImagesUrl(s3.substring(0, s3.length() - 1)); + } + } + commonContractService.updateById(commonContract); return rb.success(); } @@ -208,6 +208,11 @@ public class CommonContractRest implements CommonContractFeign { return commonContractService.fetchAllBySid(sid); } + @Override + public ResultBean getCommonContract(String sid) { + return commonContractService.getCommonContract(sid); + } + @Override public ResultBean getByBusSid(String busSid) { return commonContractService.getByBusSid(busSid); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java index caed384513..7e16a99125 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java @@ -1388,7 +1388,6 @@ public class CommonContractService extends MybatisBaseService> resultBean = crmCustomerTempFeign.selectCustomerFile(vo.getCustomerSid()); List stringList = resultBean.getData(); @@ -1410,7 +1409,6 @@ public class CommonContractService extends MybatisBaseService()); } } -// } } return vo; } @@ -2469,4 +2467,61 @@ public class CommonContractService extends MybatisBaseService getCommonContract(String sid) { + ResultBean rb = ResultBean.fireFail(); + CommonContract commonContract = fetchBySid(sid); + if(commonContract == null){ + return rb.setMsg("该合同不存在"); + } + CommonContractsVo commonContractsVo = new CommonContractsVo(); + BeanUtil.copyProperties(commonContract,commonContractsVo,"sid"); + commonContractsVo.setContractSid(commonContract.getSid()); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + if (StringUtils.isNotBlank(commonContract.getAppdixUrl())) { + String[] split1 = commonContract.getAppdixUrl().split(","); + List contract = new ArrayList<>(); + List contractImages = Arrays.asList(split1); + for (String contractImage : contractImages) { + String contractImageUrl = urlPrefix + contractImage; + contract.add(contractImageUrl); + } + commonContractsVo.setContractImages(contract); + } + if (StringUtils.isNotBlank(commonContract.getSceneSignUrl())) { + String[] split2 = commonContract.getSceneSignUrl().split(","); + List siteSig = new ArrayList<>(); + List siteSigImages = Arrays.asList(split2); + for (String siteSigImage : siteSigImages) { + String siteSigImagesUrl = urlPrefix + siteSigImage; + siteSig.add(siteSigImagesUrl); + } + commonContractsVo.setSiteSigImages(siteSig); + } + if (StringUtils.isNotBlank(commonContract.getCustomerTypeKey())) { + //查询客户的档案库中是否有图片 + ResultBean> resultBean = crmCustomerTempFeign.selectCustomerFile(commonContract.getCustomerSid()); + List stringList = resultBean.getData(); + if (stringList.size() > 0) { + commonContractsVo.setIdCardArchives(true); + commonContractsVo.setIdCardImages(stringList); + } else { + commonContractsVo.setIdCardArchives(false); + if (StringUtils.isNotBlank(commonContract.getIdImagesUrl())) { + String[] split3 = commonContract.getIdImagesUrl().split(","); + List idCard = new ArrayList<>(); + List idCardImages = Arrays.asList(split3); + for (String idCardImage : idCardImages) { + String idCardImagesUrl = urlPrefix + idCardImage; + idCard.add(idCardImagesUrl); + } + commonContractsVo.setIdCardImages(idCard); + } else { + commonContractsVo.setIdCardImages(new ArrayList<>()); + } + } + } + commonContractsVo.setUserSid(commonContract.getCreateBySid()); + return rb.success().setData(commonContractsVo); + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index e46eadd44a..3031b40cdb 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -130,6 +130,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo; import com.yxt.anrui.portal.config.DictCommonType; @@ -1598,7 +1599,8 @@ public class BusSalesOrderService extends MybatisBaseService crmCustomerTempInfoVoResultBean = crmCustomerTempFeign.getAppCustomerTempDetailsBySid(dto.getCustomerSid()); String sid = ""; @@ -1610,10 +1612,8 @@ public class BusSalesOrderService extends MybatisBaseService staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(sysUserInfoVo.getStaffSid()); if (!staffOrgResultBean.getSuccess()) { return rb.setMsg(staffOrgResultBean.getMsg()); } orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); } + //获取销售部门 + String orgSid = Arrays.asList(orgSidPath.split("/")).get(Arrays.asList(orgSidPath.split("/")).size()-1); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgSid).getData(); + if(sysOrganization != null){ + busSalesOrder.setOrgName(sysOrganization.getName()); + } + busSalesOrder.setOrgSid(orgSid); busSalesOrder.setOrgSidPath(orgSidPath); busSalesOrder.setUseOrgSid(useOrgSid); boolean isSave = save(busSalesOrder); diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java index 336badacf9..ed774e1e7a 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.auth0.jwt.JWT; import com.auth0.jwt.interfaces.DecodedJWT; import com.yxt.anrui.portal.api.sysexceptionlog.SysExceptionLog; +import com.yxt.anrui.portal.api.sysorganization.SysOrganization; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.systemlog.SystemLog; import com.yxt.anrui.portal.api.sysuser.SysUser; @@ -13,6 +14,7 @@ import com.yxt.anrui.portal.api.sysuser.app.AppMySysUserInfo; import com.yxt.anrui.portal.api.sysuser.app.AppSysUserFeign; import com.yxt.anrui.portal.api.sysuser.app.MyInfoQuery; import com.yxt.anrui.portal.biz.sysexceptionlog.SysExceptionLogService; +import com.yxt.anrui.portal.biz.sysorganization.SysOrganizationService; import com.yxt.anrui.portal.biz.sysrole.SysRoleService; import com.yxt.anrui.portal.biz.systemlog.SystemLogService; import com.yxt.anrui.portal.biz.sysuser.SysUserService; @@ -53,6 +55,8 @@ public class AppSysUserRest implements AppSysUserFeign { private FileUploadComponent fileUploadComponent; @Autowired private SysRoleService sysRoleService; + @Autowired + private SysOrganizationService sysOrganizationService; @Override public ResultBean login(SysUserQuery userQuery) { @@ -345,8 +349,10 @@ public class AppSysUserRest implements AppSysUserFeign { List strings = new ArrayList<>(); List list = sysUserService.selectOrgBySid(orgPath, sysUserVo.getStaffSid()); for (SysStaffOrg s : list) { - String orgName = s.getOrgName(); - strings.add(orgName); + String orgSid = s.getOrgSid(); + SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid); +// String orgName = s.getOrgName(); + strings.add(sysOrganization.getName()); } strings.removeAll(Collections.singleton(null)); if (!strings.isEmpty()) { diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CrmCustomerFileDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CrmCustomerFileDto.java index cc77d47b2c..c93c5f7d0a 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CrmCustomerFileDto.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CrmCustomerFileDto.java @@ -60,13 +60,13 @@ public class CrmCustomerFileDto implements Dto { /*@ApiModelProperty("客户sid") private String customerSid;*/ - @ApiModelProperty("合同附件") +/* @ApiModelProperty("合同附件") private String appdixUrl; @ApiModelProperty("现场签署图片附件") private String sceneSignUrl; @ApiModelProperty("身份证图片") - private String idImagesUrl; + private String idImagesUrl;*/ }