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

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

[其他] 单号重复

[复制链接]
吉林慧瑞 发表于 2014-12-26 10:36:12 | 显示全部楼层 |阅读模式
本帖最后由 nice 于 2014-12-26 10:41 编辑

申报单号总是重复!
数据库中明明到了  BH140001517   
页面却才是自增到  BH140000281

代码下:
var  value=getItemValue("申报单号");
if( value==null || value.trim().length()<=0){

  value=countNext2("BH",true,false,false,7);
}
value;

图片如下:
MAX.jpg 不能重复.jpg 不能重复2.jpg
nice 发表于 2014-12-26 10:42:09 | 显示全部楼层
你好,您是不是重新编辑过您的该字段!或者重置过改字段!
 楼主| 吉林慧瑞 发表于 2014-12-26 10:57:39 | 显示全部楼层
回复 2# nice

你说的重置是什么意思?昨天发生过这个情况,实在查不出原因就把BH改成CH,今天早上又有客户反应单号重复。
nice 发表于 2014-12-26 11:08:37 | 显示全部楼层
您好,我们内部 这么写的脚本!
function countNext2(headText, isYear, isMonth, isDay, digit) {
        var process = new Packages.cn.myapps.core.counter.ejb.CounterProcessBean($WEB
                        .getApplication());

        var dateUtil = $BEANFACTORY.createObject("cn.myapps.util.DateUtil");

        var countLabel = headText;
        if (isYear) {
                countLabel += dateUtil.format(dateUtil.getToday(), "yy");
        }
        if (isMonth) {
                countLabel += dateUtil.format(dateUtil.getToday(), "MM");
        }
        if (isDay) {
                countLabel += dateUtil.format(dateUtil.getToday(), "dd");
        }
        var count = process.getNextValue(countLabel, $WEB.getApplication(), $WEB
                                        .getDomainid());
        var val = "";
        if (count < 10) {
                for (var temp = 1; temp <= digit - 1; temp++) {
                        val += "0";
                }
                val += count;
        } else if (count < 100) {
                for (var temp = 1; temp <= digit - 2; temp++) {
                        val += "0";
                }
                val += count;
        } else if (count < 1000) {
                for (var temp = 1; temp <= digit - 3; temp++) {
                        val += "0";
                }
                val += count;
        } else if (count < 10000) {
                for (var temp = 1; temp <= digit - 4; temp++) {
                        val += "0";
                }
                val += count;
        } else if (count < 100000) {
                for (var temp = 1; temp <= digit - 5; temp++) {
                        val += "0";
                }
                val += count;
        } else if (count < 1000000) {
                for (var temp = 1; temp <= digit - 6; temp++) {
                        val += "0";
                }
                val += count;
        } else if (count < 10000000) {
                for (var temp = 1; temp <= digit - 7; temp++) {
                        val += "0";
                }
                val += count;
        } else
                val += count;
        var retvar = countLabel + val;
        return retvar;
}
你可以参考这个代码自己重新封装带吗!在我们的函数库! 但是名字别重复谢谢!
 楼主| 吉林慧瑞 发表于 2014-12-26 11:35:57 | 显示全部楼层
昨天就看了这一段,还是没能找到问题所在。
 楼主| 吉林慧瑞 发表于 2014-12-26 11:39:28 | 显示全部楼层
昨天就看了这一段,还是没能找到问题所在。
 楼主| 吉林慧瑞 发表于 2014-12-26 11:41:59 | 显示全部楼层
昨天就看了这一段,还是没能找到问题所在。
nice 发表于 2014-12-26 13:39:08 | 显示全部楼层
- - 您查看下数据库!然后用单号排序看看是否有重复现象!

本版积分规则

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

GMT+8, 2026-8-12 16:21

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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