本帖最后由 echochen 于 2013-12-24 11:36 编辑
- #include "dbHelper";
- #include "timeHelper";
- var docProc=getDocumentProcess();
- var formProc=getFormProcess();
- var sql="SELECT ID,ITEM_门店,ITEM_开始日期,CONVERT(NVARCHAR(MAX),ITEM_店长) AS ITEM_店长,CONVERT(NVARCHAR(MAX),ITEM_经理) AS ITEM_经理,ITEM_所属事业部 FROM TLK_门店信息表";
- var dsShop=queryByDSName("shopmgr",sql);
- println("【需要检查异常的门店有】"+dsShop.size());
- for(var itrShop=dsShop.iterator();itrShop.hasNext();){
- var docShop=itrShop.next();
- var shopNm=getValueByDSName("zmsales","SELECT BMMC FROM JGSZ WHERE BMBH='"+docShop.get("ITEM_门店")+"'","BMMC");
- var lstDt=parseDate(docShop.get("ITEM_开始日期"),"yyyy-MM-dd");
- while(diffMinutes(lstDt,getToday())>=24*60){
- var hasDoc=getValueByDSName("shopmgr","SELECT ID FROM TLK_门店业绩异常表 WHERE ITEM_门店编号='"+
- docShop.get("ITEM_门店")+"' AND DATEDIFF(d,ITEM_日期,'"+format(lstDt,"yyyy-MM-dd")+"')=0","ID");
- if(hasDoc==null){//如果没填过这一天的单,就生成,否则就不要重复的生成了//
- println("【测试日期】"+(getToday()-lstDt));
- var amt=getValueByDSName("zmsales","SELECT 金额 FROM VIEW_SaleYyrb WHERE 部门编号='"+
- docShop.get("ITEM_门店")+"' AND DATEDIFF(d,日期,'"+format(lstDt,"yyyy-MM-dd")+"')=0","金额");
- println("【"+shopNm+":"+format(lstDt,"yyyy-MM-dd")+"营业金额】"+amt);
- var bud=getValueByDSName("budget","SELECT ISNULL(MAX(YBE),0) AS BUD FROM ZM_MDYBE WHERE BMBH='"+
- docShop.get("ITEM_门店")+"' AND okid=1 AND NIAN="+getYear(lstDt)+ " AND YUE="+getMonth(lstDt),"BUD");
- println("【月预算金额】"+bud);
- if(amt==null || amt/bud<0.0258 || amt/bud>0.0333){//出现业绩异常,开始创建业绩表//
- if(amt==null){//给所有店长发提醒短信//
- sql="SELECT TELEPHONE FROM T_USER WHERE '"+docShop.get("ITEM_店长")+";"+
- docShop.get("ITEM_经理")+"' LIKE '%'+ID+'%'";
- println("【店长的电话列表】"+sql);
- var dsUser=queryByDSName("obpm",sql);
- var tels="";
- var sendCnt=0;
- for(var itrUser=dsUser.iterator();itrUser.hasNext();){
- var docUser=itrUser.next();
- if(docUser.get("TELEPHONE")!=null && docUser.get("TELEPHONE")!="null"){
- tels+=(tels.length>0 ? "," : "")+docUser.get("TELEPHONE");
- sendCnt++;
- }
- }
- sendSMS("","营业日报未提交提醒","您所辖门店:"+shopNm+"未上传"+format(lstDt,"yyyy-MM-dd")+
- "的营业日报,请您尽快跟进补传!",tels,false,(sendCnt>1));
- break;//如果有一天没上传,后面的都不用处理了//
- }else{
- var excForm=formProc.doView("11e3-646d-728d4376-bc38-0190bb70da9e");
- var docExc=docProc.doNew(excForm,getWebUser(),createParamsTable());
-
- docExc.addStringItem("所属事业部",docShop.get("ITEM_所属事业部"));
- docExc.addStringItem("门店",shopNm);
- docExc.addDateItem("日期",lstDt);
- docExc.addDoubleItem("营业额",amt);
- docExc.addDoubleItem("达标率",amt/bud*100);
- docExc.addDoubleItem("差异率",(amt/bud*100)-3.33);
- docExc.addStringItem("门店编号",docShop.get("ITEM_门店"));
- docProc.doCreate(docExc);
- docExc.setFlowid("11e3-67ce-7ab282d2-93ba-7322f6ae4b73");
- var params=createParamsTable();
- params.setParameter("_flowid","11e3-67ce-7ab282d2-93ba-7322f6ae4b73");
- docProc.doStartFlowOrUpdate(docExc,params,getWebUser());
- }
- }
- }
- lstDt=adjustDay(lstDt,1);
- sql="UPDATE TLK_门店信息表 SET ITEM_开始日期='"+format(lstDt,"yyyy-MM-dd")+"' WHERE ID='"+
- docShop.get("ID")+"'";
- updateByDSName("shopmgr",sql);
- }
- }
复制代码 以上代码写入定时任务,可以正常创建表单,但是表单的DOMAINID为空,如何解决?另外,数据库的STATEINT值为256,这个值是什么意思? |