|
@@ -46,10 +46,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* Description
|
|
@@ -220,6 +217,18 @@ public class SpController extends BaseController {
|
|
|
.clubId(newCmClub.getClubID())
|
|
|
);
|
|
|
MessageUtil.sendMessage(insideMessageMessageModel);
|
|
|
+ insideMessageMessageModel.info(new InsideMessage()
|
|
|
+ .userType(1)
|
|
|
+ .messageType(3)
|
|
|
+ .shopTieredType(6)
|
|
|
+ .userName(serviceProvider.getName())
|
|
|
+ .mobile(serviceProvider.getContractMobile())
|
|
|
+ .clubId(newCmClub.getClubID())
|
|
|
+ );
|
|
|
+ MessageUtil.sendMessage(insideMessageMessageModel);
|
|
|
+ SMSUtils.sendSms(4, newCmClub.getContractMobile(), "【采美365】因公司内部人员调整需要,采美平台已为您更换客户经理。客户经理【" + serviceProvider.getName() + "】,手机号【" + serviceProvider.getContractMobile() + "】。");
|
|
|
+ SMSUtils.sendSms(4, serviceProvider.getContractMobile(), "【采美365】系统已为你分配机构客户,请及时跟进。机构名称【" + newCmClub.getName() + "】,联系人【" + newCmClub.getLinkMan() + "】,手机号【" + newCmClub.getContractMobile() + "】,上一任销售【" + oldServiceprovider.getName() + "】。");
|
|
|
+ SMSUtils.sendSms(4, oldServiceprovider.getContractMobile(), "【采美365】系统已将你的机构客户转移给其他销售人员,你已无权管理该客户。机构名称【" + newCmClub.getName() + "】,联系人【" + newCmClub.getLinkMan() + "】,手机号【" + newCmClub.getContractMobile() + "】,下一任销售【" + serviceProvider.getName() + "】。");
|
|
|
}else {
|
|
|
insideMessageMessageModel.info(new InsideMessage()
|
|
|
.userType(3)
|
|
@@ -232,22 +241,9 @@ public class SpController extends BaseController {
|
|
|
.clubId(newCmClub.getClubID())
|
|
|
);
|
|
|
MessageUtil.sendMessage(insideMessageMessageModel);
|
|
|
+ SMSUtils.sendSms(4, oldServiceprovider.getContractMobile(), "【采美365】系统已将你的机构客户进行回收,你已无权管理该客户。机构名称【" + newCmClub.getName() + "】,联系人【"+ newCmClub.getLinkMan() +"】,手机号【"+ newCmClub.getContractMobile() +"】。");
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- insideMessageMessageModel.info(new InsideMessage()
|
|
|
- .userType(1)
|
|
|
- .messageType(3)
|
|
|
- .shopTieredType(6)
|
|
|
- .userName(serviceProvider.getName())
|
|
|
- .mobile(serviceProvider.getContractMobile())
|
|
|
- .clubId(newCmClub.getClubID())
|
|
|
- );
|
|
|
- MessageUtil.sendMessage(insideMessageMessageModel);
|
|
|
-
|
|
|
- SMSUtils.sendSms(4, serviceProvider.getContractMobile(), "【采美365】系统已为你分配机构客户,请及时跟进。机构名称【" + newCmClub.getName() + "】,联系人【" + newCmClub.getLinkMan() + "】,手机号【" + newCmClub.getContractMobile() + "】,上一任销售【" + oldServiceprovider.getName() + "】。");
|
|
|
- SMSUtils.sendSms(4, newCmClub.getContractMobile(), "【采美365】因公司内部人员调整需要,采美平台已为您更换客户经理。客户经理【" + serviceProvider.getName() + "】,手机号【" + serviceProvider.getContractMobile() + "】。");
|
|
|
- SMSUtils.sendSms(4, oldServiceprovider.getContractMobile(), "【采美365】系统已将你的机构客户转移给其他销售人员,你已无权管理该客户。机构名称【" + newCmClub.getName() + "】,联系人【" + newCmClub.getLinkMan() + "】,手机号【" + newCmClub.getContractMobile() + "】,下一任销售【" + serviceProvider.getName() + "】。");
|
|
|
}
|
|
|
} else {
|
|
|
map.put("success", false);
|
|
@@ -332,11 +328,22 @@ public class SpController extends BaseController {
|
|
|
public String cmSpLivelyClubList(NewCmSp newCmSp, HttpServletRequest request, HttpServletResponse response, Model model) {
|
|
|
newCmSp.setStatus(90);
|
|
|
Page<NewCmSp> page = cmSpService.findPage(new Page<NewCmSp>(request, response), newCmSp);
|
|
|
+ page.getList().forEach(s->{
|
|
|
+ Map<String, Object> spUserLoginSum = cmSpService.findSpUserLoginSum(s.getServiceProviderID().toString());
|
|
|
+ Integer loginSum = Integer.valueOf(spUserLoginSum.get("loginSum").toString());
|
|
|
+ Integer not_loginSum = Integer.valueOf(spUserLoginSum.get("not_loginSum").toString());
|
|
|
+ // 机构活跃与不活跃占比计算方法,例如:机构活跃数/机构活跃数+机构不活跃数(60/(60+30)=0.666...),保留小数点后2位,四舍五入,0.67;
|
|
|
+ BigDecimal livelyClubProportion = new BigDecimal((loginSum + not_loginSum) != 0 ?(double) loginSum / (loginSum + not_loginSum) * 100 : 0).setScale(2, RoundingMode.UP);
|
|
|
+ s.setLivelyClub(loginSum);
|
|
|
+ s.setNolivelyClub(not_loginSum);
|
|
|
+ s.setLivelyClubProportion(livelyClubProportion);
|
|
|
+ s.setNolivelyClubProportion(MathUtil.sub(100, livelyClubProportion).setScale(2));
|
|
|
+ });
|
|
|
Map<String, Object> spUserLoginSum = cmSpService.findSpUserLoginSum(null);
|
|
|
Integer loginSum = Integer.valueOf(spUserLoginSum.get("loginSum").toString());
|
|
|
Integer not_loginSum = Integer.valueOf(spUserLoginSum.get("not_loginSum").toString());
|
|
|
// 机构活跃与不活跃占比计算方法,例如:机构活跃数/机构活跃数+机构不活跃数(60/(60+30)=0.666...),保留小数点后2位,四舍五入,0.67;
|
|
|
- BigDecimal livelyClubProportion = new BigDecimal((loginSum + not_loginSum) != 0 ? loginSum / (loginSum + not_loginSum) * 100 : 0).setScale(2, RoundingMode.UP);
|
|
|
+ BigDecimal livelyClubProportion = new BigDecimal((loginSum + not_loginSum) != 0 ?(double) loginSum / (loginSum + not_loginSum) * 100 : 0).setScale(2, RoundingMode.UP);
|
|
|
model.addAttribute("livelyClub", loginSum);
|
|
|
model.addAttribute("nolivelyClub", not_loginSum);
|
|
|
model.addAttribute("livelyClubProportion", livelyClubProportion);
|
|
@@ -345,6 +352,8 @@ public class SpController extends BaseController {
|
|
|
return "modules/userNew/cmSpLivelyClubList";
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 功能描述: 机构活跃分析查看详情
|
|
|
*
|
|
@@ -358,21 +367,22 @@ public class SpController extends BaseController {
|
|
|
@RequestMapping(value = {"cmSpLivelyClubFrom"})
|
|
|
public String cmSpLivelyClubFrom(NewCmClub newCmClub, HttpServletRequest request, HttpServletResponse response, Model model) {
|
|
|
if (StringUtils.isBlank(newCmClub.getStartLoginTime())&&StringUtils.isBlank(newCmClub.getEndLoginTime())) {
|
|
|
- Date date = new Date();
|
|
|
- date.setMonth(date.getMonth() - 6);
|
|
|
- newCmClub.setStartLoginTime(new SimpleDateFormat("yyyy-MM-dd").format(date));
|
|
|
- newCmClub.setEndLoginTime(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.add(Calendar.MONTH, -6);
|
|
|
+ newCmClub.setStartLoginTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()));
|
|
|
}
|
|
|
+ newCmClub.setStatus(90);
|
|
|
Page<NewCmClub> page = newCmClubService.findPage(new Page<NewCmClub>(request, response, 20), newCmClub);
|
|
|
Map<String, Object> spUserLoginSum = cmSpService.findSpUserLoginSum(newCmClub.getSpID().toString());
|
|
|
Integer loginSum = Integer.valueOf(spUserLoginSum.get("loginSum").toString());
|
|
|
Integer not_loginSum = Integer.valueOf(spUserLoginSum.get("not_loginSum").toString());
|
|
|
// 机构活跃与不活跃占比计算方法,例如:机构活跃数/机构活跃数+机构不活跃数(60/(60+30)=0.666...),保留小数点后2位,四舍五入,0.67;
|
|
|
- BigDecimal livelyClubProportion = new BigDecimal((loginSum + not_loginSum) != 0 ? loginSum / (loginSum + not_loginSum) * 100 : 0).setScale(2, RoundingMode.UP);
|
|
|
+ BigDecimal livelyClubProportion = new BigDecimal((loginSum + not_loginSum) != 0 ? (double)loginSum / (loginSum + not_loginSum) * 100 : 0).setScale(2, RoundingMode.UP);
|
|
|
model.addAttribute("livelyClub", loginSum);
|
|
|
model.addAttribute("nolivelyClub", not_loginSum);
|
|
|
model.addAttribute("livelyClubProportion", livelyClubProportion);
|
|
|
model.addAttribute("nolivelyClubProportion", MathUtil.sub(100, livelyClubProportion).setScale(2));
|
|
|
+ model.addAttribute("spId", newCmClub.getSpID());
|
|
|
model.addAttribute("page", page);
|
|
|
return "modules/userNew/cmSpLivelyClubFrom";
|
|
|
}
|
|
@@ -442,6 +452,7 @@ public class SpController extends BaseController {
|
|
|
}
|
|
|
NewCmSp cmSp = new NewCmSp();
|
|
|
CmUser cmUser = new CmUser();
|
|
|
+ cmSp.setName(linkMan);
|
|
|
cmSp.setLinkMan(linkMan);
|
|
|
cmSp.setContractMobile(mobile);
|
|
|
if ("1".equals(duty)) {
|
|
@@ -468,6 +479,7 @@ public class SpController extends BaseController {
|
|
|
}
|
|
|
cmUser.setUserOrganizeID(0);
|
|
|
cmUser.setMobile(mobile);
|
|
|
+ cmUser.setBindMobile(mobile);
|
|
|
cmUser.setUserIdentity(UserIdentity.MAKER.getCode());
|
|
|
cmUser.setRegisterTime(DateUtils.getDateTime());
|
|
|
cmUser.setServiceProviderStatus(ServiceProviderStatus.WAIT_CHECK_DATA.getCode() + "");
|
|
@@ -592,8 +604,9 @@ public class SpController extends BaseController {
|
|
|
if ("0".equals(newCmSp.getPosition())) {
|
|
|
cmUser.setRegisterUserTypeID(UserType.SERVICEEMPLOYEE.getCode() + ""); // 设置为协销员工
|
|
|
}
|
|
|
-
|
|
|
+ newCmSp.setName(newCmSp.getLinkMan());
|
|
|
cmUser.setMobile(newCmSp.getContractMobile());
|
|
|
+ cmUser.setBindMobile(newCmSp.getContractMobile());
|
|
|
cmSpService.save(newCmSp);
|
|
|
cmUserService.update(cmUser);
|
|
|
addMessage(redirectAttributes, "保存协销人员管理成功");
|