生成自增单号

生成自增单号

开发工具与关键技术:web
作者:熊琪
撰写时间:2019.7.06

首先介绍下什么时单号自增,看图1;

在这里插入图片描述(图1)
在图中单号格式的注意,但你销售时单号是唯一的所以通过在每在一次的销售之后就需要自增一,首先要明白要在什么的情况下自增首先就必须获取到上次的单号,在上次的单号上自增,首先看控制器代码:

public ActionResult Sellodd()
        {
            var sell = (from tb in myModels.B_Sell
                        where tb.StateID == 1 || tb.StateID == 4
                        orderby tb.SellID descending
                        select tb.SellNumber).ToList().FirstOrDefault();
            string[] sad = sell.Split('D');
            string ind = Convert.ToString(Convert.ToDecimal(sad[1]) + 1); 

            var sellOdd = Convert.ToString(ind);
            return Json(sellOdd, JsonRequestBehavior.AllowGet);
        }

方法名为Sellodd,声明sell接收查询的数据,通过销售表来查询单号,条件是在状态ID为1或4的情况下增加,以SellID倒叙排序,查询销售表中的单号,且选则第一条数据,FirstOrDefault,第一条数据,倒叙排序的第一条数据就是最后以条数据,这要就查出了要在单号的哪个值上继续添加,不重复,声名一数组接收分割完的单号,单号如图二所示是有XSD三字母后在拼接五位数字而成的,从字母D开始分割后会得到两个字符串,一个是XS,一个是00003,所以需要用数组接收,再继续就选择数组索引为1的字符串进行加一,要经过Conver强制转化后就不会出错

在这里插入图片描述(图二)
最后返回自增后的数据到视图,

function Sellodd() {
            var text = "";
            $.post("/Commoditymanagement/ForegroundSales/Sellodd", function (Sellodd) {
                if (Sellodd == undefined) {
                    $("#Number").html("XSD00001")
                } else {
                    if (Sellodd.length < 6) {
                        for (var i = 0; i < 5 - Sellodd.length; i++) {
                            text += "0";
                        }
                        text += Sellodd;
                    }
                    $("#Number").val("XSD" + text);
                }
})

返回值为数据库查出的,当数据库没查出数据时则证明还没有对应的销售单号,所以再对销售单的框中赋值为XSD00001.如果查出了数据就判断数据的长度是否小与六位数,满足条件则进行for循环,比如Sellodd的长度为两位数,i要小于5-2(3)所以i可以等于0,1,2这三个数当i为0时text为0,i为1时text为00, i为2时text为000,再加上sellodd,就得到比如00011这样的单号了,最后在给到单号框时拼接一个XSD就完成啦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值