Commit 7a0e60e0 by fudahua

Merge remote-tracking branch 'origin/developer' into developer

parents 584febb4 637a87f4
package com.gic.haoban.manage.api.enums;
/**
* Created by tgs on 2020/2/20.
*/
public enum AuditStatus {
NO_AUDIT(0, "未审核"),
AGREE(1,"已同意"),
REFUSE(2,"已拒绝"),
CANCEL(3,"已取消"),
NOT_NEED_AUDIT(4,"无需审核"),
AUDIT_FAIL(5,"审核失败");
AuditStatus(Integer type, String desc){
this.code = type;
this.desc = desc;
}
private int code;
private String desc;
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}
......@@ -45,7 +45,7 @@ public interface StaffDepartmentRelatedApiService {
public void sendStaffBind(String staffId,String clerkCode,String storeId,int auditStatus,String auditReason);
public void sendClerkAdd (String clerkId,String clerkCode,int auditStatus,String auditReason);
public void sendClerkAdd (String clerkName,String clerkCode,String storeId,int auditStatus,String auditReason);
public void sendClerkDel (String clerkName,String clerkCode,String storeId,int auditStatus,String auditReason);
......
......@@ -25,6 +25,7 @@ import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.dto.StoreDetailDTO;
import com.gic.enterprise.api.dto.StoreVo;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.base.api.common.BasePageInfo;
......@@ -34,6 +35,7 @@ import com.gic.haoban.communicate.api.service.SyncHaobanToGicServiceApi;
import com.gic.haoban.manage.api.dto.AuditDTO;
import com.gic.haoban.manage.api.dto.AuditStaffDTO;
import com.gic.haoban.manage.api.dto.BatchAuditLogDTO;
import com.gic.haoban.manage.api.dto.EnterpriseDetailDTO;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO;
import com.gic.haoban.manage.api.dto.StoreAddressDTO;
......@@ -44,6 +46,7 @@ import com.gic.haoban.manage.api.enums.StoreFieldEnum;
import com.gic.haoban.manage.api.service.AuditApiService;
import com.gic.haoban.manage.api.service.StaffClerkRelationApiService;
import com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.DepartmentMapper;
import com.gic.haoban.manage.service.dao.mapper.StaffMapper;
......@@ -93,7 +96,8 @@ public class AuditApiServiceImpl implements AuditApiService{
private StaffClerkRelationApiService staffClerkRelationApiService;
@Autowired
private ClerkService clerkService;
@Autowired
private WxEnterpriseRelatedApiService wxEnterpriseRelatedApiService;
@Override
public Page<AuditDTO> page(Integer auditType, String search,String wxEnterpriseId,
String enterpriseId,Integer auditStatus,Integer auditFlag, BasePageInfo pageInfo) {
......@@ -102,13 +106,27 @@ public class AuditApiServiceImpl implements AuditApiService{
List<String> staffIds = new ArrayList<>();
List<String> storeIds = new ArrayList<>();
if(StringUtils.isNotEmpty(search)){
List<StoreDTO> list = storeService.searchStoreByCodeOrName(enterpriseId,search);
//获取企业列表
List<String> enterpriseIds = new ArrayList<>();
if(StringUtils.isEmpty(enterpriseId)){
List<EnterpriseDetailDTO> enterprises = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId);
if(CollectionUtil.isNotEmpty(enterprises)){
List<String> searchEnterpriseIds = enterprises.stream().map(s->s.getEnterpriseId()).collect(Collectors.toList());
enterpriseIds.addAll(searchEnterpriseIds);
}
}else{
enterpriseIds.add(enterpriseId);
}
//调gic接口查storeIds
String[] strArray = new String[enterpriseIds.size()];
enterpriseIds.toArray(strArray);
List<StoreVo> list = storeService.queryStoreByName(strArray,search);
if(CollectionUtil.isNotEmpty(list)){
List<String> storeIds1 = list.stream().map(s->s.getStoreId()).collect(Collectors.toList());
storeIds.addAll(storeIds1);
}
//模糊查staffName
List<TabHaobanStaff> staffList = staffMapper.listLikeName(search);
if(CollectionUtil.isNotEmpty(staffList)){
List<String> staffIds2 = staffList.stream().map(s->s.getStaffId()).collect(Collectors.toList());
......@@ -232,7 +250,7 @@ public class AuditApiServiceImpl implements AuditApiService{
if(org.apache.commons.lang.StringUtils.isNotBlank(batchId)){
insertBatchLog( batchId,1, tab);
}
staffDepartmentRelatedApiService.sendClerkAdd(tab.getEnterpriseId(), obj.getClerkCode(), 1, "");
staffDepartmentRelatedApiService.sendClerkAdd(obj.getClerkName(), obj.getClerkCode(),tab.getCommitStoreId(), 1, "");
}
}else if(auditType == AuditType.CLERK_DEL.getCode()){
......@@ -280,7 +298,7 @@ public class AuditApiServiceImpl implements AuditApiService{
staffDepartmentRelatedApiService.sendStaffBind(obj.getStaffId(), obj.getClerkCode(), tab2.getCommitStoreId(), 2, auditReason);
}else if(auditType == AuditType.CLERK_ADD.getCode()) {
AuditStaffDTO obj = JSONObject.parseObject(oldValue,AuditStaffDTO.class);
staffDepartmentRelatedApiService.sendClerkAdd(enterpriseId, obj.getClerkCode(), 2, auditReason);
staffDepartmentRelatedApiService.sendClerkAdd(obj.getClerkName(), obj.getClerkCode(),tab2.getCommitStoreId(), 2, auditReason);
}else if(auditType == AuditType.CLERK_DEL.getCode()) {
AuditStaffDTO obj = JSONObject.parseObject(oldValue,AuditStaffDTO.class);
staffDepartmentRelatedApiService.sendClerkDel(obj.getClerkName(), obj.getClerkCode(),tab2.getCommitStoreId(), 2, auditReason);
......
......@@ -260,21 +260,16 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
//导购新增,,审核记录,,消息发送
@Override
public void sendClerkAdd (String enterpriseId,String clerkCode,int auditStatus,String auditReason){
public void sendClerkAdd (String clerkName,String clerkCode,String storeId,int auditStatus,String auditReason){
//TODO huang 发送店长,门店关联记录列表
ClerkDTO clerk = clerkService.getClerkByClerkCode(enterpriseId, clerkCode);
if(clerk == null){
logger.info("导购不存在,发送消息失败{}",clerkCode);
return ;
}
String messageTitle = "门店导购变更";
String messageContent ="新增导购:"+ clerk.getClerkName()+"("+clerkCode+")";
String messageContent ="新增导购:"+ clerkName+"("+clerkCode+")";
JSONObject jsonObject = new JSONObject();
jsonObject.put("storeId", clerk.getStoreId());
jsonObject.put("storeId", storeId);
String data = jsonObject.toJSONString();
ClerkDTO gicClerk = clerkService.getClerkLeaderByStoreId(clerk.getStoreId());
ClerkDTO gicClerk = clerkService.getClerkLeaderByStoreId(storeId);
if(gicClerk == null){
logger.info("店长不存在,发送消息失败{}",clerk.getStoreId());
logger.info("店长不存在,发送消息失败{}",storeId);
return ;
}
TabHaobanStaffClerkRelation tab = tabHaobanStaffClerkRelationMapper.getOneByClerkId(gicClerk.getClerkId());
......@@ -283,7 +278,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
return ;
}
String pageUrl = this.getPageUrl(AppPageType.STORE_RELATED_RECORD.getCode(), data);
this.sendAuditMessage(tab.getStaffId(), messageTitle, messageContent, pageUrl,auditStatus,"");
this.sendAuditMessage(tab.getStaffId(), messageTitle, messageContent, pageUrl,auditStatus,auditReason);
}
//导购删除,,审核记录,,消息发送
......
......@@ -301,7 +301,7 @@
and audit_status = 0
</if>
<if test = "auditFlag != null and auditFlag != 0">
and audit_status in (1,2,5)
and audit_status in (1,2,4,5)
</if>
<if test = "auditStatus != null">
and audit_status = #{auditStatus,jdbcType=INTEGER}
......@@ -329,7 +329,7 @@
and audit_status = 0
</if>
<if test = "auditFlag != null and auditFlag != 0">
and audit_status in (1,2,5)
and audit_status in (1,2,4,5)
</if>
<if test = "auditStatus != null">
and audit_status = #{auditStatus,jdbcType=INTEGER}
......
......@@ -410,18 +410,35 @@
<include refid="Base_Column_List" />
from tab_haoban_wx_enterprise
where status_flag = 1
<if test="keyword != null and keyword != ''">
and corp_name like CONCAT('%',#{keyword},'%')
</if>
<if test="gicContactFlag != null">
and contact_flag = #{gicContactFlag,jdbcType=INTEGER}
</if>
<if test="enterpriseIds != null and enterpriseIds.size() > 0">
and wx_enterprise_id IN
<foreach collection="enterpriseIds" item="id" index="index" open="(" close=")" separator=",">
#{id,jdbcType=VARCHAR}
</foreach>
</if>
<if test="version != null and version == 2">
<if test="keyword != null and keyword != '' and enterpriseIds != null and enterpriseIds.size() > 0">
and (corp_name like CONCAT('%',#{keyword},'%')
or wx_enterprise_id IN
<foreach collection="enterpriseIds" item="id" index="index" open="(" close=")" separator=",">
#{id,jdbcType=VARCHAR}
</foreach>
)
</if>
<if test="keyword != null and keyword != '' and (enterpriseIds == null or enterpriseIds.size() == 0)">
and (corp_name like CONCAT('%',#{keyword},'%')
</if>
</if>
<if test="version == null or version == ''">
<if test="keyword != null and keyword != ''">
and corp_name like CONCAT('%',#{keyword},'%')
</if>
<if test="enterpriseIds != null and enterpriseIds.size() > 0">
and wx_enterprise_id IN
<foreach collection="enterpriseIds" item="id" index="index" open="(" close=")" separator=",">
#{id,jdbcType=VARCHAR}
</foreach>
</if>
</if>
</select>
<select id="listBycorpId" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
......
......@@ -252,7 +252,7 @@ public class AuditController extends WebBaseController{
audit.setAuditStatus(1);
// ClerkDTO clerkDTO = clerkService.getClerkByClerkCode(enterpriseId, clerkCode);
staffDepartmentRelatedApiService.sendClerkAdd(enterpriseId, clerkCode, auditStatus, auditReason);
staffDepartmentRelatedApiService.sendClerkAdd(clerkName, clerkCode, storeId,auditStatus, auditReason);
}
if(audit.getAuditType() == AuditType.CLERK_DEL.getCode()){
//导购删除
......@@ -268,7 +268,7 @@ public class AuditController extends WebBaseController{
if(audit.getAuditType() == AuditType.CLERK_BIND.getCode()){
staffDepartmentRelatedApiService.sendStaffBind(auditStaffId, clerkCode, storeId, auditStatus, auditReason);
}else if (audit.getAuditType() == AuditType.CLERK_ADD.getCode()){
staffDepartmentRelatedApiService.sendClerkAdd(enterpriseId, clerkCode, auditStatus, auditReason);
staffDepartmentRelatedApiService.sendClerkAdd(clerkName, clerkCode, storeId,auditStatus, auditReason);
}else if (audit.getAuditType() == AuditType.CLERK_DEL.getCode()){
staffDepartmentRelatedApiService.sendClerkDel(clerkName, clerkCode,storeId, auditStatus, auditReason);
}
......
......@@ -46,6 +46,7 @@ import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.enums.AppPageType;
import com.gic.haoban.manage.api.enums.AuditStatus;
import com.gic.haoban.manage.api.enums.AuditType;
import com.gic.haoban.manage.api.service.AuditApiService;
import com.gic.haoban.manage.api.service.AuditSettingApiService;
......@@ -236,7 +237,7 @@ public class ClerkController extends WebBaseController{
audit.setCommitStaffImg(staff.getHeadImg());
audit.setCommitStoreId(storeId);
audit.setCommitStoreName(store.getStoreName());
audit.setAuditStatus(0);
audit.setAuditStatus(AuditStatus.NO_AUDIT.getCode());
audit.setWxEnterpriseId(wxEnterpriseId);
audit.setEnterpriseId(store.getEnterpriseId());
audit.setStatusFlag(1);
......@@ -252,10 +253,39 @@ public class ClerkController extends WebBaseController{
audit.setOldValue(json.toJSONString());
audit.setCommitTime(new Date());
audit.setAuditType(3);
audit.setAuditType(AuditType.CLERK_ADD.getCode());
audit.setRelatedId(clerkCode);
auditApiService.insert(audit);
return resultResponse(HaoBanErrCode.ERR_1);
}else{
//不用审核
StaffDTO staff = staffApiService.selectById(staffDTO.getStaffId());
AuditDTO audit = new AuditDTO();
audit.setCommitStaffName(commitName);
audit.setCommitStaffId(staffDTO.getStaffId());
audit.setCommitStaffImg(staff.getHeadImg());
audit.setCommitStoreId(storeId);
audit.setCommitStoreName(store.getStoreName());
audit.setAuditStatus(AuditStatus.NOT_NEED_AUDIT.getCode());
audit.setWxEnterpriseId(wxEnterpriseId);
audit.setEnterpriseId(store.getEnterpriseId());
audit.setStatusFlag(1);
audit.setAuditName(commitName);
JSONObject json = new JSONObject();
json.put("clerkCode", clerkCode);
json.put("clerkName", staffName);
json.put("headPic", staff.getHeadImg());
json.put("sex", sex);
json.put("postion", postion);
json.put("phoneNumber", phoneNumber);
json.put("nationcode", nationcode);
audit.setOldValue(json.toJSONString());
audit.setCommitTime(new Date());
audit.setAuditType(AuditType.CLERK_ADD.getCode());
audit.setRelatedId(clerkCode);
auditApiService.insert(audit);
}
//只新增gic那边的,不新增好办这边
boolean flag = syncHaobanToGicServiceApi.syncClerkToGicClerkAdd(storeId, clerkCode, sex, staffName, phoneNumber, nationcode, postion);
......@@ -272,15 +302,14 @@ public class ClerkController extends WebBaseController{
if(StringUtils.isAnyBlank(clerkIds)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
com.gic.enterprise.api.dto.StoreDTO store = storeService.getStoreByIdNoStatus(storeId);
//校验手机是否唯一
if (store == null) {
return resultResponse(HaoBanErrCode.ERR_400001);
}
AuditSettingDTO dto = auditSettingApiService.findSettingByWxEnterpriseId(wxEnterpriseId);
if(dto.getClerkChangeFlag() == 1){
//需要审核
com.gic.enterprise.api.dto.StoreDTO store = storeService.getStoreByIdNoStatus(storeId);
//校验手机是否唯一
if (store == null) {
return resultResponse(HaoBanErrCode.ERR_400001);
}
StaffDTO staff = staffApiService.selectById(staffId);
String[] clerkIdArr = clerkIds.split(",");
for (String clerkId : clerkIdArr) {
AuditDTO auditDTO =auditApiService.findByBindRelatedIdAndAuditType(clerkId, AuditType.CLERK_DEL.getCode());
......@@ -293,13 +322,14 @@ public class ClerkController extends WebBaseController{
logger.info("导购不存在",clerkId);
continue;
}
StaffDTO staff = staffApiService.selectById(staffId);
AuditDTO audit = new AuditDTO();
audit.setCommitStaffName(staff.getStaffName());
audit.setCommitStaffId(staffId);
audit.setCommitStaffImg(staff.getHeadImg());
audit.setCommitStoreId(storeId);
audit.setCommitStoreName(store.getStoreName());
audit.setAuditStatus(0);
audit.setAuditStatus(AuditStatus.NO_AUDIT.getCode());
audit.setWxEnterpriseId(wxEnterpriseId);
audit.setEnterpriseId(store.getEnterpriseId());
audit.setStatusFlag(1);
......@@ -311,7 +341,7 @@ public class ClerkController extends WebBaseController{
json.put("clerkName", clerkDTO.getClerkName());
audit.setOldValue(json.toJSONString());
audit.setCommitTime(new Date());
audit.setAuditType(4);
audit.setAuditType(AuditType.CLERK_DEL.getCode());
auditApiService.insert(audit);
}
}else{
......@@ -329,6 +359,29 @@ public class ClerkController extends WebBaseController{
continue;
}
}
StaffDTO staff = staffApiService.selectById(staffId);
AuditDTO audit = new AuditDTO();
audit.setCommitStaffName(staff.getStaffName());
audit.setCommitStaffId(staffId);
audit.setCommitStaffImg(staff.getHeadImg());
audit.setCommitStoreId(storeId);
audit.setCommitStoreName(store.getStoreName());
audit.setAuditStatus(AuditStatus.NOT_NEED_AUDIT.getCode());
audit.setWxEnterpriseId(wxEnterpriseId);
audit.setEnterpriseId(store.getEnterpriseId());
audit.setStatusFlag(1);
audit.setRelatedId(clerkId);
audit.setAuditName(staff.getStaffName());
JSONObject json = new JSONObject();
json.put("clerkId", clerkId);
json.put("clerkCode", clerkDTO.getClerkCode());
json.put("clerkName", clerkDTO.getClerkName());
audit.setOldValue(json.toJSONString());
audit.setCommitTime(new Date());
audit.setAuditType(AuditType.CLERK_DEL.getCode());
auditApiService.insert(audit);
syncHaobanToGicServiceApi.delGicClerk(clerkId);
}
}
......@@ -481,12 +534,13 @@ public class ClerkController extends WebBaseController{
audit.setCommitStaffImg(staff.getHeadImg());
audit.setCommitStoreId(clerk.getStoreId());
audit.setCommitStoreName(store.getStoreName());
audit.setAuditStatus(4);
audit.setAuditStatus(AuditStatus.NOT_NEED_AUDIT.getCode());
audit.setWxEnterpriseId(wxEnterpriseId);
audit.setEnterpriseId(store.getEnterpriseId());
audit.setStatusFlag(1);
audit.setRelatedId(clerkId);
audit.setAuditName(staff.getStaffName());
JSONObject json = new JSONObject();
json.put("clerkId", clerkId);
json.put("clerkCode", clerkCode);
......
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