11
pzy
2024-08-26 dbbcd506929afda0a85ae23bcb5f88c1dccef387
DAL/ÏúÊÛ¹ÜÀí/ClsXs_SeOrderBill.cs
@@ -134,7 +134,7 @@
                    string subSql = "Insert into Xs_SeOrderBillSub" +
                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationQty_SellOutCheck,HRelationMoney_SellOutCheck,HRelationQty_ICMO,HRelationQty_SellBack,HRelationQty_SellBackCheck,HRelationMoney,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HMoney" +
                        ",HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney,HlineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark,HOrderLevID" +
                        ",HCusMaterNumber,HCusModel,HCusMaterName,HisStockGoods,HWHID) " +
                        ",HCusMaterNumber,HCusModel,HCusMaterName,HisStockGoods,HWHID,HRemark_TL,HRemark_SJG) " +
                        "values(" +
                        "" + omodel.HInterID +
                        "," + oSub.HEntryID +
@@ -170,8 +170,10 @@
                        "','" + oSub.HCusModel +
                        "','" + oSub.HCusMaterName +
                        "'," + (oSub.HisStockGoods?1:0) +
                         ",'" + oSub.HWhID +
                        "')";
                         ",'" + oSub.HWhID + "'" +
                         ",'" + oSub.HRemark_TL + "'" +
                         ",'" + oSub.HRemark_SJG + "'" +
                        ")";
                    oCn.RunProc(subSql);
                }
@@ -350,7 +352,7 @@
                    string subSql = "Insert into Xs_SeOrderBillSub" +
                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationQty_SellOutCheck,HRelationMoney_SellOutCheck,HRelationQty_ICMO,HRelationQty_SellBack,HRelationQty_SellBackCheck,HRelationMoney,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HMoney" +
                        ",HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney,HlineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark,HOrderLevID" +
                        ",HCusMaterNumber,HCusModel,HCusMaterName,HisStockGoods,HWHID) " +
                        ",HCusMaterNumber,HCusModel,HCusMaterName,HisStockGoods,HWHID,HRemark_TL,HRemark_SJG) " +
                        "values(" +
                        "" + omodel.HInterID +
                        "," + oSub.HEntryID +
@@ -386,8 +388,10 @@
                        "','" + oSub.HCusModel +
                        "','" + oSub.HCusMaterName +
                        "'," + (oSub.HisStockGoods?1:0) +
                        ",'" + oSub.HWhID +
                        "')";
                        ",'" + oSub.HWhID + "'" +
                        ",'" + oSub.HRemark_TL + "'" +
                        ",'" + oSub.HRemark_SJG + "'" +
                        ")";
                    oCn.RunProc(subSql);
                }
@@ -538,6 +542,9 @@
                    oSub.HInvoiceQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HInvoiceQty"]);
                    oSub.HisStockGoods = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HisStockGoods"]) == 1 ? true : false;
                    oSub.HRemark_TL = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[0]["HRemark_TL"]);
                    oSub.HRemark_SJG = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[0]["HRemark_SJG"]);
                    DetailColl.Add(oSub);
                }
                sReturn = "显示单据成功!";
@@ -573,7 +580,94 @@
            oCn.RunProc("update Xs_SeOrderBillMain set HPrintQty=HPrintQty + 1 Where HInterID= " + sInterID.ToString());
        }
        //发起审批
        public bool startCheckFlow(Int64 lngBillKey,Int64 HCheckFlowID_select, ref string sReturn)
        {
            try
            {
                string HBillNo = "";                //单据号
                string HCheckFlowID = "";           //审批流ID
                string HCheckItemNowID = "";        //当前审核项目ID
                string HCheckItemNextID = "";       //待审核项目ID
                //判断是否已经发起审批
                string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + this.BillType + "'";
                DataSet ds0 = oCn.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
                if (ds0 != null && ds0.Tables[0].Rows.Count > 0)
                {
                    sReturn = "单据已发起审批,不可重复审批!";
                    return false;
                }
                //获取单据数据
                string sql = "select * from " + this.MvarItemKey + " where HInterID = " + lngBillKey;
                DataSet ds = oCn.RunProcReturn(sql, this.MvarItemKey);
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "单据不存在!";
                    return false;
                }
                HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                //获取单据类型对应的默认审批流
                string sql1 = "select b.HInterID,b.HCheckItemID from Xt_CheckFlowMain as a " +
                                "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
                                "where a.HBillTypeID = '" + this.BillType + "' " +
                                "and a.HInterID = " + HCheckFlowID_select + " " +
                                "order by b.HFlowNo asc";
                DataSet ds1 = oCn.RunProcReturn(sql1, "Xt_CheckFlowMain");
                if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
                {
                    sReturn = "默认审批流不存在!";
                    return false;
                }
                HCheckFlowID = ds1.Tables[0].Rows[0]["HInterID"].ToString();
                HCheckItemNowID = ds1.Tables[0].Rows[0]["HCheckItemID"].ToString();
                if (ds1.Tables[0].Rows.Count >= 2)
                {
                    HCheckItemNextID = ds1.Tables[0].Rows[1]["HCheckItemID"].ToString();
                }
                else
                {
                    HCheckItemNextID = "0";
                }
                oCn.BeginTran();
                //增加 å•据审批状态表 æ•°æ®
                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                {
                    string sql2 = "insert into Xt_BillCheckFlowStatus" +
                        "(HBillTypeID,HBillInterID,HBillNo,HCheckFlowID,HCheckItemID,HChecker,HCheckDate,HCheckNote) " +
                        "values(" +
                        "'" + this.BillType + "'," +
                        "" + lngBillKey + "," +
                        "'" + HBillNo + "'," +
                        "" + ds1.Tables[0].Rows[i]["HInterID"].ToString() + "," +
                        "" + ds1.Tables[0].Rows[i]["HCheckItemID"].ToString() + "," +
                        "" + "''" + "," +
                        "" + "''" + "," +
                        "" + "''" + "" +
                        ")";
                    oCn.RunProc(sql2);
                }
                //更新主表 å®¡æ‰¹æµ æ•°æ®
                string sql3 = "update " + this.MvarItemKey + " set HCheckFlowID = " + HCheckFlowID + ",HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
                oCn.RunProc(sql3);
                oCn.Commit();
                return true;
            }
            catch(Exception e)
            {
                sReturn += e.Message;
                return false;
            }
        }
    }
}