天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 3024|回复: 0

[Iscript] 自动编号【脚本自动编号】

[复制链接]
bobo 发表于 2013-8-29 13:55:22 | 显示全部楼层 |阅读模式
本帖最后由 bobo 于 2013-8-29 15:11 编辑

Q:如何实现自动编号,例如:JH201308-序号(3位的),表单删除后编号还可用,表单编号不段号,依次排序;
A:您好,你具体的需求可以参考以下代码:

  1. var value1=getItemValueAsString("编号");
  2. if(value1.trim().length()<=0){
  3. var prx="JH";  //前缀
  4. var year=getYear(getToday()); //当前年
  5. var month=getMonth(getToday());
  6. var length1=parseInt(month.toString().length);
  7. if(length1<=1){
  8.       month="0"+month;       
  9. }
  10. var digit=3;  //指定增长序列号位数
  11. var rtn=prx+year+month;
  12. var sql="select * from tlk_施工合同评审单 where item_编号 like '%"+rtn+"%' order by created desc";
  13. var doc=findBySQL(sql);
  14. println(doc+"===doc====");
  15. var val="";
  16. if(doc==null){
  17.     value1=prx+year+month+"001";
  18. }else{
  19.        var test1=doc.getItemValueAsString("编号");
  20.        var test2=parseInt(test1.substr(rtn.length));
  21.        println(test2+"===test2====");
  22.        var test3=test2+1;
  23.        if (test3< 9) {
  24.                    for (var temp = 1; temp <= digit - test3.toString().length; temp++) {
  25.                          val += "0";
  26.                    }println(val+"======val===");
  27.                    val =val+test3;
  28.             } else if (test3 < 99) {
  29.                     for (var temp = 1; temp <= digit - test3.toString().length; temp++) {
  30.                           val += "0";
  31.                     }
  32.                   val =val+test3;
  33.            } else if (test3 < 999) {
  34.                     for (var temp = 1; temp <= digit - test3.toString().length; temp++) {
  35.                            val += "0";
  36.                    }
  37.                   val =val+test3;
  38.       } else if (test3 < 9999) {
  39.                      for (var temp = 1; temp <= digit - test3.toString().length; temp++) {
  40.                            val += "0";
  41.                      }
  42.                     val =val+test3;
  43.            } else if (test3 < 99999) {
  44.                      for (var temp = 1; temp <= digit - test3.toString().length; temp++) {
  45.                              val += "0";
  46.                      }
  47.                     val =val+test3;
  48.             } else if (test3 < 999999) {
  49.                       for (var temp = 1; temp <= digit - test3.toString().length; temp++) {
  50.                             val += "0";
  51.                       }
  52.                      val =val+test3;
  53.             } else if (test3< 9999999) {
  54.                      for (var temp = 1; temp <= digit - test3.toString().length; temp++) {
  55.                            val += "0";
  56.                     }
  57.                     val =val+test3;
  58.             } else
  59.                 val =val+test3;
  60.       rtn=prx+year+month+val;
  61.       value1=rtn;
  62.   }
  63. }
  64. value1;
复制代码
摘自原帖:http://www.teemlink.com/bbs/view ... 26amp%3Btypeid%3D12

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 15:49

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表