提交 164d0932 authored 作者: 000516's avatar 000516

回写勤策有效门店的城市经理、省区经理、大区总监、战区、大区,数据来源于经销商客户经理所在的逻辑架构、经销商详

上级 a8834c87
...@@ -15,7 +15,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; ...@@ -15,7 +15,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableRyFeignClients @EnableRyFeignClients
@SpringBootApplication @SpringBootApplication
@MapperScan("com.sfa.job.domain.*.mapper") @MapperScan("com.sfa.job.domain.*.mapper")
//@MapperScan({"com.sfa.job.domain.job.mapper","com.sfa.job.domain.system.mapper","com.sfa.job.domain.order.mapper","com.sfa.job.domain.erp.mapper","com.sfa.job.domain.use.mapper"})
public class SfaJobApplication public class SfaJobApplication
{ {
public static void main(String[] args) { public static void main(String[] args) {
......
package com.sfa.job.domain.feishu.dao;
import com.alibaba.fastjson2.JSONArray;
import com.sfa.job.pojo.feishu.response.QinceMarketEmployeeDto;
import java.util.List;
/**
* @author : liqiulin
* @date : 2025-05-20 16
* @describe :
*/
public interface IQinceMarketEmployeeDao {
void insert(JSONArray jsonArray);
List<QinceMarketEmployeeDto> selectByMd(String dateStr);
}
package com.sfa.job.domain.feishu.dao;
import com.alibaba.fastjson2.JSONArray;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.job.domain.feishu.entity.QinceMarketEmployee;
import com.sfa.job.domain.feishu.mapper.QinceMarketEmployeeMapper;
import com.sfa.job.pojo.feishu.response.QinceMarketEmployeeDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @author : liqiulin
* @date : 2025-05-20 16
* @describe :
*/
@DS("promotion")
@Service
public class QinceMarketEmployeeDaoImpl implements IQinceMarketEmployeeDao{
@Autowired
QinceMarketEmployeeMapper qinceMarketEmployeeMapper;
@Override
public void insert(JSONArray jsonArray) {
// jsonArray = 大区总监工号 大区总监姓名 省区经理工号 省区经理姓名 城市经理工号 城市经理姓名
String dqEmpNo = jsonArray.getString(0);
String dqEmpName = jsonArray.getString(1);
String zqEmpNo = jsonArray.getString(2);
String zqEmpName = jsonArray.getString(3);
String csEmpNo = jsonArray.getString(4);
String csEmpName = jsonArray.getString(5);
List<QinceMarketEmployee> dos = new ArrayList<>();
if (!Objects.isNull(dqEmpNo)) {
QinceMarketEmployee dqDo = new QinceMarketEmployee().setEmpNo(dqEmpNo).setEmpName(dqEmpName)
.setDqEmpNo(dqEmpNo).setDqEmpName(dqEmpName);
dos.add(dqDo);
}
if (!Objects.isNull(zqEmpNo)){
QinceMarketEmployee zqDo = new QinceMarketEmployee().setEmpNo(zqEmpNo).setEmpName(zqEmpName)
.setZqEmpNo(zqEmpNo).setZqEmpName(zqEmpName).setDqEmpNo(dqEmpNo).setDqEmpName(dqEmpName);
dos.add(zqDo);
}
if (!Objects.isNull(csEmpNo)) {
QinceMarketEmployee csDo = new QinceMarketEmployee().setEmpNo(csEmpNo).setEmpName(csEmpName)
.setCsEmpNo(csEmpNo).setCsEmpName(csEmpName).setZqEmpNo(zqEmpNo).setZqEmpName(zqEmpName).setDqEmpNo(dqEmpNo).setDqEmpName(dqEmpName);
dos.add(csDo);
}
if (CollectionUtils.isEmpty(dos)){
return;
}
qinceMarketEmployeeMapper.batchInsert(dos);
}
@Override
public List<QinceMarketEmployeeDto> selectByMd(String dateStr) {
List<QinceMarketEmployee> dos = qinceMarketEmployeeMapper.selectByMd(dateStr);
return BeanUtils.transitionDtos(dos, QinceMarketEmployeeDto.class);
}
}
package com.sfa.job.domain.feishu.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 勤策-区域销售人员架构表,来源:https://wangxiaolu.feishu.cn/sheets/I076slXhlhY2RdtDetEc17ornYd?sheet=49e4ba
* @TableName qince_market_employee
*/
@Accessors(chain = true)
@TableName(value ="qince_market_employee")
@Data
public class QinceMarketEmployee implements Serializable {
/**
* 主键id
*/
@TableId(type = IdType.AUTO)
private Integer id;
/**
* 大区总监
*/
private String dqEmpNo;
/**
* 大区总监
*/
private String dqEmpName;
/**
* 战区负责人
*/
private String zqEmpNo;
/**
* 战区负责人
*/
private String zqEmpName;
/**
* 城市经理
*/
private String csEmpNo;
/**
* 城市经理
*/
private String csEmpName;
/**
* 员工
*/
private String empNo;
/**
* 员工
*/
private String empName;
/**
* CP系统修改时间
*/
private Date modifyTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.sfa.job.domain.feishu.mapper;
import com.sfa.job.domain.feishu.entity.QinceMarketEmployee;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author a02200059
* @description 针对表【qince_market_employee(勤策-区域销售人员架构表,来源:https://wangxiaolu.feishu.cn/sheets/I076slXhlhY2RdtDetEc17ornYd?sheet=49e4ba)】的数据库操作Mapper
* @createDate 2025-05-20 16:10:09
* @Entity com.sfa.job.domain.feishu.entity.QinceMarketEmployee
*/
@Repository
public interface QinceMarketEmployeeMapper extends BaseMapper<QinceMarketEmployee> {
void batchInsert(@Param("dos") List<QinceMarketEmployee> dos);
List<QinceMarketEmployee> selectByMd(String dateStr);
}
...@@ -15,4 +15,6 @@ public interface IQinceDealerDao { ...@@ -15,4 +15,6 @@ public interface IQinceDealerDao {
List<QinceDealerDto> getPushQinceDealers(); List<QinceDealerDto> getPushQinceDealers();
List<QinceDealerDto> findModifyList(String dateStr); List<QinceDealerDto> findModifyList(String dateStr);
List<QinceDealerDto> findListByManagerCode(String empNo);
} }
...@@ -35,4 +35,10 @@ public class QinceDealerDaoImpl implements IQinceDealerDao{ ...@@ -35,4 +35,10 @@ public class QinceDealerDaoImpl implements IQinceDealerDao{
List<QinceDealer> qinceDealers = qinceDealerMapper.findModifyList(dateStr); List<QinceDealer> qinceDealers = qinceDealerMapper.findModifyList(dateStr);
return BeanUtils.transitionDtos(qinceDealers, QinceDealerDto.class); return BeanUtils.transitionDtos(qinceDealers, QinceDealerDto.class);
} }
@Override
public List<QinceDealerDto> findListByManagerCode(String empNo) {
List<QinceDealer> qinceDealers = qinceDealerMapper.findListByManagerCode(empNo);
return BeanUtils.transitionDtos(qinceDealers, QinceDealerDto.class);
}
} }
...@@ -20,6 +20,8 @@ public interface QinceDealerMapper extends BaseMapper<QinceDealer> { ...@@ -20,6 +20,8 @@ public interface QinceDealerMapper extends BaseMapper<QinceDealer> {
List<QinceDealer> pushQinceDealers(String today); List<QinceDealer> pushQinceDealers(String today);
List<QinceDealer> findModifyList(String dateStr); List<QinceDealer> findModifyList(String dateStr);
List<QinceDealer> findListByManagerCode(String empNo);
} }
......
package com.sfa.job.pojo.feishu.response;
import lombok.Data;
import lombok.experimental.Accessors;
@Accessors(chain = true)
@Data
public class QinceMarketEmployeeDto{
/**
* 大区总监
*/
private String dqEmpNo;
/**
* 大区总监
*/
private String dqEmpName;
/**
* 战区负责人
*/
private String zqEmpNo;
/**
* 战区负责人
*/
private String zqEmpName;
/**
* 城市经理
*/
private String csEmpNo;
/**
* 城市经理
*/
private String csEmpName;
/**
* 员工
*/
private String empNo;
/**
* 员工
*/
private String empName;
}
\ No newline at end of file
...@@ -46,7 +46,6 @@ public class ErpAxmr005ServiceImpl implements ErpAxmr005Service { ...@@ -46,7 +46,6 @@ public class ErpAxmr005ServiceImpl implements ErpAxmr005Service {
for (int i = 0; i < zhanquDataset.size(); i+=batchSize) { for (int i = 0; i < zhanquDataset.size(); i+=batchSize) {
// 计算当前批次的结束位置 // 计算当前批次的结束位置
int end = Math.min(i + batchSize, zhanquDataset.size()); int end = Math.min(i + batchSize, zhanquDataset.size());
System.out.println(end);
List<Object> batch = zhanquDataset.subList(i, end); List<Object> batch = zhanquDataset.subList(i, end);
feiShuUtil.pushSetToSheet(range,batch,recordDto.getSheetToken(),tenantAccessToken); feiShuUtil.pushSetToSheet(range,batch,recordDto.getSheetToken(),tenantAccessToken);
} }
......
...@@ -2,6 +2,7 @@ package com.sfa.job.service.feishu; ...@@ -2,6 +2,7 @@ package com.sfa.job.service.feishu;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.sfa.job.domain.feishu.dao.IQinceMarketEmployeeDao;
import com.sfa.job.domain.use.dao.IFeishuSheetRecordDao; import com.sfa.job.domain.use.dao.IFeishuSheetRecordDao;
import com.sfa.job.enums.FSRecordEnum; import com.sfa.job.enums.FSRecordEnum;
import com.sfa.job.pojo.response.FeishuSheetRecordDto; import com.sfa.job.pojo.response.FeishuSheetRecordDto;
...@@ -22,24 +23,22 @@ public class PullSheetServiceImpl implements IPullSheetService{ ...@@ -22,24 +23,22 @@ public class PullSheetServiceImpl implements IPullSheetService{
@Autowired @Autowired
private IFeishuSheetRecordDao feishushetRecordDao; private IFeishuSheetRecordDao feishushetRecordDao;
@Autowired @Autowired
private IQinceMarketEmployeeDao qinceMarketEmployeeDao;
@Autowired
private FeiShuUtil feiShuUtil; private FeiShuUtil feiShuUtil;
/** /**
* 拉取表格 - 勤策门店的城市经理、省区经理、大区总监 * 拉取表格 - 勤策门店的城市经理、省区经理、大区总监
* https://wangxiaolu.feishu.cn/sheets/I076slXhlhY2RdtDetEc17ornYd?sheet=49e4ba
*/ */
@Override @Override
public void qinceSotreManage() { public void qinceSotreManage() {
FeishuSheetRecordDto recordDto = feishushetRecordDao.selectOne(FSRecordEnum.XS_USER_RELATION.getType()); FeishuSheetRecordDto recordDto = feishushetRecordDao.selectOne(FSRecordEnum.XS_USER_RELATION.getType());
JSONObject jsonObject = feiShuUtil.pullSheetOneRange(recordDto.getSheetToken(), feiShuUtil.getBotToken1(), recordDto.getRanges()); JSONObject jsonObject = feiShuUtil.pullSheetOneRange(recordDto.getSheetToken(), feiShuUtil.getBotToken1(), recordDto.getRanges());
JSONArray values = jsonObject.getJSONArray("values"); JSONArray values = jsonObject.getJSONArray("values");
// 创建逻辑构架人员关系表
// 创建逻辑构架人员关系对象
// 遍历values数组,获取每个对象的values数组
values.forEach(item -> {
JSONArray jsonArray = (JSONArray) item;
}); for (int i = 0; i < values.size(); i++) {
JSONArray jsonArray = values.getJSONArray(i);
qinceMarketEmployeeDao.insert(jsonArray);
}
} }
} }
...@@ -4,8 +4,10 @@ import cn.hutool.core.date.DatePattern; ...@@ -4,8 +4,10 @@ import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.sfa.job.domain.feishu.dao.IQinceMarketEmployeeDao;
import com.sfa.job.domain.qince.dao.IQinceClienteleStoreDao; import com.sfa.job.domain.qince.dao.IQinceClienteleStoreDao;
import com.sfa.job.domain.qince.dao.IQinceDealerDao; import com.sfa.job.domain.qince.dao.IQinceDealerDao;
import com.sfa.job.pojo.feishu.response.QinceMarketEmployeeDto;
import com.sfa.job.pojo.qince.response.QinceClienteleStoreDto; import com.sfa.job.pojo.qince.response.QinceClienteleStoreDto;
import com.sfa.job.pojo.qince.response.QinceDealerDto; import com.sfa.job.pojo.qince.response.QinceDealerDto;
import com.sfa.job.service.qince.IQinceDealerQueryService; import com.sfa.job.service.qince.IQinceDealerQueryService;
...@@ -31,6 +33,8 @@ public class QinceDealerQueryServiceImpl implements IQinceDealerQueryService { ...@@ -31,6 +33,8 @@ public class QinceDealerQueryServiceImpl implements IQinceDealerQueryService {
@Autowired @Autowired
private IQinceClienteleStoreDao qinceClienteleStoreDao; private IQinceClienteleStoreDao qinceClienteleStoreDao;
@Autowired @Autowired
private IQinceMarketEmployeeDao qinceMarketEmployeeDao;
@Autowired
private QinCeUtils qinCeUtils; private QinCeUtils qinCeUtils;
@Override @Override
...@@ -81,7 +85,6 @@ public class QinceDealerQueryServiceImpl implements IQinceDealerQueryService { ...@@ -81,7 +85,6 @@ public class QinceDealerQueryServiceImpl implements IQinceDealerQueryService {
Map<String, Object> params = qinCeUtils.queryCusVisitRecordParams(queryDate); Map<String, Object> params = qinCeUtils.queryCusVisitRecordParams(queryDate);
String url = qinCeUtils.builderUrl(QinCeUtils.QUERY_CUS_VISIT_RECORD, params); String url = qinCeUtils.builderUrl(QinCeUtils.QUERY_CUS_VISIT_RECORD, params);
JSONArray recordsJson = qinCeUtils.postArray(url, params); JSONArray recordsJson = qinCeUtils.postArray(url, params);
System.out.println(recordsJson);
} catch (Exception e) { } catch (Exception e) {
log.error("查询城市经理客户拜访失败:{}", e.getMessage()); log.error("查询城市经理客户拜访失败:{}", e.getMessage());
} }
...@@ -90,37 +93,43 @@ public class QinceDealerQueryServiceImpl implements IQinceDealerQueryService { ...@@ -90,37 +93,43 @@ public class QinceDealerQueryServiceImpl implements IQinceDealerQueryService {
@Override @Override
public void updateQinceStore() { public void updateQinceStore() {
// 第一步:查询有变动的人员信息:营销中心-逻辑组织架构表
// 第二步:根据每个人员信息,查询出所负责的经销商
// 第三步:根据每家经销商,查询出归属的有效门店
// 第四步:更新每家门店信息:大区、战区取经销商的;城市经理、战区经理、大区总监取人员架构表的
String dateStr = DateUtil.today(); String dateStr = DateUtil.today();
List<QinceDealerDto> dealers = qinceDealerDao.findModifyList(dateStr); List<QinceMarketEmployeeDto> empDtos = qinceMarketEmployeeDao.selectByMd(dateStr);
for (QinceDealerDto dealer : dealers) { for (QinceMarketEmployeeDto empDto : empDtos) {
List<QinceClienteleStoreDto> storeDtoList = qinceClienteleStoreDao.findListByDealerId(dealer.getDealerId());
// 查询客户经理的上级、上上级 List<QinceDealerDto> dealers = qinceDealerDao.findListByManagerCode(empDto.getEmpNo());
String managerCode = dealer.getDealerManagerCode(); for (QinceDealerDto dealer : dealers) {
List<QinceClienteleStoreDto> storeDtoList = qinceClienteleStoreDao.findListByDealerId(dealer.getDealerId());
QinceClienteleStoreDto storeInfo = new QinceClienteleStoreDto(dealer.getDealerManager(),"",""); pushQinceStoreInfo(storeDtoList, dealer,empDto);
pushQinceStoreInfo(storeDtoList,storeInfo); }
break;
} }
} }
private void pushQinceStoreInfo(List<QinceClienteleStoreDto> storeDtoList,QinceClienteleStoreDto storeInfo) { private void pushQinceStoreInfo(List<QinceClienteleStoreDto> storeDtoList,QinceDealerDto dealer,QinceMarketEmployeeDto empDto) {
for (QinceClienteleStoreDto storeDto : storeDtoList) { for (QinceClienteleStoreDto storeDto : storeDtoList) {
Map<String, Object> params = new HashMap<>();
try { try {
System.out.println(storeDto.getQcId() + " ---- " + storeDto.getStoreName());
Map<String, Object> params = new HashMap<>();
params.put("store_waiqin_id", storeDto.getQcId()); params.put("store_waiqin_id", storeDto.getQcId());
params.put("store_name", storeDto.getStoreName()); params.put("store_name", storeDto.getStoreName());
List<Map<String, String>> exts = new ArrayList<>(); List<Map<String, String>> exts = new ArrayList<>();
exts.add(Maps.of("store_ext_key", "城市经理", "store_ext_value", storeInfo.getManagerName())); exts.add(Maps.of("store_ext_key", "城市经理", "store_ext_value", empDto.getCsEmpName()));
exts.add(Maps.of("store_ext_key", "战区经理", "store_ext_value", "")); exts.add(Maps.of("store_ext_key", "战区经理", "store_ext_value", empDto.getZqEmpName()));
exts.add(Maps.of("store_ext_key", "大区总监", "store_ext_value", "")); exts.add(Maps.of("store_ext_key", "大区总监", "store_ext_value", empDto.getDqEmpName()));
exts.add(Maps.of("store_ext_key", "大区", "store_ext_value", dealer.getDqOrgName()));
exts.add(Maps.of("store_ext_key", "战区", "store_ext_value", dealer.getZqOrgName()));
params.put("exts", exts); params.put("exts", exts);
// String url = qinCeUtils.builderUrl(QinCeUtils.MODIFY_STORE, params);
// JSONObject jsonObject = qinCeUtils.postQC(url, params); String url = qinCeUtils.builderUrl(QinCeUtils.MODIFY_STORE, params);
}catch (Exception e) { qinCeUtils.postQC(url, params);
log.error("更新勤策门店失败:{}", e.getMessage()); } catch (Exception e) {
log.error("勤策门店更新失败:{}\n{}", JSONObject.toJSONString(params), e.getMessage());
} }
break;
} }
} }
} }
...@@ -113,7 +113,6 @@ public class FeiShuUtil { ...@@ -113,7 +113,6 @@ public class FeiShuUtil {
params.put("ranges", ranges); params.put("ranges", ranges);
String result = HttpUtil.createGet(SHEET_URL + sheetToken + VALUES_BATCH_GET).form(params).auth("Bearer " + autoToken).contentType(CONTENT_TYPE).execute().body(); String result = HttpUtil.createGet(SHEET_URL + sheetToken + VALUES_BATCH_GET).form(params).auth("Bearer " + autoToken).contentType(CONTENT_TYPE).execute().body();
JSONObject resultJson = JSONObject.parseObject(result); JSONObject resultJson = JSONObject.parseObject(result);
System.out.println(resultJson);
int code = resultJson.getInteger("code"); int code = resultJson.getInteger("code");
if (code != 0) { if (code != 0) {
throw new RuntimeException("获取飞书表格范围数据错误:"+resultJson.getString("msg")); throw new RuntimeException("获取飞书表格范围数据错误:"+resultJson.getString("msg"));
......
...@@ -65,7 +65,6 @@ public class QinCeUtils { ...@@ -65,7 +65,6 @@ public class QinCeUtils {
JSONObject resultJson = JSONObject.parseObject(requestBody); JSONObject resultJson = JSONObject.parseObject(requestBody);
String returnCode = resultJson.getString("return_code"); String returnCode = resultJson.getString("return_code");
if (!"0".equals(returnCode)) { if (!"0".equals(returnCode)) {
log.error("请求错误,返回结果:{}", requestBody);
throw new RuntimeException("OkHttp.post请求error,详情:" + requestBody); throw new RuntimeException("OkHttp.post请求error,详情:" + requestBody);
} }
return resultJson; return resultJson;
......
...@@ -15,9 +15,14 @@ public class PullSheet { ...@@ -15,9 +15,14 @@ public class PullSheet {
@Autowired @Autowired
private IPullSheetService pullSheetService; private IPullSheetService pullSheetService;
@XxlJob("PullSheetSotreManage") /**
* 拉取表格 - 勤策门店的城市经理、省区经理、大区总监
* https://wangxiaolu.feishu.cn/sheets/I076slXhlhY2RdtDetEc17ornYd?sheet=49e4ba
*/
@XxlJob("pull_sheet_store_manage")
public void qinceSotreManage(){ public void qinceSotreManage(){
pullSheetService.qinceSotreManage(); pullSheetService.qinceSotreManage();
} }
} }
...@@ -19,19 +19,23 @@ public class QinceCoreTask { ...@@ -19,19 +19,23 @@ public class QinceCoreTask {
@XxlJob("qince_modify_dealer") @XxlJob("qince_modify_dealer")
public void qinceCoreTask() { public void qinceCoreTask() {
log.info("回写勤策经销商大区、战区信息 start"); log.info("回写勤策-经销商大区、战区信息 start");
qinceCoreService.updateQinceDealerInfo(); qinceCoreService.updateQinceDealerInfo();
log.info("回写勤策经销商大区、战区信息 end"); log.info("回写勤策-经销商大区、战区信息 end");
} }
@XxlJob("qince_modify_store")
public void qinceCoreStore(){ public void qinceCoreStore(){
log.info("回写勤策门店城市经理、战区经理、大区总监 start"); log.info("回写勤策-门店城市经理、战区经理、大区总监 start");
qinceCoreService.updateQinceStore(); qinceCoreService.updateQinceStore();
log.info("回写勤策门店城市经理、战区经理、大区总监 end"); log.info("回写勤策-门店城市经理、战区经理、大区总监 end");
} }
/**
@XxlJob("qince_cus_visit_record") * 暂停开发
*/
// @XxlJob("qince_cus_visit_record")
public void queryCusVisitRecord() { public void queryCusVisitRecord() {
log.info("查询勤策客户拜访记录 start"); log.info("查询勤策客户拜访记录 start");
qinceCoreService.queryCusVisitRecord(); qinceCoreService.queryCusVisitRecord();
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sfa.job.domain.feishu.mapper.QinceMarketEmployeeMapper">
<resultMap id="BaseResultMap" type="com.sfa.job.domain.feishu.entity.QinceMarketEmployee">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="dqEmpNo" column="dq_emp_no" jdbcType="VARCHAR"/>
<result property="dqEmpName" column="dq_emp_name" jdbcType="VARCHAR"/>
<result property="zqEmpNo" column="zq_emp_no" jdbcType="VARCHAR"/>
<result property="zqEmpName" column="zq_emp_name" jdbcType="VARCHAR"/>
<result property="csEmpNo" column="cs_emp_no" jdbcType="VARCHAR"/>
<result property="csEmpName" column="cs_emp_name" jdbcType="VARCHAR"/>
<result property="empNo" column="emp_no" jdbcType="VARCHAR"/>
<result property="empName" column="emp_name" jdbcType="VARCHAR"/>
<result property="modifyTime" column="modify_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,dq_emp_no,dq_emp_name,
zq_emp_no,zq_emp_name,cs_emp_no,
cs_emp_name,emp_no,emp_name,
modify_time
</sql>
<insert id="batchInsert" parameterType="java.util.List">
insert into qince_market_employee (emp_no, emp_name, dq_emp_no, dq_emp_name, zq_emp_no, zq_emp_name, cs_emp_no,
cs_emp_name) values
<foreach collection="dos" item="item" separator=",">
(#{item.empNo},#{item.empName},#{item.dqEmpNo},#{item.dqEmpName},#{item.zqEmpNo},#{item.zqEmpName},#{item.csEmpNo},#{item.csEmpName})
</foreach>
on duplicate key update emp_name = values(emp_name),dq_emp_no = values(dq_emp_no),dq_emp_name =
values(dq_emp_name),zq_emp_no = values(zq_emp_no),zq_emp_name = values(zq_emp_name),cs_emp_no = values(cs_emp_no),cs_emp_name =
values(cs_emp_name)
</insert>
<select id="selectByMd" resultMap="BaseResultMap">
select dq_emp_no,dq_emp_name,
zq_emp_no,zq_emp_name,cs_emp_no,
cs_emp_name,emp_no,emp_name
from qince_market_employee where DATE(modify_time) = #{dateStr}
</select>
</mapper>
...@@ -33,11 +33,10 @@ ...@@ -33,11 +33,10 @@
</resultMap> </resultMap>
<resultMap id="PushQince_2" type="com.sfa.job.domain.qince.entity.QinceDealer"> <resultMap id="PushQince_2" type="com.sfa.job.domain.qince.entity.QinceDealer">
<id property="id" column="id" jdbcType="INTEGER"/> <result property="dqOrgName" column="dq_org_name" jdbcType="VARCHAR"/>
<result property="zqOrgName" column="zq_org_name" jdbcType="VARCHAR"/>
<result property="dealerId" column="dealer_id" jdbcType="VARCHAR"/> <result property="dealerId" column="dealer_id" jdbcType="VARCHAR"/>
<result property="dealerName" column="dealer_name" jdbcType="VARCHAR"/> <result property="dealerName" column="dealer_name" jdbcType="VARCHAR"/>
<result property="dealerManagerCode" column="dealer_manager_code" jdbcType="VARCHAR"/>
<result property="dealerManager" column="dealer_manager" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
...@@ -77,4 +76,12 @@ ...@@ -77,4 +76,12 @@
and dealer_id = '000324' and dealer_id = '000324'
</select> </select>
<select id="findListByManagerCode" resultMap="PushQince">
select dq_org_name, zq_org_name, dealer_id, dealer_name
from qince_dealer
where dealer_type = '经销商'
and dealer_cooperate_status = '1'
and dealer_status = '1'
and dealer_manager_code = #{empNo}
</select>
</mapper> </mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论