Merge remote-tracking branch 'origin/dev' into dev
| | |
| | | |
| | | |
| | | |
| | | var wp = $.trim(strPam).length > 0 ? ("wherePan=" + strPam) : ""; |
| | | let wp = $.trim(strPam).length > 0 ? (strPam) : ""; |
| | | if (ef != undefined && ef != null && ef != "") |
| | | wp = (wp == "") ? "wherePan=" + encodeURI(encodeURI(ef)) : wp + " and " |
| | | wp = (wp == "") ? encodeURI(encodeURI(ef)) : wp + " and " |
| | | + encodeURI(encodeURI(ef)); |
| | | try { |
| | | closeLoading(); |
| | | parent.addTab("", f, t, wp); |
| | | parent.addTab("", f, t, "wherePan=" +encodeURIComponent(wp)); |
| | | } catch (e) { |
| | | closeLoading(); |
| | | showWindow("/app" + spellPath + f + "/" + t + "/index.jsp?" + wp, ""); |
| | | showWindow("/app" + spellPath + f + "/" + t + "/index.jsp?" + "wherePan=" +wp, ""); |
| | | } |
| | | } |
| | | |
| | |
| | | public class AppVersion { |
| | | String android; |
| | | String ios; |
| | | String hmos;//dev |
| | | } |
| | |
| | | CallBackMessage callBackMessage = new CallBackMessage(); |
| | | try { |
| | | SpObserver.setDBtoInstance("_" + request.getSession().getAttribute(SessionKey.DATA_BASE_ID)); |
| | | callBackMessage.setInfo(crmServiceIfc.getBaseInfo(request.getSession().getAttribute(SessionKey.USERCODE) + "")); |
| | | callBackMessage.setInfo(crmServiceIfc.getBaseInfo(request.getSession())); |
| | | callBackMessage.sendSuccessMessageByDefault(); |
| | | return callBackMessage.toJSONObject(); |
| | | } catch (Exception e) { |
| | |
| | | SpObserver.setDBtoInstance(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取系统的邮箱及姓名(用户,客户,线索) |
| | | * |
| | | * @param request |
| | | * @return |
| | | */ |
| | | @RequestMapping("/emailList.do") |
| | | public @ResponseBody Object mailUserInfo(@RequestBody @Nullable Page page, HttpServletRequest request) { |
| | | CallBackMessage callBackMessage = new CallBackMessage(); |
| | | try { |
| | | SpObserver.setDBtoInstance("_" + request.getSession().getAttribute(SessionKey.DATA_BASE_ID)); |
| | | callBackMessage.setInfo(crmServiceIfc.getMailUserInfo(page.getKey())); |
| | | callBackMessage.sendSuccessMessageByDefault(); |
| | | return callBackMessage.toJSONObject(); |
| | | } catch (Exception e) { |
| | | callBackMessage.sendErrorMessage(this.getErrorMsg(e)); |
| | | return callBackMessage.toJSONObject(); |
| | | } finally { |
| | | SpObserver.setDBtoInstance(); |
| | | } |
| | | } |
| | | /** |
| | | * 获取用户,以部门分组树形结构显示 |
| | | * |
| | |
| | | private Integer id; |
| | | private String comment; |
| | | private String attachList; |
| | | private String imageList; |
| | | private String createTime; |
| | | private String senders;//通知人员 |
| | | private String updateTime; |
| | |
| | | private Integer pageCount; |
| | | private Integer enableFlag;//是否可编辑和删除 |
| | | private List<FileEntity> files; |
| | | private List<FileEntity> imageFiles; |
| | | } |
| | |
| | | |
| | | public interface CrmServiceIfc { |
| | | |
| | | Map getBaseInfo(String userCode); |
| | | Map getBaseInfo(HttpSession session); |
| | | |
| | | Object getUserInfo(HttpSession session, Page page); |
| | | |
| | |
| | | void commentDel(Integer id); |
| | | |
| | | List<T482112Entity> listByMonth(String date,String dbi,String formid); |
| | | |
| | | Object getMailUserInfo(String key); |
| | | } |
| | |
| | | import com.yc.exception.ApplicationException; |
| | | import com.yc.service.BaseService; |
| | | import com.yc.utils.DateUtil; |
| | | import com.yc.utils.SessionKey; |
| | | import org.apache.commons.lang3.RandomStringUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | |
| | | @Service |
| | | public class CrmServiceImpl extends BaseService implements CrmServiceIfc { |
| | | @Override |
| | | public Map getBaseInfo(String userCode) { |
| | | public Map getBaseInfo(HttpSession session) { |
| | | String userCode=session.getAttribute(SessionKey.USERCODE).toString(); |
| | | HashMap map = new HashMap(); |
| | | map.put("isAdmin", ("SuperUser".equalsIgnoreCase(session.getAttribute(SessionKey.USERTYPE) + "") || "DeveloperUser".equalsIgnoreCase(session.getAttribute(SessionKey.USERTYPE) + "")) ? 1 : 0); |
| | | //----系统参数 |
| | | List<SysdictEntity> list = this.jdbcTemplate.query("select dictid,interValue as id,dictvalue as name from _sysdict where dictid in(-48013000,-48013001,-48013002,-48013003,-48013004,-48013005,-48013006,-48013007,-48013008,-48013009,-48013010,-48013011,-48013012,-48013013,-48013014,-48013015)\n" + |
| | | "order by dictid desc,sequence\n ", new BeanPropertyRowMapper<>(SysdictEntity.class)); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Object getMailUserInfo(String key) { |
| | | //--取用户 |
| | | String sql = " select ccCode,ccName,userCode,userName,email from _sysuser where email like '%" + key + "%' or userName like '%" + key + "%' \n" + |
| | | "union all\n" + |
| | | //--取联系人(线索,客户) |
| | | " select '' as ccCode,'' as ccName,'' as userCode,name as userName,email from t482103 where email like '%" + key + "%' or name like '%" + key + "%'\n"; |
| | | |
| | | List<UserEntity> query = this.jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(UserEntity.class)); |
| | | return query; |
| | | } |
| | | |
| | | @Override |
| | | public Object getUserInfo(HttpSession session, Page page) { |
| | | // String ccCode = (String) session.getAttribute(SessionKey.CCCODE); |
| | | String where = ""; |
| | | if (page != null && StringUtils.isNotBlank(page.getKey())) { |
| | | |
| | | where = " where email like '%" + page.getKey() + "%' or userName like '%" + page.getKey() + "%'"; |
| | | where = " where ccCode='"+page.getKey()+"' or email like '%" + page.getKey() + "%' or userName like '%" + page.getKey() + "%'"; |
| | | } |
| | | String sql = " select ccCode,ccName,userCode,userName,email from _sysuser " + where + "order by ccCode asc"; |
| | | List<UserEntity> query = this.jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(UserEntity.class)); |
| | |
| | | ",@id int \n" + |
| | | ",@comment varchar(3000) \n" + |
| | | ",@attachList varchar(300) \n" + |
| | | ",@imageList varchar(300) \n" + |
| | | ",@senders varchar(300) \n" + |
| | | ",@createTime datetime\n" + |
| | | ",@updateTime datetime\n" + |
| | |
| | | "@id=" + entity.getId() + ", \n" + |
| | | "@comment=" + GridUtils.prossSqlParm(entity.getComment()) + " ,\n" + |
| | | "@attachList=" + GridUtils.prossSqlParm(entity.getAttachList()) + " ,\n" + |
| | | "@imageList=" + GridUtils.prossSqlParm(entity.getImageList()) + " ,\n" + |
| | | "@senders=" + GridUtils.prossSqlParm(entity.getSenders()) + " ,\n" + |
| | | "@createTime=getdate(),\n" + |
| | | "@updateTime=getdate()\n" + |
| | |
| | | ",refId \n" + |
| | | ",comment \n" + |
| | | ",attachList\n" + |
| | | ",imageList\n" + |
| | | ",senders\n" + |
| | | ",createTime\n" + |
| | | ",updateTime)values(" + |
| | |
| | | ",@refId \n" + |
| | | ",@comment\n" + |
| | | ",@attachList\n" + |
| | | ",@imageList\n" + |
| | | ",@senders\n" + |
| | | ",@createTime\n" + |
| | | ",@updateTime)" + |
| | |
| | | ",refId=@refId \n" + |
| | | ",comment=@comment \n" + |
| | | ",attachList=@attachList\n" + |
| | | ",imageList=@imageList\n" + |
| | | ",senders=@senders\n" + |
| | | ",updateTime=@updateTime where id=@id\n" + |
| | | "end\n"; |
| | |
| | | ",id,refCode,refName \n" + |
| | | ",title \n" + |
| | | ",color \n" + |
| | | ",userCode \n" + |
| | | ",userName \n" + |
| | | ",participant_id\n" + |
| | | ",start_time \n" + |
| | | ",end_time \n" + |
| | |
| | | ",num " + |
| | | ",create_time \n" + |
| | | ",update_time \n" + |
| | | ",pinFlag \n" + |
| | | ",completeFlag \n" + |
| | | ",@TotalRowCount as totalRowCount ,@pageCount as pageCount "; |
| | | |
| | | String sql = "set nocount on ; \n" + |
| | |
| | | " id, \n" + |
| | | "comment, \n" + |
| | | "attachList,\n" + |
| | | "imageList,\n" + |
| | | "convert(varchar(19), createTime,120) as createTime,senders,\n" + |
| | | "convert(varchar(19), updateTime,120) as updateTime" + |
| | | ",case when usercode=@usercode then 1 else 0 end as enableFlag,@TotalRowCount as totalRowCount ,@pageCount as pageCount "; |
| | |
| | | fileStructEntity.setFileStr(x.getAttachList()); |
| | | x.setFiles(Utils.getFileEntities(fileStructEntity)); |
| | | } |
| | | if (StringUtils.isNotBlank(x.getImageList())) { |
| | | FileStructEntity fileStructEntity = new FileStructEntity(); |
| | | fileStructEntity.setDbid(request.getDbid()); |
| | | fileStructEntity.setFormid(request.getFormId() + ""); |
| | | fileStructEntity.setFileStr(x.getImageList()); |
| | | x.setImageFiles(Utils.getFileEntities(fileStructEntity)); |
| | | } |
| | | }); |
| | | Response response = new Response(); |
| | | response.setTotalCount((list != null && list.size() > 0) ? list.get(0).getTotalRowCount() : 0); |
| | |
| | | CallBackMessage callBackMessage = new CallBackMessage(); |
| | | try { |
| | | SpObserver.setDBtoInstance("_" + request.getSession().getAttribute(SessionKey.DATA_BASE_ID)); |
| | | cluesServiceIfc.assign(assignClues); |
| | | cluesServiceIfc.assign(assignClues,request.getSession().getAttribute(SessionKey.USERNAME)+""); |
| | | callBackMessage.sendSuccessMessageByDefault(); |
| | | return callBackMessage.toJSONObject(); |
| | | }catch (Exception e){ |
| | | callBackMessage.sendErrorMessage(this.getErrorMsg(e)); |
| | | return callBackMessage.toJSONObject(); |
| | | }finally { |
| | | SpObserver.setDBtoInstance(); |
| | | } |
| | | } |
| | | /** |
| | | * 新分配线索 |
| | | * @param request |
| | | * @return |
| | | */ |
| | | @RequestMapping("/newAssign.do") |
| | | public @ResponseBody Object newAssign(@RequestBody AssignCluesEntity assignClues, HttpServletRequest request){ |
| | | CallBackMessage callBackMessage = new CallBackMessage(); |
| | | try { |
| | | SpObserver.setDBtoInstance("_" + request.getSession().getAttribute(SessionKey.DATA_BASE_ID)); |
| | | cluesServiceIfc.newAssign(assignClues); |
| | | callBackMessage.sendSuccessMessageByDefault(); |
| | | return callBackMessage.toJSONObject(); |
| | | }catch (Exception e){ |
| | |
| | | } |
| | | } |
| | | /** |
| | | * 删除线索 |
| | | * |
| | | * @param request |
| | | * @return |
| | | */ |
| | | @RequestMapping("/del.do") |
| | | public @ResponseBody Object cluesDel(String docCode, HttpServletRequest request) { |
| | | CallBackMessage callBackMessage = new CallBackMessage(); |
| | | try { |
| | | SpObserver.setDBtoInstance("_" + request.getSession().getAttribute(SessionKey.DATA_BASE_ID)); |
| | | cluesServiceIfc.cluesDel(docCode); |
| | | callBackMessage.sendSuccessMessageByDefault(); |
| | | return callBackMessage.toJSONObject(); |
| | | } catch (Exception e) { |
| | | callBackMessage.sendErrorMessage(this.getErrorMsg(e)); |
| | | return callBackMessage.toJSONObject(); |
| | | } finally { |
| | | SpObserver.setDBtoInstance(); |
| | | } |
| | | } |
| | | /** |
| | | * 无效线索 |
| | | * |
| | | * @param request |
| | | * @return |
| | | */ |
| | | @RequestMapping("/fail.do") |
| | | public @ResponseBody Object cluesFail(@RequestBody T481104Entity entity, HttpServletRequest request) { |
| | | CallBackMessage callBackMessage = new CallBackMessage(); |
| | | try { |
| | | SpObserver.setDBtoInstance("_" + request.getSession().getAttribute(SessionKey.DATA_BASE_ID)); |
| | | cluesServiceIfc.cluesFail(entity); |
| | | callBackMessage.sendSuccessMessageByDefault(); |
| | | return callBackMessage.toJSONObject(); |
| | | } catch (Exception e) { |
| | | callBackMessage.sendErrorMessage(this.getErrorMsg(e)); |
| | | return callBackMessage.toJSONObject(); |
| | | } finally { |
| | | SpObserver.setDBtoInstance(); |
| | | } |
| | | } |
| | | /** |
| | | * 线索联系人列表 |
| | | * @param request |
| | | * @return |
| | | */ |
| | | @RequestMapping("/contactList.do") |
| | | public @ResponseBody Object contactList(@RequestBody CluesRequestEntity cluesRequest, HttpServletRequest request){ |
| | | CallBackMessage callBackMessage = new CallBackMessage(); |
| | | try { |
| | | SpObserver.setDBtoInstance("_" + request.getSession().getAttribute(SessionKey.DATA_BASE_ID)); |
| | | cluesRequest.setDbid(request.getSession().getAttribute(SessionKey.DATA_BASE_ID)+""); |
| | | //当前用户 |
| | | cluesRequest.setCreateUsercode(request.getSession().getAttribute(SessionKey.USERCODE)+""); |
| | | //所属部门 |
| | | cluesRequest.setCccode(request.getSession().getAttribute(SessionKey.CCCODE)+""); |
| | | cluesRequest.setFormId(481101); |
| | | callBackMessage.setInfo(cluesServiceIfc.contactList(cluesRequest)); |
| | | callBackMessage.sendSuccessMessageByDefault(); |
| | | return callBackMessage.toJSONObject(); |
| | | }catch (Exception e){ |
| | | callBackMessage.sendErrorMessage(this.getErrorMsg(e)); |
| | | return callBackMessage.toJSONObject(); |
| | | }finally { |
| | | SpObserver.setDBtoInstance(); |
| | | } |
| | | } |
| | | /** |
| | | * 线索列表 |
| | | * @param request |
| | | * @return |
| | |
| | | try { |
| | | SpObserver.setDBtoInstance("_" + request.getSession().getAttribute(SessionKey.DATA_BASE_ID)); |
| | | cluesRequest.setDbid(request.getSession().getAttribute(SessionKey.DATA_BASE_ID)+""); |
| | | //当前用户 |
| | | cluesRequest.setCreateUsercode(request.getSession().getAttribute(SessionKey.USERCODE)+""); |
| | | //所属部门 |
| | | cluesRequest.setCccode(request.getSession().getAttribute(SessionKey.CCCODE)+""); |
| | | cluesRequest.setFormId(481101); |
| | | callBackMessage.setInfo(cluesServiceIfc.getAllClues(cluesRequest)); |
| | | callBackMessage.sendSuccessMessageByDefault(); |
| | |
| | | clues.setCompanyname(request.getSession().getAttribute(SessionKey.COMPANY_NAME)+""); |
| | | clues.setCreateUsercode(request.getSession().getAttribute(SessionKey.USERCODE)+""); |
| | | clues.setCreateUserName(request.getSession().getAttribute(SessionKey.USERNAME)+""); |
| | | clues.setCcCode(request.getSession().getAttribute(SessionKey.CCCODE)+""); |
| | | clues.setCcName(request.getSession().getAttribute(SessionKey.CCNAME)+""); |
| | | clues.setFormId(481101); |
| | | cluesServiceIfc.save(clues); |
| | | callBackMessage.sendSuccessMessageByDefault(); |
| | |
| | | private String docCode;//线索编号 |
| | | private String ownerCode;//分配给谁 |
| | | private String ownerName;//分配给谁 |
| | | private String ownerCcCode;//分配给谁 |
| | | private String ownerCcName;//分配给谁 |
| | | } |
New file |
| | |
| | | package com.yc.crm.clues.entity; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class ContactEntity { |
| | | private String docCode,cluesName,name,email; |
| | | private int totalRowCount,pageCount; |
| | | } |
| | |
| | | private Integer lastprintnum; |
| | | private Integer lastprintformid; |
| | | private Integer lastprintdocstatus; |
| | | private String cccode; |
| | | private String cltCode; |
| | | private String cltName; |
| | | private String honorific; |
| | |
| | | |
| | | Response getAllClues(CluesRequestEntity request); |
| | | |
| | | void assign(AssignCluesEntity assignClues); |
| | | void assign(AssignCluesEntity assignClues,String userName); |
| | | |
| | | void attention(CluesRequestEntity cluesRequest); |
| | | |
| | |
| | | void contactDel(Integer id); |
| | | |
| | | T481101Entity get(CluesRequestEntity cluesRequest); |
| | | |
| | | void cluesDel(String docCode); |
| | | |
| | | void cluesFail(T481104Entity entity); |
| | | |
| | | Response contactList(CluesRequestEntity cluesRequest); |
| | | |
| | | void newAssign(AssignCluesEntity assignClues); |
| | | } |
| | |
| | | " @DocStatusName varchar(50),\n" + |
| | | " @companyid nvarchar(20),\n" + |
| | | " @companyname varchar(50),\n" + |
| | | " @ccCode varchar(20),\n" + |
| | | " @ccName varchar(50),\n" + |
| | | " @EnterCode varchar(20),\n" + |
| | | " @EnterName varchar(50),\n" + |
| | | " @EnterDate datetime,\n" + |
| | |
| | | "@DocCode=" + GridUtils.prossSqlParm(t481101Entity.getDocCode()) + ", \n" + |
| | | "@companyid=" + GridUtils.prossSqlParm(t481101Entity.getCompanyid()) + ", \n" + |
| | | "@companyname= " + GridUtils.prossSqlParm(t481101Entity.getCompanyname()) + ", \n" + |
| | | "@ccCode=" + GridUtils.prossSqlParm(t481101Entity.getCcCode()) + ", \n" + |
| | | "@ccName= " + GridUtils.prossSqlParm(t481101Entity.getCcName()) + ", \n" + |
| | | "@periodid= dbo.GetPeriodID(@FormID,@CompanyID,getdate()), \n" + |
| | | "@EnterCode=" + GridUtils.prossSqlParm(t481101Entity.getCreateUsercode()) + ", \n" + |
| | | "@EnterName=" + GridUtils.prossSqlParm(t481101Entity.getCreateUserName()) + " , \n" + |
| | |
| | | ",DocCode" + |
| | | ",companyid" + |
| | | ",companyname" + |
| | | ",ccCode" + |
| | | ",ccName" + |
| | | ",periodid" + |
| | | ",EnterCode" + |
| | | ",EnterName" + |
| | |
| | | ",@DocCode" + |
| | | ",@companyid" + |
| | | ",@companyname" + |
| | | ",@ccCode" + |
| | | ",@ccName" + |
| | | ",@periodid" + |
| | | ",@EnterCode" + |
| | | ",@EnterName" + |
| | |
| | | ",@pin_flag,'起草' " + |
| | | ")\n" + |
| | | //----处理联系人信息 |
| | | contactAddSql(t481101Entity.getContactsList()) + |
| | | contactAddSql(t481101Entity.getContactsList(),"线索") + |
| | | "end\n" + |
| | | "else \n" +//-------修改 |
| | | "begin\n" + |
| | |
| | | ",category_ids=@category_ids" + |
| | | ",inquiry_country=@inquiry_country,pin_flag=@pin_flag from t481101H where doccode=@doccode\n" + |
| | | //----处理联系人信息 |
| | | contactUpdateSql(t481101Entity.getContactsList()) + |
| | | contactUpdateSql(t481101Entity.getContactsList(),"线索") + |
| | | "end\n" + |
| | | //--处理审计功能 |
| | | auditAddSql(t481101Entity); |
| | |
| | | return sql; |
| | | } |
| | | |
| | | @Override |
| | | public Response contactList(CluesRequestEntity request) { |
| | | String fileds = " " + |
| | | "c.refCode,c.id,a.docCode,a.clues_name \n" + |
| | | ",c.name \n" + |
| | | ",c.email \n" + |
| | | ",@TotalRowCount as totalRowCount ,@pageCount as pageCount \n"; |
| | | String where = " contactType='线索' "; |
| | | if (request.getSearchTxt() != null && request.getSearchTxt().size() > 0) { |
| | | //拼接查询条件 |
| | | where += getSearchInfo(request); |
| | | } |
| | | String sql = "set nocount on ; \n" + |
| | | // " declare @key varchar(300) \n" + |
| | | // " select @key ="+1+" \n" + |
| | | " declare @Limit int , @Page int ,@StartRowNo int ,@EndRowNo int ; \n" + |
| | | " select @Limit = " + request.getPageSize() + " , @Page = " + request.getPageNo() + " ; \n" + |
| | | " declare @TotalRowCount int ,@pageCount int; \n" + |
| | | " select @StartRowNo = (isnull(@Page,0) - 1) * isnull(@Limit,0) + 1 ; \n" + |
| | | " select @EndRowNo = isnull(@Page,0) * isnull(@Limit,0) ; \n" + |
| | | " select @TotalRowCount =count(1),@pageCount=CEILING((COUNT(1)+0.0)/" + request.getPageSize() + ") from t482103 c \n" + |
| | | " left join t481101h a on a.docCode=c.refCode\n" + |
| | | " left join t481104h b on a.docCode=b.refCode" + |
| | | " where " + where + " \n" + |
| | | " SELECT * FROM ( \n" + |
| | | " select top 100 percent ROW_NUMBER() OVER (ORDER BY a.docCode) AS NO,\n" + |
| | | fileds + " from t482103 c \n" + |
| | | " left join t481101h a on a.docCode=c.refCode\n" + |
| | | " left join t481104h b on a.docCode=b.refCode" + |
| | | " where " + where + |
| | | " order by a.docCode asc \n" + |
| | | " ) t WHERE t.NO BETWEEN @StartRowNo AND @EndRowNo"; |
| | | List<ContactEntity> list = this.jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ContactEntity.class)); |
| | | //增加联系人输出 |
| | | Response response = new Response(); |
| | | response.setTotalCount((list != null && list.size() > 0) ? list.get(0).getTotalRowCount() : 0); |
| | | response.setPageCount((list != null && list.size() > 0) ? list.get(0).getPageCount() : 0); |
| | | response.setData(list); |
| | | return response; |
| | | } |
| | | |
| | | @Override |
| | | public Response getAllClues(CluesRequestEntity request) { |
| | |
| | | " select @EndRowNo = isnull(@Page,0) * isnull(@Limit,0) ; \n" + |
| | | " select @TotalRowCount =count(1),@pageCount=CEILING((COUNT(1)+0.0)/" + request.getPageSize() + ") from t481101h a left join t481104h b on a.docCode=b.refCode where " + where + " \n" + |
| | | " SELECT * FROM ( \n" + |
| | | " select top 100 percent ROW_NUMBER() OVER (ORDER BY docCode) AS NO,\n" + |
| | | " select top 100 percent ROW_NUMBER() OVER (ORDER BY a.docCode) AS NO,\n" + |
| | | fileds + " from t481101h a left join t481104h b on a.docCode=b.refCode\n" + |
| | | " where " + where + |
| | | " order by a.docCode asc \n" + |
| | |
| | | response.setPageCount((list != null && list.size() > 0) ? list.get(0).getPageCount() : 0); |
| | | response.setData(list); |
| | | return response; |
| | | } |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public void cluesDel(String docCode) { |
| | | //删除线索,需要把相关的联系人,跟进,日程,评论也删除 |
| | | String sql="declare @docCode varchar(50)="+ GridUtils.prossSqlParm(docCode)+"\n" + |
| | | " exec p481101Del @docCode"; |
| | | this.doBaseExecute(sql); |
| | | } |
| | | |
| | | @Override |
| | | public void cluesFail(T481104Entity entity) { |
| | | String sql="declare @docCode varchar(50)="+ GridUtils.prossSqlParm(entity.getDocCode())+",\n" + |
| | | "@failStatus int=" +entity.getFailStatus()+",\n"+ |
| | | "@failStatusName varchar(50)="+ GridUtils.prossSqlParm(entity.getFailStatusName())+",\n" + |
| | | "@failReason varchar(250)="+ GridUtils.prossSqlParm(entity.getFailReason())+"\n" + |
| | | "update t481101h set fail_Status=@failStatus,fail_Status_Name=@failStatusName,fail_Reason=@failReason where docCode=@docCode\n"; |
| | | this.doBaseExecute(sql); |
| | | } |
| | | |
| | | @Override |
| | |
| | | String sql = "update a set a.pinFlag=" + cluesRequest.getPinFlag() + " from t481104h a where id=" + cluesRequest.getId(); |
| | | this.doBaseExecute(sql); |
| | | } |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public void newAssign(AssignCluesEntity assignClues) { |
| | | if(StringUtils.isBlank(assignClues.getOwnerCode())&&StringUtils.isBlank(assignClues.getOwnerCcCode())){ |
| | | throw new ApplicationException("部门和用户不能都为空"); |
| | | } |
| | | String sql = " declare @refCode varchar(20),@ownerCode varchar(20),@ownerName varchar(20)\n" + |
| | | " ,@ownerCcCode varchar(20),@ownerCcName varchar(20),@ownerType int=0" + |
| | | "select @refCode=" + GridUtils.prossSqlParm(assignClues.getDocCode()) + ",@ownerCode=" + GridUtils.prossSqlParm(assignClues.getOwnerCode()) + ",@ownerName=" + GridUtils.prossSqlParm(assignClues.getOwnerName()) + ",@ownerCcCode=" + GridUtils.prossSqlParm(assignClues.getOwnerCcCode()) + ",@ownerCcName=" + GridUtils.prossSqlParm(assignClues.getOwnerCcName()) + "\n"; |
| | | if(StringUtils.isNotBlank(assignClues.getOwnerCcCode())) { |
| | | sql+=" select @ownerType=1 \n";//表示当前线索是分配到个人,而不是部门 |
| | | } |
| | | sql+=" insert into t481104h(refCode \n" + |
| | | ",ownerCode \n" + |
| | | ",ownerName \n" + |
| | | ",ownerCcCode \n" + |
| | | ",ownerCcName \n" + |
| | | ",ownerType \n" + |
| | | ",enterTime \n)values(@refCode,@ownerCode,@ownerName,@ownerType,getdate())"; |
| | | this.doBaseExecute(sql); |
| | | } |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public void assign(AssignCluesEntity assignClues) { |
| | | String sql = " declare @refCode varchar(20),@ownerCode varchar(20),@ownerName varchar(20)\n" + |
| | | "select @refCode=" + GridUtils.prossSqlParm(assignClues.getDocCode()) + ",@ownerCode=" + GridUtils.prossSqlParm(assignClues.getOwnerCode()) + ",@ownerName=" + GridUtils.prossSqlParm(assignClues.getOwnerName()) + "\n" + |
| | | public void assign(AssignCluesEntity assignClues,String userName) { |
| | | String sql = " declare @id int,@reasonForRollback nvarchar(300),@refCode varchar(20),@ownerCode varchar(20),@ownerName varchar(20)\n" + |
| | | "select @refCode=" + GridUtils.prossSqlParm(assignClues.getDocCode()) + ",@ownerCode=" + GridUtils.prossSqlParm(assignClues.getOwnerCode()) + ",@ownerName=" + GridUtils.prossSqlParm(assignClues.getOwnerName()) + ",@reasonForRollback='线索已移出,原因:"+userName+"重新分配给"+assignClues.getOwnerName()+"'\n" + |
| | | " select @id=id from t481104h where refCode=@refCode\n" + |
| | | " update t481104h set exitTime=getDate(),reasonForRollback=@reasonForRollback where id=@id\n" + |
| | | " insert into t481104h(refCode \n" + |
| | | ",ownerCode \n" + |
| | | ",ownerName \n" + |
| | |
| | | * @return |
| | | */ |
| | | private String getSearchInfo(CluesRequestEntity request) { |
| | | String where = " and(1=1 "; |
| | | //自已创建或已发布给指定人员或属于当前部门 |
| | | String where = " and((((a.CreateUsercode="+GridUtils.prossSqlParm(request.getCreateUsercode())+" or (isnull(a.isPush,0)=1 and b.ownerCode="+GridUtils.prossSqlParm(request.getCreateUsercode())+")) and isnull(b.reasonForRollback,'')='') or b.ownerCcCode="+GridUtils.prossSqlParm(request.getCccode())+") \n"; |
| | | Set<Map.Entry<String, String>> entries = request.getSearchTxt().entrySet(); |
| | | for (Map.Entry<String, String> entry : entries) { |
| | | if (entry.getKey().equalsIgnoreCase("cluesName")) { |
| | |
| | | where += " and isnull(b.pinFlag,0)=" + entry.getValue(); |
| | | } |
| | | if (entry.getKey().equalsIgnoreCase("ownerCode")) { |
| | | where += " and b.ownerCode like '%" + entry.getValue() + "%'"; |
| | | where += " and b.ownerCode in (select list from getinstr( '" + entry.getValue() + "'))"; |
| | | } |
| | | if (entry.getKey().equalsIgnoreCase("systemFlag")) { |
| | | where += " and isnull(b.systemFlag,0) = " + entry.getValue() + ""; |
| | |
| | | where += " and a.originList like '%" + entry.getValue() + "%'"; |
| | | } |
| | | if (entry.getKey().equalsIgnoreCase("createUsercode")) { |
| | | where += " and a.createUsercode like '%" + entry.getValue() + "%'"; |
| | | where += " and a.createUsercode in (select list from getinstr( '" + entry.getValue() + "'))"; |
| | | } |
| | | if (entry.getKey().equalsIgnoreCase("country")) { |
| | | where += " and a.country = '" + entry.getValue() + "'"; |
| | |
| | | if (entry.getKey().equalsIgnoreCase("lastModifyTime")) { |
| | | String[] value = entry.getValue().split(";"); |
| | | |
| | | where += " and (b.lastModifyTime >= DATEADD(day, -" + value[0] + ", CAST(GETDATE() AS date)) )";//TODO 后期增加处理联系,未联系功能 |
| | | where += " and (b.lastModifyTime >= DATEADD(day, -" + value[0] + ", CAST(GETDATE() AS date)) )"; |
| | | } |
| | | //TODO 后期增加处理联系,未联系功能 |
| | | |
| | | //处理是查询我的线索还是所有线索 |
| | | //481101是公海线索,481104是私海线索 |
| | | |
| | | |
| | | } |
| | | return where + " )"; |
| | | } |
| | | |
| | | private String contactUpdateSql(List<T482103Entity> contactsList) { |
| | | public String contactUpdateSql(List<T482103Entity> contactsList,String contactType) { |
| | | if (contactsList == null || contactsList.size() == 0) { |
| | | return ""; |
| | | } |
| | |
| | | if (StringUtils.isNotBlank(contact.getRefCode()) && contact.getId() == null) { |
| | | List<T482103Entity> temp = new ArrayList<T482103Entity>(); |
| | | temp.add(contact); |
| | | sql += contactAddSql(temp); |
| | | sql += contactAddSql(temp,contactType); |
| | | continue; |
| | | } |
| | | sql += "\nselect\n" + |
| | |
| | | * @param contactsList |
| | | * @return |
| | | */ |
| | | private String contactAddSql(List<T482103Entity> contactsList) { |
| | | public String contactAddSql(List<T482103Entity> contactsList,String contactType) { |
| | | if (contactsList == null || contactsList.size() == 0) { |
| | | return ""; |
| | | } |
| | |
| | | ",remark \n" + |
| | | ",image_list \n" + |
| | | ",birth \n" + |
| | | ",contactType \n" + |
| | | ",post_grade \n" + |
| | | ",create_time \n" + |
| | | ",update_time " + |
| | |
| | | ",@remark \n" + |
| | | ",@contact_image_list \n" + |
| | | ",@birth \n" + |
| | | ",'"+contactType+"' \n" + |
| | | ",@post_grade \n" + |
| | | ",@create_time \n" + |
| | | ",@update_time " + |