Commit 98b1ad59 by wenyang

经纪人签署联合销售接口(多人联合签名,数据动态展示PDF中)

parent b34cd92c
......@@ -36,6 +36,7 @@ import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailRequestVO;
import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailResponseVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRequestVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO;
import com.yd.api.practitioner.vo.unionSales.SignUnionSalesRequestVO;
import com.yd.api.result.CommonResultIDResponseVO;
import com.yd.api.result.IDRequestVO;
import com.yd.api.result.JsonResult;
......@@ -741,4 +742,19 @@ public class PractitionerController {
result.setData(responseVO);
return result;
}
/**
* 经纪人联合销售签名
* @param SignUnionSalesRequestVO
* @return CommonResultIDResponseVO
* @author Yan Wenyang
*/
@RequestMapping("/signUnionSales")
public Object signUnionSales(@RequestBody SignUnionSalesRequestVO requestVO) {
JsonResult result = new JsonResult();
CommonResultIDResponseVO responseVO = practitionerService.signUnionSales(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
}
......@@ -18,6 +18,7 @@ import com.yd.api.practitioner.vo.salestarget.*;
import com.yd.api.practitioner.vo.setting.*;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRequestVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO;
import com.yd.api.practitioner.vo.unionSales.SignUnionSalesRequestVO;
import com.yd.api.result.CommonResultIDResponseVO;
import com.yd.api.result.IDRequestVO;
import com.yd.dal.entity.customer.AgPoInformed;
......@@ -265,4 +266,12 @@ public interface PractitionerService {
CommonResultIDResponseVO signCommitment(SignCommitmentRequestVO requestVO);
QueryCommitmentByPractitionerIdResponseVO queryCommitmentByPractitionerId(PractitionerIdRequestVO requestVO);
/**
* 经纪人联合销售签名
* @param SignUnionSalesRequestVO
* @return CommonResultIDResponseVO
* @author Yan Wenyang
*/
CommonResultIDResponseVO signUnionSales(SignUnionSalesRequestVO requestVO);
}
package com.yd.api.practitioner.vo.unionSales;
import lombok.Data;
@Data
public class SignUnionSalesRequestVO {
private Long unionSalesPractitionerId;//联合销售经纪人ID【必填】
private Long unionSalesId;//联合销售ID【必填】
private String imgStr;//签署图片【必填】
private Long practitionerId;//经纪人ID【必填】
private String practitionerName;//经纪人名称
}
package com.yd.api.practitioner.vo.unionSales;
public class UnionSalesPractitionerInfo {
private Long id;//主键IDPRIauto_increment
private Long unionSalesId;//联合销售ID
private Long practitionerId;//经纪人ID
private String practitionerName;//经纪人名称
private Double commissionRate;//分佣比例
private Double achievementsRate;//业绩比例
private String signStatus;//签署状态(1:待签署;2:签署中;3:已签署)
private String signDate;//签署日期
private String signUlr;//签署文件
private int signX;//签署位置X
private int signY;//签署位置Y
private String flag;//标识
private String remark;//备注
private Integer isActive;//是否启用(0=No, 1=Yes)
private int signCount;//已签署总数
private String salesSignUlr;//签署文件URl
/**
* @return the id
*/
public Long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(Long id) {
this.id = id;
}
/**
* @return the unionSalesId
*/
public Long getUnionSalesId() {
return unionSalesId;
}
/**
* @param unionSalesId the unionSalesId to set
*/
public void setUnionSalesId(Long unionSalesId) {
this.unionSalesId = unionSalesId;
}
/**
* @return the practitionerId
*/
public Long getPractitionerId() {
return practitionerId;
}
/**
* @param practitionerId the practitionerId to set
*/
public void setPractitionerId(Long practitionerId) {
this.practitionerId = practitionerId;
}
/**
* @return the practitionerName
*/
public String getPractitionerName() {
return practitionerName;
}
/**
* @param practitionerName the practitionerName to set
*/
public void setPractitionerName(String practitionerName) {
this.practitionerName = practitionerName;
}
/**
* @return the commissionRate
*/
public Double getCommissionRate() {
return commissionRate;
}
/**
* @param commissionRate the commissionRate to set
*/
public void setCommissionRate(Double commissionRate) {
this.commissionRate = commissionRate;
}
/**
* @return the achievementsRate
*/
public Double getAchievementsRate() {
return achievementsRate;
}
/**
* @param achievementsRate the achievementsRate to set
*/
public void setAchievementsRate(Double achievementsRate) {
this.achievementsRate = achievementsRate;
}
/**
* @return the signStatus
*/
public String getSignStatus() {
return signStatus;
}
/**
* @param signStatus the signStatus to set
*/
public void setSignStatus(String signStatus) {
this.signStatus = signStatus;
}
/**
* @return the signDate
*/
public String getSignDate() {
return signDate;
}
/**
* @param signDate the signDate to set
*/
public void setSignDate(String signDate) {
this.signDate = signDate;
}
/**
* @return the signUlr
*/
public String getSignUlr() {
return signUlr;
}
/**
* @param signUlr the signUlr to set
*/
public void setSignUlr(String signUlr) {
this.signUlr = signUlr;
}
/**
* @return the flag
*/
public String getFlag() {
return flag;
}
/**
* @param flag the flag to set
*/
public void setFlag(String flag) {
this.flag = flag;
}
/**
* @return the remark
*/
public String getRemark() {
return remark;
}
/**
* @param remark the remark to set
*/
public void setRemark(String remark) {
this.remark = remark;
}
/**
* @return the isActive
*/
public Integer getIsActive() {
return isActive;
}
/**
* @param isActive the isActive to set
*/
public void setIsActive(Integer isActive) {
this.isActive = isActive;
}
/**
* @return the signCount
*/
public int getSignCount() {
return signCount;
}
/**
* @param signCount the signCount to set
*/
public void setSignCount(int signCount) {
this.signCount = signCount;
}
/**
* @return the salesSignUlr
*/
public String getSalesSignUlr() {
return salesSignUlr;
}
/**
* @param salesSignUlr the salesSignUlr to set
*/
public void setSalesSignUlr(String salesSignUlr) {
this.salesSignUlr = salesSignUlr;
}
/**
* @return the signX
*/
public int getSignX() {
return signX;
}
/**
* @param signX the signX to set
*/
public void setSignX(int signX) {
this.signX = signX;
}
/**
* @return the signY
*/
public int getSignY() {
return signY;
}
/**
* @param signY the signY to set
*/
public void setSignY(int signY) {
this.signY = signY;
}
}
package com.yd.dal.mapper.customer;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;import com.yd.api.practitioner.vo.subordinate.TeamMemberDetail;import com.yd.dal.entity.customer.AclPractitioner;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.api.practitioner.vo.subordinate.TeamMemberDetail;
import com.yd.api.practitioner.vo.unionSales.UnionSalesPractitionerInfo;
import com.yd.dal.entity.customer.AclPractitioner;
import java.util.List;
import com.yd.dal.entity.customer.practitioner.PractitionerBasicInfo;import com.yd.dal.entity.customer.practitioner.PractitionerInfo;import com.yd.dal.entity.customer.practitioner.PractitionerRankInfo;import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo;import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;import com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo;import org.apache.ibatis.annotations.Param;
......@@ -98,4 +101,36 @@ public interface AclPractitionerMapper {
public List<TeamMemberDetail> queryTeamMemberDetailRaiseList(List<Long> practitionerIdList);
public AclPractitioner findPractitionerByRaise(Long practitionerId);
}
/**
* 通过联合销售ID查询联合销售经纪人信息列表
* @param unionSalesId 联合销售ID
* @param unionSalesPractitionerId 联合销售经纪人ID
* @return List<UnionSalesPractitionerInfo> 业务对象列表
* @author Yan Wenyang
*/
List<UnionSalesPractitionerInfo> findUnionSalesPractitionerByUnionSalesId(@Param("unionSalesId")Long unionSalesId, @Param("unionSalesPractitionerId")Long unionSalesPractitionerId);
/**
* 更新联合销售经纪人信息
* @param unionSalesPractitionerId 联合销售经纪人ID
* @param ossPathImg 签署图片
* @param singX 签署位置X
* @param singY 签署位置Y
* @param signStatus 签署状态
* @return void
* @author Yan Wenyang
*/
void updateUnionSalesPractitioner(@Param("unionSalesPractitionerId")Long unionSalesPractitionerId, @Param("ossPathImg")String ossPathImg, @Param("singX")int singX, @Param("singY")int singY, @Param("signStatus")String signStatus);
/**
* 更新联合销售信息
* @param unionSalesId 联合销售ID
* @param ossPath 签署文件
* @param signStatus 签署状态
* @return void
* @author Yan Wenyang
*/
void updateUnionSales(@Param("unionSalesId")Long unionSalesId, @Param("ossPath")String ossPath, @Param("signStatus")String signStatus);
}
......@@ -2,6 +2,7 @@ package com.yd.dal.service.customer;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.api.practitioner.vo.subordinate.TeamMemberDetail;
import com.yd.api.practitioner.vo.unionSales.UnionSalesPractitionerInfo;
import com.yd.dal.entity.customer.AclCustomer;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo;
......@@ -229,4 +230,35 @@ public interface AclPractitionerDALService {
* @return
*/
AclPractitioner findPractitionerByRaise(Long practitionerId);
/**
* 通过联合销售ID查询联合销售经纪人信息列表
* @param unionSalesId 联合销售ID
* @param unionSalesPractitionerId 联合销售经纪人ID
* @return List<UnionSalesPractitionerInfo> 业务对象列表
* @author Yan Wenyang
*/
List<UnionSalesPractitionerInfo> findUnionSalesPractitionerByUnionSalesId(Long unionSalesId, Long unionSalesPractitionerId);
/**
* 更新联合销售经纪人信息
* @param unionSalesPractitionerId 联合销售经纪人ID
* @param ossPathImg 签署图片
* @param singX 签署位置X
* @param singY 签署位置Y
* @param signStatus 签署状态
* @return void
* @author Yan Wenyang
*/
void updateUnionSalesPractitioner(Long unionSalesPractitionerId, String ossPathImg, int singX, int singY, String signStatus);
/**
* 更新联合销售信息
* @param unionSalesId 联合销售ID
* @param ossPath 签署文件
* @param signStatus 签署状态
* @return void
* @author Yan Wenyang
*/
void updateUnionSales(Long unionSalesId, String ossPath, String signStatus);
}
......@@ -4,6 +4,7 @@ import com.google.common.base.Strings;
import com.yd.api.practitioner.service.PractitionerService;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.api.practitioner.vo.subordinate.TeamMemberDetail;
import com.yd.api.practitioner.vo.unionSales.UnionSalesPractitionerInfo;
import com.yd.dal.entity.customer.AclCustomer;
import com.yd.dal.entity.customer.AclPractitionerSubordinateSystem;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
......@@ -336,4 +337,45 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
public AclPractitioner findPractitionerByRaise(Long practitionerId) {
return aclPractitionerMapper.findPractitionerByRaise(practitionerId);
}
/**
* 通过联合销售ID查询联合销售经纪人信息列表
* @param unionSalesId 联合销售ID
* @param unionSalesPractitionerId 联合销售经纪人ID
* @return List<UnionSalesPractitionerInfo> 业务对象列表
* @author Yan Wenyang
*/
@Override
public List<UnionSalesPractitionerInfo> findUnionSalesPractitionerByUnionSalesId(Long unionSalesId, Long unionSalesPractitionerId){
return aclPractitionerMapper.findUnionSalesPractitionerByUnionSalesId(unionSalesId, unionSalesPractitionerId);
}
/**
* 更新联合销售经纪人信息
* @param unionSalesPractitionerId 联合销售经纪人ID
* @param ossPathImg 签署图片
* @param singX 签署位置X
* @param singY 签署位置Y
* @param signStatus 签署状态
* @return void
* @author Yan Wenyang
*/
@Override
public void updateUnionSalesPractitioner(Long unionSalesPractitionerId, String ossPathImg, int singX, int singY, String signStatus){
aclPractitionerMapper.updateUnionSalesPractitioner(unionSalesPractitionerId, ossPathImg, singX, singY, signStatus);
}
/**
* 更新联合销售信息
* @param unionSalesId 联合销售ID
* @param ossPath 签署文件
* @param signStatus 签署状态
* @return void
* @author Yan Wenyang
*/
@Override
public void updateUnionSales(Long unionSalesId, String ossPath, String signStatus){
aclPractitionerMapper.updateUnionSales(unionSalesId, ossPath, signStatus);
}
}
......@@ -2016,4 +2016,43 @@
from ag_acl_practitioner
where raise_id = #{practitionerId,jdbcType=BIGINT}
</select>
<select id="findUnionSalesPractitionerByUnionSalesId" resultType="com.yd.api.practitioner.vo.unionSales.UnionSalesPractitionerInfo">
select
t.id as id,
t.union_sales_id as unionSalesId,
t.practitioner_id as practitionerId,
t.practitioner_name as practitionerName,
t.commission_rate as commissionRate,
t.achievements_rate as achievementsRate,
t.sign_status as signStatus,
t.sign_date as signDate,
t.sign_url as signUlr,
t.signX as signX,
t.signY as signY,
t.flag as flag,
t.is_active as isActive,
(select count(a.id) from ag_acl_union_sales_practitioner a where a.is_active = 1 and a.sign_status ='3' and a.union_sales_id = t.union_sales_id) as signCount,
(SELECT us.sign_url FROM ag_acl_union_sales us WHERE us.is_active = 1 AND us.id = t.union_sales_id) AS salesSignUlr
from ag_acl_union_sales_practitioner t where t.is_active = 1 and t.union_sales_id= #{unionSalesId}
</select>
<update id="updateUnionSalesPractitioner">
update ag_acl_union_sales_practitioner
set sign_url = #{ossPathImg},
signX = #{singX},
signY = #{singY},
sign_status = #{signStatus},
sign_date = NOW()
where id = #{unionSalesPractitionerId}
</update>
<update id="updateUnionSales">
update ag_acl_union_sales
set sign_url = #{ossPath},
sign_status = #{signStatus},
sign_date = NOW()
where id = #{unionSalesId}
</update>
</mapper>
......@@ -24,3 +24,6 @@ informed.pdf.temp.path=/opt/tomcat8/conf/ydpdf/informed
#\u7EED\u4FDD\u627F\u8BFA\u4E66\u76EE\u5F55
commitment.pdf.template=/opt/tomcat8/conf/ydpdf/commitment/templateCommitment.pdf
commitment.pdf.temp.path=/opt/tomcat8/conf/ydpdf/commitment
unionSales.pdf.template=/opt/tomcat8/conf/ydpdf/unionSales/templateUnionSalest.pdf
unionSales.pdf.temp.path=/opt/tomcat8/conf/ydpdf/unionSales/
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment