新增器具调拨申请单模块所需调用方法,凯贝东方通信客户外箱码生成规则修改
4个文件已修改
4个文件已添加
1269 ■■■■■ 已修改文件
DAL/DAL.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/生产管理/模具管理/ClsSc_MouldMoveStockRequestBill.cs 384 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/Model.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/生产管理/模具管理/ClsSc_MouldMoveStockRequestBillMain.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/生产管理/模具管理/ClsSc_MouldMoveStockRequestBillSub.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WarM/条码打印/Gy_CusBarCodeBill_KaiBei_HuaSan.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/MJGL/Sc_MouldMoveStockRequestBillController.cs 792 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/DAL.csproj
@@ -108,6 +108,7 @@
    <Compile Include="生产管理\客户标签\ClsSc_CustomerTagInfo.cs" />
    <Compile Include="生产管理\排产解锁申请单\ClsJIT_UnLockRequestBill.cs" />
    <Compile Include="生产管理\排产锁定申请单\ClsJIT_LockRequestBill.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldMoveStockRequestBill.cs" />
    <Compile Include="生产管理\设备管理\ClsSb_EquipPatrolCheckPlanBill.cs" />
    <Compile Include="生产管理\设备管理\ClsSb_EquipPatrolCheckBill.cs" />
    <Compile Include="系统公用\ClsXt_DefineBillMainSet.cs" />
DAL/Éú²ú¹ÜÀí/Ä£¾ß¹ÜÀí/ClsSc_MouldMoveStockRequestBill.cs
New file
@@ -0,0 +1,384 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace DAL
{
    public  class ClsSc_MouldMoveStockRequestBill:DBUtility.ClsXt_BaseBill
    {
        public Model.ClsSc_MouldMoveStockRequestBillMain omodel = new Model.ClsSc_MouldMoveStockRequestBillMain();
        public List<Model.ClsSc_MouldMoveStockRequestBillSub> DetailColl = new List<Model.ClsSc_MouldMoveStockRequestBillSub>();
        public ClsSc_MouldMoveStockRequestBill()
        {
            base.MvarItemKeySub = "Sc_MouldMoveStockRequestBillSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey="Sc_MouldMoveStockRequestBillMain";
            base.MvarReportTitle= "器具调拨申请单";
            base.BillType= "3850";
            base.HBillSubType = "3850";
        }
        #region å›ºå®šä»£ç 
        ~ClsSc_MouldMoveStockRequestBill()
        {
            DetailColl = null;
        }
        #endregion   è‡ªå®šä¹‰æ–¹æ³•
        //保存前控制
        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
        {
            try
            {
                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldMoveStockRequestBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldMoveStockRequestBill_BeforeSaveCtrl");
                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "保存前判断失败!";
                    return false;
                }
                else
                {
                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
                    {
                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
                        return false;
                    }
                }
                return true;
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
        //保存后控制
        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
        {
            try
            {
                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldMoveStockRequestBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldMoveStockRequestBill_AfterSaveCtrl");
                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "保存后判断失败!";
                    return false;
                }
                else
                {
                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
                    {
                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
                        return false;
                    }
                }
                return true;
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
        //修改单据
        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                oCn.BeginTran();
                //保存前控制
                if (!BeforeSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
                {
                    oCn.RollBack();
                    return false;
                }
                //更新主表
                oCn.RunProc("UpDate Sc_MouldMoveStockRequestBillMain set  " +
                " HBillNo='" + omodel.HBillNo + "'" +  //固定赋值===============
                ",HDate='" + omodel.HDate + "'" +
                ",HYear='" + omodel.HYear.ToString() + "'" +
                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
                ",HRemark='" + omodel.HRemark + "'" +
                ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
                ",HUpDateDate=getdate()" +
                //========================================
                ",HSupTypeID=" + omodel.HSupTypeID.ToString() +
                ",HSupID=" + omodel.HSupID.ToString() +
                ",HDeptID=" + omodel.HDeptID.ToString() +
                ",HWHID=" + omodel.HWHID.ToString() +
                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                ",HEmpID=" + omodel.HEmpID.ToString() +
                ",HMangerID=" + omodel.HMangerID.ToString() +
                ",HSecManagerID=" + omodel.HSecManagerID.ToString() +
                ",HKeeperID=" + omodel.HKeeperID.ToString() +
                ",HExplanation='" + omodel.HExplanation + "'" +
                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                ",HStockStyle='" + omodel.HStockStyle + "'" +
                ",HStockInOrgID=" + omodel.HStockInOrgID.ToString() +
                ",HStockOutOrgID=" + omodel.HStockOutOrgID.ToString() +
                ",HERPInterID=" + omodel.HERPInterID.ToString() +
                ",HERPBillType='" + omodel.HERPBillType + "'" +
                ",HOWNERTYPEHEADID='" + omodel.HOWNERTYPEHEADID + "'" +
                ",HTRANSTYPE='" + omodel.HTRANSTYPE + "'" +
                ",HOWNERTYPEINID='" + omodel.HOWNERTYPEINID + "'" +
                ",HBUSINESSTYPE='" + omodel.HBUSINESSTYPE + "'" +
                " where HInterID=" + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
                //删除子表
                DeleteBillSub(lngBillKey);
                //插入子表
                omodel.HInterID = lngBillKey;
                foreach (Model.ClsSc_MouldMoveStockRequestBillSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Sc_MouldMoveStockRequestBillSub " +
                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
                      ",HQty,HPrice,HMoney,HOutPrice,HOutMoney,HWHID" +
                      ",HSCWHID,HSPID,HSCSPID,HERPInterID,HERPEntryID" +
                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
                      ",HICMOInterID,HICMOEntryID,HICMOBillNo,HSTOCKORGID,HOWNERID,HOWNERTYPEID" +
                      ",HSTOCKORGINID,HOWNERINID,HOWNERTYPEINID,HBASEUNITID,HEXTAUXUNITID,HSECQTY" +
                      ") values("
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
                      "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HOutPrice.ToString() + "," + oSub.HOutMoney.ToString() + "," + oSub.HWHID.ToString() +
                      "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HERPInterID.ToString() + "," + oSub.HERPEntryID.ToString() +
                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
                      "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo + "'," + oSub.HSTOCKORGID.ToString() + "," + oSub.HOWNERID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
                      "," + oSub.HSTOCKORGINID.ToString() + "," + oSub.HOWNERINID.ToString() + ",'" + oSub.HOWNERTYPEINID + "'," + oSub.HBASEUNITID.ToString() + "," + oSub.HEXTAUXUNITID.ToString() + "," + oSub.HSECQTY.ToString() +
                      ") ");
                }
                //保存后控制
                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
                {
                    oCn.RollBack();
                    return false;
                }
                sReturn = "单据号:" + omodel.HBillNo + " ä¿®æ”¹æˆåŠŸï¼";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        //新增单据
        public override bool AddBill(ref string sReturn)
        {
            try
            {
                //得到mainid
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                //保存前控制
                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
                {
                    oCn.RollBack();
                    return false;
                }
                //主表
                oCn.RunProc("Insert Into Sc_MouldMoveStockRequestBillMain   " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
                ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType" +
                ",HSupTypeID,HSupID,HDeptID,HWHID,HSCWHID" +
                ",HEmpID,HMangerID,HSecManagerID,HKeeperID,HExplanation" +
                ",HInnerBillNo,HStockStyle,HStockInOrgID,HStockOutOrgID,HERPInterID" +
                ",HERPBillType,HOWNERTYPEHEADID,HTRANSTYPE,HOWNERTYPEINID,HBUSINESSTYPE" +
                ") " +
                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                ", " + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo + "','" + omodel.HMainSourceBillType + "'" +
                ", " + omodel.HSupTypeID.ToString() + "," + omodel.HSupID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() +
                ", " + omodel.HEmpID.ToString() + "," + omodel.HMangerID.ToString() + "," + omodel.HSecManagerID.ToString() + "," + omodel.HKeeperID.ToString() + ",'" + omodel.HExplanation + "'" +
                ",'" + omodel.HInnerBillNo + "','" + omodel.HStockStyle + "'," + omodel.HStockInOrgID.ToString() + "," + omodel.HStockOutOrgID.ToString() + "," + omodel.HERPInterID.ToString() +
                ",'" + omodel.HERPBillType + "','" + omodel.HOWNERTYPEHEADID + "','" + omodel.HTRANSTYPE + "','" + omodel.HOWNERTYPEINID + "','" + omodel.HBUSINESSTYPE + "'" +
                ") ");
                //插入子表
                foreach (Model.ClsSc_MouldMoveStockRequestBillSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Sc_MouldMoveStockRequestBillSub " +
                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
                      ",HQty,HPrice,HMoney,HOutPrice,HOutMoney,HWHID" +
                      ",HSCWHID,HSPID,HSCSPID,HERPInterID,HERPEntryID" +
                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
                      ",HICMOInterID,HICMOEntryID,HICMOBillNo,HSTOCKORGID,HOWNERID,HOWNERTYPEID" +
                      ",HSTOCKORGINID,HOWNERINID,HOWNERTYPEINID,HBASEUNITID,HEXTAUXUNITID,HSECQTY" +
                      ") values("
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
                      "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HOutPrice.ToString() + "," + oSub.HOutMoney.ToString() + "," + oSub.HWHID.ToString() +
                      "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HERPInterID.ToString() + "," + oSub.HERPEntryID.ToString() +
                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
                      "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo + "'," + oSub.HSTOCKORGID.ToString() + "," + oSub.HOWNERID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
                      "," + oSub.HSTOCKORGINID.ToString() + "," + oSub.HOWNERINID.ToString() + ",'" + oSub.HOWNERTYPEINID + "'," + oSub.HBASEUNITID.ToString() + "," + oSub.HEXTAUXUNITID.ToString() + "," + oSub.HSECQTY.ToString() +
                      ") ");
                }
                //保存后控制
                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
                {
                    oCn.RollBack();
                    return false;
                }
                sReturn = "单据号:" + omodel.HBillNo + " æ–°å¢žæˆåŠŸï¼";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        //显示单据
        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //查询主表
                DataSet Ds;
                Ds = oCn.RunProcReturn("Select * from Sc_MouldMoveStockRequestBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_MouldMoveStockRequestBillMain");
                if (Ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "单据未找到!";
                    return false;
                }
                //固定赋值===========================================
                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
                omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
                omodel.HDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
                omodel.HCloseType = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HCloseType"]);
                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
                //========================================================
                omodel.HSupTypeID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupTypeID"]);
                omodel.HSupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupID"]);
                omodel.HDeptID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"]);
                omodel.HWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HWHID"]);
                omodel.HSCWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSCWHID"]);
                omodel.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"]);
                omodel.HMangerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMangerID"]);
                omodel.HSecManagerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSecManagerID"]);
                omodel.HKeeperID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HKeeperID"]);
                omodel.HExplanation = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HExplanation"]);
                omodel.HInnerBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HInnerBillNo"]);
                omodel.HERPInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HERPInterID"]);
                omodel.HStockInOrgID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HStockInOrgID"]);
                omodel.HStockOutOrgID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HStockOutOrgID"]);
                omodel.HERPBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HERPBillType"]);
                omodel.HOWNERTYPEHEADID = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HOWNERTYPEHEADID"]);
                omodel.HTRANSTYPE = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HTRANSTYPE"]);
                omodel.HOWNERTYPEINID = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HOWNERTYPEINID"]);
                omodel.HBUSINESSTYPE = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBUSINESSTYPE"]);
                //循环
                DataSet DsSub;
                DsSub = oCn.RunProcReturn("Select * from Sc_MouldMoveStockRequestBillSub Where HInterID=" + lngBillKey.ToString() + "order by HEntryID", "Sc_MouldMoveStockRequestBillSub");
                DetailColl.Clear();//清空
                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
                {
                    Model.ClsSc_MouldMoveStockRequestBillSub oSub = new Model.ClsSc_MouldMoveStockRequestBillSub();
                    // å›ºå®šèµ‹å€¼===============================================
                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
                    oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBillNo_bak"]);
                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
                    //===================================================
                    oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
                    oSub.HPropertyID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPropertyID"]);
                    oSub.HSecUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSecUnitID"]);
                    oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HSecUnitRate"]);
                    oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
                    oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQtyMust"]);
                    oSub.HQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQty"]);
                    oSub.HPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HPrice"]);
                    oSub.HMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HMoney"]);
                    oSub.HOutPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HOutPrice"]);
                    oSub.HOutMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HOutMoney"]);
                    oSub.HWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWHID"]);
                    oSub.HSCWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCWHID"]);
                    oSub.HSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPID"]);
                    oSub.HSCSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCSPID"]);
                    oSub.HERPInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HERPInterID"]);
                    oSub.HERPEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HERPEntryID"]);
                    oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPOOrderInterID"]);
                    oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPOOrderEntryID"]);
                    oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HPOOrderBillNo"]);
                    oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderInterID"]);
                    oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderEntryID"]);
                    oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSeOrderBillNo"]);
                    oSub.HICMOInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HICMOInterID"]);
                    oSub.HICMOEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HICMOEntryID"]);
                    oSub.HICMOBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HICMOBillNo"]);
                    oSub.HSTOCKORGID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSTOCKORGID"]);
                    oSub.HOWNERID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HOWNERID"]);
                    oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HOWNERTYPEID"]);
                    oSub.HSTOCKORGINID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSTOCKORGINID"]);
                    oSub.HOWNERINID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HOWNERINID"]);
                    oSub.HOWNERTYPEINID = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HOWNERTYPEINID"]);
                    oSub.HBASEUNITID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HBASEUNITID"]);
                    oSub.HEXTAUXUNITID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEXTAUXUNITID"]);
                    oSub.HSECQTY = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HSECQTY"]);
                    DetailColl.Add(oSub);
                }
                sReturn = "显示单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw (e);
            }
        }
    }
}
Model/Model.csproj
@@ -180,6 +180,8 @@
    <Compile Include="生产管理\排产锁定申请单\ClsJIT_LockRequestBillMain.cs" />
    <Compile Include="生产管理\排产锁定申请单\ClsJIT_LockRequestBillSub.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldMaintainPlanBillSub_Plan.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldMoveStockRequestBillMain.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldMoveStockRequestBillSub.cs" />
    <Compile Include="生产管理\生产领料\ClsKf_ProductReceiveMaterialBillMain.cs" />
    <Compile Include="生产管理\生产领料\ClsKf_ProductReceiveMaterialBillSub.cs" />
    <Compile Include="生产管理\设备管理\ClsSb_EquipPatrolCheckPlanBillSub.cs" />
Model/Éú²ú¹ÜÀí/Ä£¾ß¹ÜÀí/ClsSc_MouldMoveStockRequestBillMain.cs
New file
@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class ClsSc_MouldMoveStockRequestBillMain : DBUtility.ClsXt_BaseBillMain
    {
        public Int64 HPrintQty;         // int            --打印次数
        public Int64 HSupID;            // int            --往来单位
        public Int64 HSupTypeID;        // int            --往来类型
        public Int64 HDeptID;           // int             --部门
        public Int64 HWHID;             // int             ---调入仓库
        public Int64 HSCWHID;           // int          --调出仓库
        public Int64 HEmpID;            // int            --业务员
        public Int64 HMangerID;         // int            --主管
        public Int64 HSecManagerID;     // int           --验收
        public Int64 HKeeperID;         // int             --保管员
        public string HExplanation;     // varchar(200) --ÕªÒª
        public string HInnerBillNo;     // varchar(50)  --内部单据号
        public string HStockStyle;      // varchar(100) --调拨类型
        public Int64 HStockInOrgID;       // int          --调入组织ID
        public Int64 HStockOutOrgID;      // int          --调出组织ID
        public Int64 HERPInterID;       // int          --ERP内码
        public string HERPBillType;     // varchar(100) --ERP单据类型
        public string HOWNERTYPEHEADID; // varchar(50)  --调出货主类型
        public string HTRANSTYPE;       // varchar(50)  --调拨类型
        public string HOWNERTYPEINID;   // varchar(50)  --调入货主类型
        public string HBUSINESSTYPE;    // varchar(50)  --业务类型
    }
}
Model/Éú²ú¹ÜÀí/Ä£¾ß¹ÜÀí/ClsSc_MouldMoveStockRequestBillSub.cs
New file
@@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class ClsSc_MouldMoveStockRequestBillSub : DBUtility.ClsXt_BaseBillSub
    {
        public Int64 HMaterID;          // int          --模具ID
        public Int64 HPropertyID;       // int          --辅助属性
        public Int64 HSecUnitID;        // int          --辅助计量单位
        public Single HSecUnitRate;     // money        --换算率
        public Int64 HUnitID;           // int          --计量单位
        public double HQtyMust;         // dec(18,8)    --应收数量
        public double HQty;             // dec(18,8)    --申请数量
        public double HPrice;           // dec(18,8)    --单价
        public double HMoney;           // dec(18,8)    --金额
        public double HOutPrice;        // dec(18,8)    --调出单价(默认0) --addnew
        public double HOutMoney;        // dec(18,8)    --调出金额(默认0) --addnew
        public Int64 HWHID;             // int          --调入仓库
        public Int64 HSCWHID;           // int           --调出仓库
        public Int64 HSPID;             // int          --调入仓位
        public Int64 HSCSPID;           // int          --调出仓位
        public Int64 HERPInterID;
        public Int64 HERPEntryID;
        public Int64 HPOOrderInterID;   // int          --采购订单主ID
        public Int64 HPOOrderEntryID;   // int          --采购订单子ID
        public string HPOOrderBillNo;   // varchar(50)  --采购订单号
        public Int64 HSeOrderInterID;   // int          --销售订单主ID
        public Int64 HSeOrderEntryID;   // int          --销售订单子ID
        public string HSeOrderBillNo;   // varchar(50)  --销售订单号
        public Int64 HICMOInterID;      // int          --生产订单主ID
        public Int64 HICMOEntryID;      // int          --生产订单子ID
        public string HICMOBillNo;      // varchar(100) --生产订单号
        public Int64 HSTOCKORGID;       // int          --调出组织
        public Int64 HSTOCKORGINID;     // int          --调入组织
        public Int64 HOWNERINID;        // int          --调入货主
        public string HOWNERTYPEINID;   // varchar(50)  --调入货主类型
        public Int64 HBASEUNITID;       // int          --基本计量单位
        public Int64 HEXTAUXUNITID;     // int          --辅单位
        public double HSECQTY;          // dec(18,8)    --申请数量(库存辅单位)
    }
}
WarM/ÌõÂë´òÓ¡/Gy_CusBarCodeBill_KaiBei_HuaSan.cs
@@ -794,8 +794,17 @@
                        HInnerBillNo = ClsPub.isStrNull(grdMain.Rows[j].Cells[HInnerBillNoCol].Value);  //销售订单号
                        //获取最大流水号
                        //条码前缀 = 2位固定码('09') + CPN客户编码(规格型号)+ 2位预留码(固定'01')+ 5位年年月日日(YYMDD) + 3位09码流水号(固定'001') + ä¾›åº”商代码(固定'151091')
                        sWTMNumber = "09" + HMaterModel + "01" + sYear + sPeriod + sDay + "001151091";
                        if (cmbHCusName.Text.Contains("东方通信"))
                        {
                            //条码前缀 = 2位固定码('09') + CPN客户编码(规格型号)+ 2位预留码(固定'01')+ 5位年年月日日(YYMDD) + 3位09码流水号(固定'001') + ä¾›åº”商代码(固定'105652')
                            sWTMNumber = "09" + HMaterModel + "01" + sYear + sPeriod + sDay + "001105652";
                        }
                        //新华三
                        else
                        {
                            //条码前缀 = 2位固定码('09') + CPN客户编码(规格型号)+ 2位预留码(固定'01')+ 5位年年月日日(YYMDD) + 3位09码流水号(固定'001') + ä¾›åº”商代码(固定'151091')
                            sWTMNumber = "09" + HMaterModel + "01" + sYear + sPeriod + sDay + "001151091";
                        }
                        Ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sWTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                        LWSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
WebAPI/Controllers/MJGL/Sc_MouldMoveStockRequestBillController.cs
New file
@@ -0,0 +1,792 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Web.Http;
using WebAPI.Models;
using System.Windows.Forms;
using SyntacticSugar.constant;
namespace WebAPI.Controllers
{
    public class Sc_MouldMoveStockRequestBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        public const string ModName = "3850";                       //单据类型
        public const string ModCaption = "器具调拨申请单";          //单据名称
        public const string ModRightName = "Sc_MouldMoveStockRequestBill";
        public const string ModRightNameList = ModRightName + "List";       //列表
        public const string ModRightNameEdit = ModRightName + "_Edit";      //编辑
        public const string ModRightNameCheck = ModRightName + "_Check";    //审核
        public const string ModRightNameClose = ModRightName + "_Close";    //关闭
        public const string ModRightNameDelete = ModRightName + "_Delete";  //作废
        public const string ModRightNameDrop = ModRightName + "_Drop";      //删除
        public DataSet ds = new DataSet();
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        public DAL.ClsSc_MouldMoveStockRequestBill oBill = new DAL.ClsSc_MouldMoveStockRequestBill();
        #region å™¨å…·è°ƒæ‹¨ç”³è¯·å•分页列表
        [Route("Sc_MouldMoveStockRequestBillController/page")]
        [HttpGet]
        public json Sc_MouldMoveStockRequestBillPage(string sWhere, string user, int page, int size)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 3, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "您没有该模块权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                sWhere = sWhere.Replace("'", "''");
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCn.RunProcReturn("exec h_p_Sc_MouldMoveStockRequestBillList " + page + "," + size + ",''", "h_p_Sc_MouldMoveStockRequestBillList");
                }
                else
                {
                    ds = oCn.RunProcReturn("exec h_p_Sc_MouldMoveStockRequestBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldMoveStockRequestBillList");
                }
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
                objJsonResult.Message = "成功!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "查询列表信息失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å™¨å…·è°ƒæ‹¨ç”³è¯·å• åˆ é™¤
        /// <summary>
        /// åˆ é™¤å™¨å…·è°ƒæ‹¨ç”³è¯·å•
        /// </summary>
        /// <returns></returns>
        [Route("Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Delete_Json")]
        [HttpGet]
        public object GetSc_MouldMoveStockRequestBill_Delete_Json(Int64 HInterID, string HMaker)
        {
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameDrop, 3, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块删除功能权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //判断存在性
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    //删除前控制
                    DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Sc_MouldMoveStockRequestBill_BeforeDelCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Sc_MouldMoveStockRequestBill_BeforeDelCtrl");
                    if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除前判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "删除失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    //删除单据(包含删除后控制、写入日志)
                    if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Sc_MouldMoveStockRequestBill_AfterDelCtrl", HMaker, ref ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除器具调拨申请单成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "未查询到该器具调拨申请单,请刷新数据后重新选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除器具调拨申请单失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å™¨å…·è°ƒæ‹¨ç”³è¯·å• å®¡æ ¸/反审核
        /// <summary>
        /// å®¡æ ¸/反审核器具调拨申请单
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="Type">审核(1),反审核(2)</param>
        /// <param name="HMaker">审核人</param>
        /// <returns></returns>
        [Route("Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Check_Json")]
        [HttpGet]
        public object GetSc_MouldMoveStockRequestBill_Check_Json(Int64 HInterID, int Type, string HMaker)
        {
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 3, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块审核/反审核功能权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //判断存在性
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    //Type 1 å®¡æ ¸  2  åå®¡æ ¸
                    if (Type == 1)
                    {
                        if (oBill.omodel.HChecker.Trim() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核,不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (oBill.omodel.HCloseMan.Trim() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭,不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (oBill.omodel.HDeleteMan.Trim() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废,不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //审核前控制
                        DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Sc_MouldMoveStockRequestBill_BeforeCheckCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Sc_MouldMoveStockRequestBill_BeforeCheckCtrl");
                        if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "审核前判断失败!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                        //审核单据
                        if (!oBill.CheckBill(HInterID, oBill.omodel.HBillNo, "h_p_Sc_MouldMoveStockRequestBill_AfterCheckCtrl", HMaker, ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " å®¡æ ¸æˆåŠŸï¼";
                            objJsonResult.data = null;
                            return objJsonResult; ;
                        }
                    }
                    else
                    {
                        if (oBill.omodel.HChecker.Trim() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未审核,不需要反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //反审核前控制
                        DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Sc_MouldMoveStockRequestBill_BeforeUnCheckCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Sc_MouldMoveStockRequestBill_BeforeUnCheckCtrl");
                        if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "反审核前判断失败!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "反审核失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                        //反审核单据
                        if (!oBill.AbandonCheck(HInterID, oBill.omodel.HBillNo, "h_p_Sc_MouldMoveStockRequestBill_AfterUnCheckCtrl", HMaker, ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "反审核失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " åå®¡æ ¸æˆåŠŸï¼";
                            objJsonResult.data = null;
                            return objJsonResult; ;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "未查询到该器具调拨申请单,请刷新数据后重新选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核或反审核器具调拨申请单失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å™¨å…·è°ƒæ‹¨ç”³è¯·å• æ‰¹é‡å®¡æ ¸
        /// <summary>
        /// æ‰¹é‡å®¡æ ¸/反审核器具调拨申请单
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="Type">审核(1),反审核(2)</param>
        /// <param name="HMaker">审核人</param>
        /// <returns></returns>
        [Route("Sc_MouldMoveStockRequestBillController/CheckAll")]
        [HttpGet]
        public object CheckAll(string ids, int Type, string HMaker)
        {
            try
            {
                //处理字符串
                if (!string.IsNullOrEmpty(ids))
                {
                    long[] idArray = Array.ConvertAll(ids.Split(','), long.Parse);
                    // å¤„理idArray...
                    oCn.BeginTran();
                    for (int i = 0; i < idArray.Length; i++)
                    {
                        objJsonResult = (json)GetSc_MouldMoveStockRequestBill_Check_Json(idArray[i], Type, HMaker);//审核执行
                        if (objJsonResult.count == 0)
                        {
                            oCn.RollBack();
                            objJsonResult.Message += "第" + (i + 1) + "行出现问题无法继续完成";
                            return objJsonResult;
                        }
                    }
                    oCn.Commit();
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "请选择正确行";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "执行成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCn.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核或反审核器具调拨申请单失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å™¨å…·è°ƒæ‹¨ç”³è¯·å• å…³é—­/反关闭
        /// <summary>
        /// å…³é—­/反关闭器具调拨申请单
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="Type">关闭(1),反关闭(2)</param>
        /// <param name="HMaker">关闭人</param>
        /// <returns></returns>
        [Route("Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Close_Json")]
        [HttpGet]
        public object GetSc_MouldMoveStockRequestBill_Close_Json(Int64 HInterID, int Type, string HMaker)
        {
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameClose, 3, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块关闭/反关闭功能权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //判断存在性
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    //Type 1 å…³é—­  2  åå…³é—­
                    if (Type == 1)
                    {
                        if (oBill.omodel.HCloseMan.Trim() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭,不能再次关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //关闭单据
                        if (!oBill.CloseBill(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " å…³é—­æˆåŠŸï¼";
                            objJsonResult.data = null;
                            return objJsonResult; ;
                        }
                    }
                    else
                    {
                        if (oBill.omodel.HCloseMan.Trim() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未关闭,不需要反关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //反关闭单据
                        if (!oBill.CancelClose(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " åå…³é—­æˆåŠŸï¼";
                            objJsonResult.data = null;
                            return objJsonResult; ;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "未查询到该器具调拨申请单,请刷新数据后重新选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "关闭或反关闭器具调拨申请单失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  å™¨å…·è°ƒæ‹¨ç”³è¯·å• ä½œåºŸ/反作废
        /// <summary>
        /// ä½œåºŸ/反作废 å™¨å…·è°ƒæ‹¨ç”³è¯·å•
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="Type">作废(1),反作废(2)</param>
        /// <param name="HMaker">作废人</param>
        /// <returns></returns>
        [Route("Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Cancelltion_Json")]
        [HttpGet]
        public object GetSc_MouldMoveStockRequestBill_Cancelltion_Json(Int64 HInterID, int Type, string HMaker)
        {
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 3, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块作废/反作废功能权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //判断存在性
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    //Type 1 ä½œåºŸ  2  åä½œåºŸ
                    if (Type == 1)
                    {
                        if (oBill.omodel.HDeleteMan.Trim() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废,不能再次作废!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //作废单据
                        if (!oBill.Cancelltion(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "作废失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " ä½œåºŸæˆåŠŸï¼";
                            objJsonResult.data = null;
                            return objJsonResult; ;
                        }
                    }
                    else
                    {
                        if (oBill.omodel.HDeleteMan.Trim() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未作废,不需要反作废!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //反作废单据
                        if (!oBill.AbandonCancelltion(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "反作废失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " åä½œåºŸæˆåŠŸï¼";
                            objJsonResult.data = null;
                            return objJsonResult; ;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "未查询到该器具调拨申请单,请刷新数据后重新选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "作废或反作废器具调拨申请单失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å™¨å…·è°ƒæ‹¨ç”³è¯·å•模块   ä»Žåˆ—表选中打开单据,返回单据信息时调用
        /// <summary>
        /// å™¨å…·è°ƒæ‹¨ç”³è¯·å•编辑时,根据单据ID获取单据信息
        /// </summary>
        /// <returns></returns>
        [Route("Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Json")]
        [HttpGet]
        public object GetSc_MouldMoveStockRequestBill_Json(Int64 HInterID, string HMaker)
        {
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 3, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块编辑权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //返回列表信息
                ds = oCn.RunProcReturn("exec h_p_Sc_MouldMoveStockRequestBill_EditInit " + HInterID, "h_p_Sc_MouldMoveStockRequestBill_EditInit");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "未查询到该器具调拨申请单,请刷新数据后重新选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "返回器具调拨申请单信息失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å™¨å…·è°ƒæ‹¨ç”³è¯·å• ä¿å­˜
        /// <summary>
        /// å™¨å…·è°ƒæ‹¨ç”³è¯·å•保存
        /// </summary>
        [Route("Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Save_Json")]
        [HttpPost]
        public object GetSc_MouldMoveStockRequestBill_Save_Json([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string sMainStr = sArray[0].ToString();         //主表数据
            string sSubStr = sArray[1].ToString();          //子表数据
            string OperationType = sArray[2].ToString();    //操作类型(1新增、2编辑)
            string HMaker = sArray[3].ToString();           //制单人
            try
            {
                //判断权限
                if (OperationType == "1")
                {
                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
                    //判断新增权限
                    if (!DBUtility.ClsPub.Security_Log(ModRightName, 1, false, HMaker))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "您没有该模块新增权限,请与管理员联系!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
                    //判断编辑权限
                    if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, false, HMaker))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "您没有该模块编辑权限,请与管理员联系!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                //表头赋值
                sMainStr = sMainStr.Replace("\\", "");
                sMainStr = sMainStr.Replace("\n", "");
                sMainStr = "[" + sMainStr.ToString() + "]";
                List<Model.ClsSc_MouldMoveStockRequestBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldMoveStockRequestBillMain>>(sMainStr);
                foreach (Model.ClsSc_MouldMoveStockRequestBillMain oItem in lsmain)
                {
                    //单据号是否重复
                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据号重复!不允许保存!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //判断会计期是否合理
                    string s = "";
                    int sYear = 0;
                    int sPeriod = 0;
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = s;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    oItem.HYear = sYear;
                    oItem.HPeriod = sPeriod;
                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
                    oBill.omodel = oItem;
                }
                //表体赋值
                //按 },{来拆分数组 //去掉【和】
                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
                sSubStr = sSubStr.Replace("\\", "");
                sSubStr = sSubStr.Replace("\n", "");
                sSubStr = "[" + sSubStr.ToString() + "]";
                List<Model.ClsSc_MouldMoveStockRequestBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldMoveStockRequestBillSub>>(sSubStr);
                int i = 0;
                foreach (Model.ClsSc_MouldMoveStockRequestBillSub oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    oBill.DetailColl.Add(oItemSub);
                }
                //保存
                bool bResult;
                if (OperationType == "1")   //新增保存
                {
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else                        //编辑保存
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                if (bResult)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.Message;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/WebAPI.csproj
@@ -449,6 +449,7 @@
    <Compile Include="Controllers\CJGL\Sc_OEEReportController.cs" />
    <Compile Include="Controllers\CKGL\TMZD\Gy_BarCodeBillListController.cs" />
    <Compile Include="Controllers\JHGL\Gy_SourceMouldBillController.cs" />
    <Compile Include="Controllers\MJGL\Sc_MouldMoveStockRequestBillController.cs" />
    <Compile Include="Controllers\SBGL\Sb_EquipPatrolCheckRuleBillController.cs" />
    <Compile Include="Controllers\SBGL\Sb_EquipPatrolCheckPlanBillController.cs" />
    <Compile Include="Controllers\SBGL\Sb_EquipPatrolCheckBillController.cs" />