yangle
2022-10-09 d6c5a95d053db65ae6051e5086cc3472f9fd7812
WebAPI/Controllers/Sc_MouldController.cs
@@ -165,6 +165,1060 @@
        #endregion
        #region 模具改制入库单
        #region 模具改制入库单保存
        [Route("Sc_MouldRepairInBill/MouldRepairInBill_Save")]
        [HttpPost]
        public object MouldRepairInBillAdd([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            //保存单据
            return objJsonResult = MouldRepairInAddBill(msg1);
        }
        public json MouldRepairInAddBill(string msg1)
        {
            //string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            //string msg2 = sArray[0].ToString();
            //string msg3 = sArray[0].ToString();
            bool bResult;
            try
            {
                //msg2 = "[" + msg2.ToString() + "]";
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsSc_MouldRepairInBill BillNew = new DAL.ClsSc_MouldRepairInBill();
                List<Model.ClsSc_MouldRepairInBillMain> mainList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldRepairInBillMain>>(msg1);
                List<Model.ClsSc_MouldStockBillSub> subList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(msg1);
                //判断会计期是否合理
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = mainList[0].HDate;//日期
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                BillNew.omodel.HYear = sYear;
                BillNew.omodel.HPeriod = sPeriod;
                BillNew.omodel.HBillNo = mainList[0].HBillNo.Trim();
                BillNew.omodel.HMaker = mainList[0].HMaker;
                BillNew.omodel.HDate = HDate;
                BillNew.omodel.HWHID = mainList[0].HWHID;
                BillNew.omodel.HSupID = 0;
                BillNew.omodel.HSCWHID = 0;
                BillNew.omodel.HEmpID = 0;
                BillNew.omodel.HManagerID = mainList[0].HManagerID;
                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
                BillNew.omodel.HDeptID = mainList[0].HDeptID;
                BillNew.omodel.HExplanation = mainList[0].HExplanation;
                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
                BillNew.DetailColl = new List<Model.ClsSc_MouldStockBillSub>();
                Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
                oSub.HEntryID = 1;
                oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[0].HRemark);
                oSub.HSourceInterID = DBUtility.ClsPub.isLong(subList[0].HSourceInterID);
                oSub.HSourceEntryID = DBUtility.ClsPub.isLong(subList[0].HSourceEntryID);
                oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillType);
                oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillNo);
                oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[0].HRelationQty);
                oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[0].HRelationMoney);
                oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[0].HCloseMan);
                oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[0].HEntryCloseDate);
                oSub.HCloseType = DBUtility.ClsPub.isBool(subList[0].HCloseType);
                oSub.HMaterID = DBUtility.ClsPub.isLong(subList[0].HMaterID);
                oSub.HPropertyID = DBUtility.ClsPub.isLong(subList[0].HPropertyID);
                oSub.HSecUnitID = DBUtility.ClsPub.isLong(subList[0].HSecUnitID);
                oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(subList[0].HSecUnitRate);
                oSub.HUnitID = DBUtility.ClsPub.isLong(subList[0].HUnitID);
                oSub.HQtyMust = DBUtility.ClsPub.isDoule(subList[0].HQtyMust);
                oSub.HQty = DBUtility.ClsPub.isDoule(subList[0].HQty);
                oSub.HBarCode = DBUtility.ClsPub.isStrNull(subList[0].HBarCode);
                if (oSub.HQty <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡数量不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HDesignLife = DBUtility.ClsPub.isLong(subList[0].HDesignLife);
                if (oSub.HDesignLife < 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "设计寿命不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HLeaveLife = DBUtility.ClsPub.isLong(subList[0].HLeaveLife);
                oSub.HPrice = DBUtility.ClsPub.isDoule(subList[0].HPrice);
                oSub.HWHID = DBUtility.ClsPub.isLong(subList[0].HWHID);
                oSub.HSPID = DBUtility.ClsPub.isLong(subList[0].HSPID);
                oSub.HSCWHID = 0;
                oSub.HSCSPID = 0;
                oSub.HSPGroupID = DBUtility.ClsPub.isLong(subList[0].HSPGroupID);
                oSub.HBatchNo = DBUtility.ClsPub.isStrNull(subList[0].HBatchNo);
                oSub.HNewModel = DBUtility.ClsPub.isStrNull(subList[0].HNewModel);
                oSub.HWallThickness = DBUtility.ClsPub.isStrNull(subList[0].HWallThickness);
                oSub.HHardness = DBUtility.ClsPub.isStrNull(subList[0].HHardness);
                oSub.HLastProdModel = DBUtility.ClsPub.isStrNull(subList[0].HLastProdModel);
                oSub.HDiameter = DBUtility.ClsPub.isStrNull(subList[0].HDiameter);
                oSub.HBackFlag = DBUtility.ClsPub.isStrNull(subList[0].HBackFlag);
                BillNew.DetailColl.Add(oSub);
                bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
                //提示
                if (bResult == true)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = ClsPub.sExeReturnInfo + "单据号:" + mainList[0].HBillNo.Trim();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region 模具采购入库单
        #region 模具采购入库单保存
        [Route("Sc_MouldProdInBill/MouldProdInBill_Save")]
        [HttpPost]
        public object MouldProdInBillAdd([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            //保存单据
            return objJsonResult = MouldProdInAddBill(msg1);
        }
        public json MouldProdInAddBill(string msg1)
        {
            //string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            //string msg2 = sArray[0].ToString();
            //string msg3 = sArray[0].ToString();
            bool bResult;
            try
            {
                //msg2 = "[" + msg2.ToString() + "]";
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsSc_MouldProdInBill BillNew = new DAL.ClsSc_MouldProdInBill();
                List<Model.ClsSc_MouldProdInBillMain> mainList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldProdInBillMain>>(msg1);
                List<Model.ClsSc_MouldStockBillSub> subList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(msg1);
                //判断会计期是否合理
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = mainList[0].HDate;//日期
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                BillNew.omodel.HYear = sYear;
                BillNew.omodel.HPeriod = sPeriod;
                BillNew.omodel.HBillNo = mainList[0].HBillNo.Trim();
                BillNew.omodel.HMaker = mainList[0].HMaker;
                BillNew.omodel.HDate = HDate;
                BillNew.omodel.HWHID = mainList[0].HWHID;
                BillNew.omodel.HSupID = 0;
                BillNew.omodel.HSCWHID = 0;
                BillNew.omodel.HEmpID = 0;
                BillNew.omodel.HManagerID = mainList[0].HManagerID;
                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
                BillNew.omodel.HDeptID = mainList[0].HDeptID;
                BillNew.omodel.HExplanation = mainList[0].HExplanation;
                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
                BillNew.DetailColl = new List<Model.ClsSc_MouldStockBillSub>();
                Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
                oSub.HEntryID = 1;
                oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[0].HRemark);
                oSub.HSourceInterID = DBUtility.ClsPub.isLong(subList[0].HSourceInterID);
                oSub.HSourceEntryID = DBUtility.ClsPub.isLong(subList[0].HSourceEntryID);
                oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillType);
                oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillNo);
                oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[0].HRelationQty);
                oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[0].HRelationMoney);
                oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[0].HCloseMan);
                oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[0].HEntryCloseDate);
                oSub.HCloseType = DBUtility.ClsPub.isBool(subList[0].HCloseType);
                oSub.HMaterID = DBUtility.ClsPub.isLong(subList[0].HMaterID);
                oSub.HPropertyID = DBUtility.ClsPub.isLong(subList[0].HPropertyID);
                oSub.HSecUnitID = DBUtility.ClsPub.isLong(subList[0].HSecUnitID);
                oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(subList[0].HSecUnitRate);
                oSub.HUnitID = DBUtility.ClsPub.isLong(subList[0].HUnitID);
                oSub.HQtyMust = DBUtility.ClsPub.isDoule(subList[0].HQtyMust);
                oSub.HQty = DBUtility.ClsPub.isDoule(subList[0].HQty);
                oSub.HBarCode = DBUtility.ClsPub.isStrNull(subList[0].HBarCode);
                if (oSub.HQty <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡数量不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HDesignLife = DBUtility.ClsPub.isLong(subList[0].HDesignLife);
                if (oSub.HDesignLife < 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "设计寿命不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HLeaveLife = DBUtility.ClsPub.isLong(subList[0].HLeaveLife);
                oSub.HPrice = DBUtility.ClsPub.isDoule(subList[0].HPrice);
                oSub.HWHID = DBUtility.ClsPub.isLong(subList[0].HWHID);
                oSub.HSPID = DBUtility.ClsPub.isLong(subList[0].HSPID);
                oSub.HSCWHID = 0;
                oSub.HSCSPID = 0;
                oSub.HSPGroupID = DBUtility.ClsPub.isLong(subList[0].HSPGroupID);
                oSub.HBatchNo = DBUtility.ClsPub.isStrNull(subList[0].HBatchNo);
                oSub.HNewModel = DBUtility.ClsPub.isStrNull(subList[0].HNewModel);
                oSub.HWallThickness = DBUtility.ClsPub.isStrNull(subList[0].HWallThickness);
                oSub.HHardness = DBUtility.ClsPub.isStrNull(subList[0].HHardness);
                oSub.HLastProdModel = DBUtility.ClsPub.isStrNull(subList[0].HLastProdModel);
                oSub.HDiameter = DBUtility.ClsPub.isStrNull(subList[0].HDiameter);
                oSub.HBackFlag = DBUtility.ClsPub.isStrNull(subList[0].HBackFlag);
                BillNew.DetailColl.Add(oSub);
                bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
                //提示
                if (bResult == true)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = ClsPub.sExeReturnInfo + "单据号:" + mainList[0].HBillNo.Trim();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region 模具改制出库单
        #region 模具改制出库单保存
        [Route("Sc_MouldRepairOutBill/MouldRepairOutBill_Save")]
        [HttpPost]
        public object MouldRepairOutBillAdd([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            //保存单据
            return objJsonResult = MouldRepairOutAddBill(msg1);
        }
        public json MouldRepairOutAddBill(string msg1)
        {
            //string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            //string msg2 = sArray[0].ToString();
            //string msg3 = sArray[0].ToString();
            bool bResult;
            try
            {
                //msg2 = "[" + msg2.ToString() + "]";
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsSc_MouldRepairOutBill BillNew = new DAL.ClsSc_MouldRepairOutBill();
                List<Model.ClsSc_MouldRepairOutBillMain> mainList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldRepairOutBillMain>>(msg1);
                List<Model.ClsSc_MouldStockBillSub> subList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(msg1);
                //判断会计期是否合理
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = mainList[0].HDate;//日期
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                BillNew.omodel.HYear = sYear;
                BillNew.omodel.HPeriod = sPeriod;
                BillNew.omodel.HBillNo = mainList[0].HBillNo.Trim();
                BillNew.omodel.HMaker = mainList[0].HMaker;
                BillNew.omodel.HDate = HDate;
                BillNew.omodel.HWHID = mainList[0].HWHID;
                BillNew.omodel.HSupID = 0;
                BillNew.omodel.HSCWHID = 0;
                BillNew.omodel.HEmpID = 0;
                BillNew.omodel.HManagerID = mainList[0].HManagerID;
                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
                BillNew.omodel.HDeptID = mainList[0].HDeptID;
                BillNew.omodel.HExplanation = mainList[0].HExplanation;
                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
                BillNew.DetailColl = new List<Model.ClsSc_MouldStockBillSub>();
                Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
                oSub.HEntryID = 1;
                oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[0].HRemark);
                oSub.HSourceInterID = DBUtility.ClsPub.isLong(subList[0].HSourceInterID);
                oSub.HSourceEntryID = DBUtility.ClsPub.isLong(subList[0].HSourceEntryID);
                oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillType);
                oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillNo);
                oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[0].HRelationQty);
                oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[0].HRelationMoney);
                oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[0].HCloseMan);
                oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[0].HEntryCloseDate);
                oSub.HCloseType = DBUtility.ClsPub.isBool(subList[0].HCloseType);
                oSub.HMaterID = DBUtility.ClsPub.isLong(subList[0].HMaterID);
                oSub.HPropertyID = DBUtility.ClsPub.isLong(subList[0].HPropertyID);
                oSub.HSecUnitID = DBUtility.ClsPub.isLong(subList[0].HSecUnitID);
                oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(subList[0].HSecUnitRate);
                oSub.HUnitID = DBUtility.ClsPub.isLong(subList[0].HUnitID);
                oSub.HQtyMust = DBUtility.ClsPub.isDoule(subList[0].HQtyMust);
                oSub.HQty = DBUtility.ClsPub.isDoule(subList[0].HQty);
                oSub.HBarCode = DBUtility.ClsPub.isStrNull(subList[0].HBarCode);
                if (oSub.HQty <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡数量不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HDesignLife = DBUtility.ClsPub.isLong(subList[0].HDesignLife);
                if (oSub.HDesignLife < 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "设计寿命不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HLeaveLife = DBUtility.ClsPub.isLong(subList[0].HLeaveLife);
                oSub.HPrice = DBUtility.ClsPub.isDoule(subList[0].HPrice);
                oSub.HWHID = DBUtility.ClsPub.isLong(subList[0].HWHID);
                oSub.HSPID = DBUtility.ClsPub.isLong(subList[0].HSPID);
                oSub.HSCWHID = 0;
                oSub.HSCSPID = 0;
                oSub.HSPGroupID = DBUtility.ClsPub.isLong(subList[0].HSPGroupID);
                oSub.HBatchNo = DBUtility.ClsPub.isStrNull(subList[0].HBatchNo);
                oSub.HNewModel = DBUtility.ClsPub.isStrNull(subList[0].HNewModel);
                oSub.HWallThickness = DBUtility.ClsPub.isStrNull(subList[0].HWallThickness);
                oSub.HHardness = DBUtility.ClsPub.isStrNull(subList[0].HHardness);
                oSub.HLastProdModel = DBUtility.ClsPub.isStrNull(subList[0].HLastProdModel);
                oSub.HDiameter = DBUtility.ClsPub.isStrNull(subList[0].HDiameter);
                oSub.HBackFlag = DBUtility.ClsPub.isStrNull(subList[0].HBackFlag);
                BillNew.DetailColl.Add(oSub);
                bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
                //提示
                if (bResult == true)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = ClsPub.sExeReturnInfo + "单据号:" + mainList[0].HBillNo.Trim();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region 模具报废入库单
        #region 模具报废入库单保存
        [Route("Sc_MouldScrapInBill/MouldScrapInBill_Save")]
        [HttpPost]
        public object MouldScrapInBillAdd([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            //保存单据
            return objJsonResult = MouldScrapInAddBill(msg1);
        }
        public json MouldScrapInAddBill(string msg1)
        {
            //string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            //string msg2 = sArray[0].ToString();
            //string msg3 = sArray[0].ToString();
            bool bResult;
            try
            {
                //msg2 = "[" + msg2.ToString() + "]";
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsSc_MouldScrapInBill BillNew = new DAL.ClsSc_MouldScrapInBill();
                List<Model.ClsSc_MouldScrapInBillMain> mainList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldScrapInBillMain>>(msg1);
                List<Model.ClsSc_MouldStockBillSub> subList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(msg1);
                //判断会计期是否合理
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = mainList[0].HDate;//日期
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                BillNew.omodel.HYear = sYear;
                BillNew.omodel.HPeriod = sPeriod;
                BillNew.omodel.HBillNo = mainList[0].HBillNo.Trim();
                BillNew.omodel.HMaker = mainList[0].HMaker;
                BillNew.omodel.HDate = HDate;
                BillNew.omodel.HWHID = mainList[0].HWHID;
                BillNew.omodel.HSupID = 0;
                BillNew.omodel.HSCWHID = 0;
                BillNew.omodel.HEmpID = 0;
                BillNew.omodel.HManagerID = mainList[0].HManagerID;
                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
                BillNew.omodel.HDeptID = mainList[0].HDeptID;
                BillNew.omodel.HExplanation = mainList[0].HExplanation;
                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
                BillNew.DetailColl = new List<Model.ClsSc_MouldStockBillSub>();
                Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
                oSub.HEntryID = 1;
                oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[0].HRemark);
                oSub.HSourceInterID = DBUtility.ClsPub.isLong(subList[0].HSourceInterID);
                oSub.HSourceEntryID = DBUtility.ClsPub.isLong(subList[0].HSourceEntryID);
                oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillType);
                oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillNo);
                oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[0].HRelationQty);
                oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[0].HRelationMoney);
                oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[0].HCloseMan);
                oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[0].HEntryCloseDate);
                oSub.HCloseType = DBUtility.ClsPub.isBool(subList[0].HCloseType);
                oSub.HMaterID = DBUtility.ClsPub.isLong(subList[0].HMaterID);
                oSub.HPropertyID = DBUtility.ClsPub.isLong(subList[0].HPropertyID);
                oSub.HSecUnitID = DBUtility.ClsPub.isLong(subList[0].HSecUnitID);
                oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(subList[0].HSecUnitRate);
                oSub.HUnitID = DBUtility.ClsPub.isLong(subList[0].HUnitID);
                oSub.HQtyMust = DBUtility.ClsPub.isDoule(subList[0].HQtyMust);
                oSub.HQty = DBUtility.ClsPub.isDoule(subList[0].HQty);
                oSub.HBarCode = DBUtility.ClsPub.isStrNull(subList[0].HBarCode);
                if (oSub.HQty <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡数量不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HDesignLife = DBUtility.ClsPub.isLong(subList[0].HDesignLife);
                if (oSub.HDesignLife < 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "设计寿命不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HLeaveLife = DBUtility.ClsPub.isLong(subList[0].HLeaveLife);
                oSub.HPrice = DBUtility.ClsPub.isDoule(subList[0].HPrice);
                oSub.HWHID = DBUtility.ClsPub.isLong(subList[0].HWHID);
                oSub.HSPID = DBUtility.ClsPub.isLong(subList[0].HSPID);
                oSub.HSCWHID = 0;
                oSub.HSCSPID = 0;
                oSub.HSPGroupID = DBUtility.ClsPub.isLong(subList[0].HSPGroupID);
                oSub.HBatchNo = DBUtility.ClsPub.isStrNull(subList[0].HBatchNo);
                oSub.HNewModel = DBUtility.ClsPub.isStrNull(subList[0].HNewModel);
                oSub.HWallThickness = DBUtility.ClsPub.isStrNull(subList[0].HWallThickness);
                oSub.HHardness = DBUtility.ClsPub.isStrNull(subList[0].HHardness);
                oSub.HLastProdModel = DBUtility.ClsPub.isStrNull(subList[0].HLastProdModel);
                oSub.HDiameter = DBUtility.ClsPub.isStrNull(subList[0].HDiameter);
                oSub.HBackFlag = DBUtility.ClsPub.isStrNull(subList[0].HBackFlag);
                BillNew.DetailColl.Add(oSub);
                bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
                //提示
                if (bResult == true)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = ClsPub.sExeReturnInfo + "单据号:" + mainList[0].HBillNo.Trim();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region 模具生产领用单
        #region 模具生产领用单保存
        [Route("Sc_MouldProdOutBill/MouldProdOutBill_Save")]
        [HttpPost]
        public object MouldProdOutAdd([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            //保存单据
            return objJsonResult = MouldProdOutAddBill(msg1);
        }
        public json MouldProdOutAddBill(string msg1)
        {
            //string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            //string msg2 = sArray[0].ToString();
            //string msg3 = sArray[0].ToString();
            bool bResult;
            try
            {
                //msg2 = "[" + msg2.ToString() + "]";
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsSc_MouldProdOutBill BillNew = new DAL.ClsSc_MouldProdOutBill();
                List<Model.ClsSc_MouldStockBillMain> mainList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldStockBillMain>>(msg1);
                List<Model.ClsSc_MouldStockBillSub> subList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(msg1);
                //判断会计期是否合理
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = mainList[0].HDate;//日期
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                BillNew.omodel.HYear = sYear;
                BillNew.omodel.HPeriod = sPeriod;
                BillNew.omodel.HInterID = mainList[0].HInterID;
                BillNew.omodel.HBillNo = mainList[0].HBillNo.Trim();
                BillNew.omodel.HMaker = mainList[0].HMaker;
                BillNew.omodel.HDate = HDate;
                BillNew.omodel.HWHID = mainList[0].HWHID;
                BillNew.omodel.HSupID = 0;
                BillNew.omodel.HSCWHID = 0;
                BillNew.omodel.HEmpID = 0;
                BillNew.omodel.HManagerID = 0;
                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
                BillNew.omodel.HDeptID = mainList[0].HDeptID;
                BillNew.omodel.HExplanation = mainList[0].HExplanation;
                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
                BillNew.DetailColl = new List<Model.ClsSc_MouldStockBillSub>();
                Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
                oSub.HInterID = mainList[0].HInterID;
                oSub.HEntryID = 1;
                oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[0].HRemark);
                oSub.HSourceInterID = DBUtility.ClsPub.isLong(subList[0].HSourceInterID);
                oSub.HSourceEntryID = DBUtility.ClsPub.isLong(subList[0].HSourceEntryID);
                oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillType);
                oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillNo);
                oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[0].HRelationQty);
                oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[0].HRelationMoney);
                oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[0].HCloseMan);
                oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[0].HEntryCloseDate);
                oSub.HCloseType = DBUtility.ClsPub.isBool(subList[0].HCloseType);
                oSub.HMaterID = DBUtility.ClsPub.isLong(subList[0].HMaterID);
                oSub.HPropertyID = DBUtility.ClsPub.isLong(subList[0].HPropertyID);
                oSub.HSecUnitID = DBUtility.ClsPub.isLong(subList[0].HSecUnitID);
                oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(subList[0].HSecUnitRate);
                oSub.HUnitID = DBUtility.ClsPub.isLong(subList[0].HUnitID);
                oSub.HQtyMust = DBUtility.ClsPub.isDoule(subList[0].HQtyMust);
                oSub.HQty = DBUtility.ClsPub.isDoule(subList[0].HQty);
                oSub.HBarCode = DBUtility.ClsPub.isStrNull(subList[0].HBarCode);
                if (oSub.HQty <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡数量不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HDesignLife = DBUtility.ClsPub.isLong(subList[0].HDesignLife);
                if (oSub.HDesignLife < 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "设计寿命不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HLeaveLife = DBUtility.ClsPub.isLong(subList[0].HLeaveLife);
                oSub.HPrice = DBUtility.ClsPub.isDoule(subList[0].HPrice);
                oSub.HWHID = DBUtility.ClsPub.isLong(subList[0].HWHID);
                oSub.HSPID = DBUtility.ClsPub.isLong(subList[0].HSPID);
                oSub.HSCWHID = 0;
                oSub.HSCSPID = 0;
                oSub.HSPGroupID = DBUtility.ClsPub.isLong(subList[0].HSPGroupID);
                oSub.HBatchNo = DBUtility.ClsPub.isStrNull(subList[0].HBatchNo);
                oSub.HNewModel = DBUtility.ClsPub.isStrNull(subList[0].HNewModel);
                oSub.HWallThickness = DBUtility.ClsPub.isStrNull(subList[0].HWallThickness);
                oSub.HHardness = DBUtility.ClsPub.isStrNull(subList[0].HHardness);
                oSub.HLastProdModel = DBUtility.ClsPub.isStrNull(subList[0].HLastProdModel);
                oSub.HDiameter = DBUtility.ClsPub.isStrNull(subList[0].HDiameter);
                oSub.HBackFlag = DBUtility.ClsPub.isStrNull(subList[0].HBackFlag);
                BillNew.DetailColl.Add(oSub);
                bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
                //提示
                if (bResult == true)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = ClsPub.sExeReturnInfo + "单据号:" + mainList[0].HInterID.ToString()+"单据主ID:"+ mainList[0].HInterID;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region 模具生产退库单
        #region 模具生产退库单保存
        [Route("Sc_MouldProdBackBill/MouldProdBackBill_Save")]
        [HttpPost]
        public object MoulddProdBackAdd([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            //保存单据
            return objJsonResult = MoulddProdBackAddBill(msg1);
        }
        public json MoulddProdBackAddBill(string msg1)
        {
            bool bResult;
            try
            {
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsSc_MouldProdBackBill BillNew = new DAL.ClsSc_MouldProdBackBill();
                List<Model.ClsSc_MouldProdBackBillMain> mainList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldProdBackBillMain>>(msg1);
                List<Model.ClsSc_MouldStockBillSub> subList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(msg1);
                //判断会计期是否合理
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = mainList[0].HDate;//日期
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                BillNew.omodel.HYear = sYear;
                BillNew.omodel.HPeriod = sPeriod;
                BillNew.omodel.HBillNo = mainList[0].HBillNo.Trim();
                BillNew.omodel.HMaker = mainList[0].HMaker;
                BillNew.omodel.HDate = HDate;
                BillNew.omodel.HWHID = mainList[0].HWHID;
                BillNew.omodel.HSupID = 0;
                BillNew.omodel.HSCWHID = 0;
                BillNew.omodel.HEmpID = 0;
                BillNew.omodel.HManagerID = 0;
                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
                BillNew.omodel.HDeptID = mainList[0].HDeptID;
                BillNew.omodel.HExplanation = mainList[0].HExplanation;
                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
                BillNew.DetailColl = new List<Model.ClsSc_MouldStockBillSub>();
                Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
                oSub.HEntryID = 1;
                oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[0].HRemark);
                oSub.HSourceInterID = DBUtility.ClsPub.isLong(subList[0].HSourceInterID);
                oSub.HSourceEntryID = DBUtility.ClsPub.isLong(subList[0].HSourceEntryID);
                oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillType);
                oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillNo);
                oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[0].HRelationQty);
                oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[0].HRelationMoney);
                oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[0].HCloseMan);
                oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[0].HEntryCloseDate);
                oSub.HCloseType = DBUtility.ClsPub.isBool(subList[0].HCloseType);
                oSub.HMaterID = DBUtility.ClsPub.isLong(subList[0].HMaterID);
                oSub.HPropertyID = DBUtility.ClsPub.isLong(subList[0].HPropertyID);
                oSub.HSecUnitID = DBUtility.ClsPub.isLong(subList[0].HSecUnitID);
                oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(subList[0].HSecUnitRate);
                oSub.HUnitID = DBUtility.ClsPub.isLong(subList[0].HUnitID);
                oSub.HQtyMust = DBUtility.ClsPub.isDoule(subList[0].HQtyMust);
                oSub.HQty = DBUtility.ClsPub.isDoule(subList[0].HQty);
                oSub.HBarCode = DBUtility.ClsPub.isStrNull(subList[0].HBarCode);
                if (oSub.HQty <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡数量不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HDesignLife = DBUtility.ClsPub.isLong(subList[0].HDesignLife);
                if (oSub.HDesignLife < 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "设计寿命不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HLeaveLife = DBUtility.ClsPub.isLong(subList[0].HLeaveLife);
                oSub.HPrice = DBUtility.ClsPub.isDoule(subList[0].HPrice);
                oSub.HWHID = DBUtility.ClsPub.isLong(subList[0].HWHID);
                oSub.HSPID = DBUtility.ClsPub.isLong(subList[0].HSPID);
                oSub.HSCWHID = 0;
                oSub.HSCSPID = 0;
                oSub.HSPGroupID = DBUtility.ClsPub.isLong(subList[0].HSPGroupID);
                oSub.HBatchNo = DBUtility.ClsPub.isStrNull(subList[0].HBatchNo);
                oSub.HNewModel = DBUtility.ClsPub.isStrNull(subList[0].HNewModel);
                oSub.HWallThickness = DBUtility.ClsPub.isStrNull(subList[0].HWallThickness);
                oSub.HHardness = DBUtility.ClsPub.isStrNull(subList[0].HHardness);
                oSub.HLastProdModel = DBUtility.ClsPub.isStrNull(subList[0].HLastProdModel);
                oSub.HDiameter = DBUtility.ClsPub.isStrNull(subList[0].HDiameter);
                oSub.HBackFlag = DBUtility.ClsPub.isStrNull(subList[0].HBackFlag);
                oSub.HDesignLife = DBUtility.ClsPub.isLong(subList[0].HDesignLife);
                oSub.HUseLife = DBUtility.ClsPub.isLong(subList[0].HUseLife);
                BillNew.DetailColl.Add(oSub);
                bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
                //提示
                if (bResult == true)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = ClsPub.sExeReturnInfo + "单据号:" + mainList[0].HBillNo.Trim();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region 模具处理出库单
        #region 模具处理出库单保存
        [Route("Sc_MouldScrapOutBill/MouldScrapOutBill_Save")]
        [HttpPost]
        public object MouldScrapOutAdd([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            //保存单据
            return objJsonResult = MouldScrapOutAddBill(msg1);
        }
        public json MouldScrapOutAddBill(string msg1)
        {
            bool bResult;
            try
            {
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsSc_MouldScrapOutBill BillNew = new DAL.ClsSc_MouldScrapOutBill();
                List<Models.ClsSc_MouldScrapOutBillMain> mainList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Models.ClsSc_MouldScrapOutBillMain>>(msg1);
                List<Models.ClsSc_MouldStockBillSub> subList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Models.ClsSc_MouldStockBillSub>>(msg1);
                //判断会计期是否合理
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = mainList[0].HDate;//日期
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                BillNew.omodel.HYear = sYear;
                BillNew.omodel.HPeriod = sPeriod;
                BillNew.omodel.HBillNo = mainList[0].HBillNo.Trim();
                BillNew.omodel.HMaker = mainList[0].HMaker;
                BillNew.omodel.HDate = HDate;
                BillNew.omodel.HWHID = mainList[0].HWHID;
                BillNew.omodel.HSupID = 0;
                BillNew.omodel.HSCWHID = 0;
                BillNew.omodel.HEmpID = 0;
                BillNew.omodel.HManagerID = 0;
                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
                BillNew.omodel.HDeptID = mainList[0].HDeptID;
                BillNew.omodel.HExplanation = mainList[0].HExplanation;
                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
                BillNew.DetailColl = new List<Model.ClsSc_MouldStockBillSub>();
                Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
                oSub.HEntryID = 1;
                oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[0].HRemark);
                oSub.HSourceInterID = DBUtility.ClsPub.isLong(subList[0].HSourceInterID);
                oSub.HSourceEntryID = DBUtility.ClsPub.isLong(subList[0].HSourceEntryID);
                oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillType);
                oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillNo);
                oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[0].HRelationQty);
                oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[0].HRelationMoney);
                oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[0].HCloseMan);
                oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[0].HEntryCloseDate);
                oSub.HCloseType = DBUtility.ClsPub.isBool(subList[0].HCloseType);
                oSub.HMaterID = DBUtility.ClsPub.isLong(subList[0].HMaterID);
                oSub.HPropertyID = DBUtility.ClsPub.isLong(subList[0].HPropertyID);
                oSub.HSecUnitID = DBUtility.ClsPub.isLong(subList[0].HSecUnitID);
                oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(subList[0].HSecUnitRate);
                oSub.HUnitID = DBUtility.ClsPub.isLong(subList[0].HUnitID);
                oSub.HQtyMust = DBUtility.ClsPub.isDoule(subList[0].HQtyMust);
                oSub.HQty = DBUtility.ClsPub.isDoule(subList[0].HQty);
                oSub.HBarCode = DBUtility.ClsPub.isStrNull(subList[0].HBarCode);
                if (oSub.HQty <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡数量不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HDesignLife = DBUtility.ClsPub.isLong(subList[0].HDesignLife);
                if (oSub.HDesignLife < 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "设计寿命不能为0或者小于0";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oSub.HLeaveLife = DBUtility.ClsPub.isLong(subList[0].HLeaveLife);
                oSub.HPrice = DBUtility.ClsPub.isDoule(subList[0].HPrice);
                oSub.HWHID = DBUtility.ClsPub.isLong(subList[0].HWHID);
                oSub.HSPID = DBUtility.ClsPub.isLong(subList[0].HSPID);
                oSub.HSCWHID = 0;
                oSub.HSCSPID = 0;
                oSub.HSPGroupID = DBUtility.ClsPub.isLong(subList[0].HSPGroupID);
                oSub.HBatchNo = DBUtility.ClsPub.isStrNull(subList[0].HBatchNo);
                oSub.HNewModel = DBUtility.ClsPub.isStrNull(subList[0].HNewModel);
                oSub.HWallThickness = DBUtility.ClsPub.isStrNull(subList[0].HWallThickness);
                oSub.HHardness = DBUtility.ClsPub.isStrNull(subList[0].HHardness);
                oSub.HLastProdModel = DBUtility.ClsPub.isStrNull(subList[0].HLastProdModel);
                oSub.HDiameter = DBUtility.ClsPub.isStrNull(subList[0].HDiameter);
                oSub.HBackFlag = DBUtility.ClsPub.isStrNull(subList[0].HBackFlag);
                oSub.HDesignLife = DBUtility.ClsPub.isLong(subList[0].HDesignLife);
                oSub.HUseLife = DBUtility.ClsPub.isLong(subList[0].HUseLife);
                BillNew.DetailColl.Add(oSub);
                bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
                //提示
                if (bResult == true)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = ClsPub.sExeReturnInfo + "单据号:" + mainList[0].HBillNo.Trim();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region 模具其他出库单
        #region 模具其他出库单保存
@@ -426,6 +1480,317 @@
        #endregion
        #region 设备保养记录单保存
        [Route("Sb_EquipMaintainBill/EquipMaintainBill_Save")]
        [HttpPost]
        public object EquipMaintainBill_Save([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            return objJsonResult = EquipMaintainAddBill(msg1);
        }
        public json EquipMaintainAddBill(string msg1)
        {
            bool bResult;
            try
            {
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsSb_EquipMaintainBill BillNew = new DAL.ClsSb_EquipMaintainBill();
                List<Model.ClsSb_EquipMaintainBillMain> mainList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSb_EquipMaintainBillMain>>(msg1);
                List<Model.ClsSb_EquipMaintainBillSub> subList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSb_EquipMaintainBillSub>>(msg1);
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = mainList[0].HDate;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                BillNew.omodel.HYear = sYear;
                BillNew.omodel.HPeriod = sPeriod;
                BillNew.omodel.HBillNo = mainList[0].HBillNo.Trim();
                BillNew.omodel.HMaker = mainList[0].HMaker;
                BillNew.omodel.HDate = HDate;
                BillNew.omodel.HEquipID = mainList[0].HEquipID;
                BillNew.omodel.HDeptID = mainList[0].HDeptID;
                BillNew.omodel.HBeginDate = mainList[0].HBeginDate;
                BillNew.omodel.HEndDate = mainList[0].HEndDate;
                //BillNew.omodel.HCycleUnit = mainList[0].HCycleUnit;
                //BillNew.omodel.HPlanTimes = mainList[0].HPlanTimes;
                //BillNew.omodel.HTimes = mainList[0].HTimes;
                BillNew.omodel.HExplanation = mainList[0].HExplanation;
                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
                //BillNew.omodel.HMouldID = mainList[0].HMouldID;
                //BillNew.omodel.HSupID = mainList[0].HSupID;
                //BillNew.omodel.HRepairType = mainList[0].HRepairType;
                //BillNew.omodel.HNewModel = mainList[0].HNewModel;
                //BillNew.omodel.HNewDesignLife = mainList[0].HNewDesignLife;
                //BillNew.omodel.HEquipID = mainList[0].HEquipID;
                BillNew.DetailColl = new List<Model.ClsSb_EquipMaintainBillSub>();
                Model.ClsSb_EquipMaintainBillSub oSub = new Model.ClsSb_EquipMaintainBillSub();
                oSub.HEntryID = 1;
                oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[0].HRemark);
                oSub.HSourceInterID = DBUtility.ClsPub.isLong(subList[0].HSourceInterID);
                oSub.HSourceEntryID = DBUtility.ClsPub.isLong(subList[0].HSourceEntryID);
                oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillType);
                oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillNo);
                oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[0].HRelationQty);
                oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[0].HRelationMoney);
                oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[0].HCloseMan);
                oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[0].HEntryCloseDate);
                oSub.HCloseType = DBUtility.ClsPub.isBool(subList[0].HCloseType);
                oSub.HManagerID = DBUtility.ClsPub.isLong(subList[0].HManagerID);
                BillNew.DetailColl.Add(oSub);
                bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
                if (bResult == true)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = ClsPub.sExeReturnInfo + "单据号:" + mainList[0].HBillNo.Trim();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 设备维修记录单保存
        [Route("Sb_EquipRepairWorkBill/EquipRepairWorkBill_Save")]
        [HttpPost]
        public object EquipRepairWorkBill_Save([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            return objJsonResult = EquipRepairWorkAddBill(msg1);
        }
        public json EquipRepairWorkAddBill(string msg1)
        {
            bool bResult;
            try
            {
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsSb_EquipRepairWorkBill BillNew = new DAL.ClsSb_EquipRepairWorkBill();
                List<Model.ClsSb_EquipRepairWorkBillMain> mainList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSb_EquipRepairWorkBillMain>>(msg1);
                List<Model.ClsSb_EquipRepairWorkBillSub> subList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSb_EquipRepairWorkBillSub>>(msg1);
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = mainList[0].HDate;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                BillNew.omodel.HYear = sYear;
                BillNew.omodel.HPeriod = sPeriod;
                BillNew.omodel.HBillNo = mainList[0].HBillNo.Trim();
                BillNew.omodel.HMaker = mainList[0].HMaker;
                BillNew.omodel.HDate = HDate;
                BillNew.omodel.HEquipID = mainList[0].HEquipID;
                BillNew.omodel.HDeptID = mainList[0].HDeptID;
                BillNew.omodel.HRepairBeginDate = mainList[0].HRepairBeginDate;
                BillNew.omodel.HRepairEndDate = mainList[0].HRepairEndDate;
                //BillNew.omodel.HCycleUnit = mainList[0].HCycleUnit;
                //BillNew.omodel.HPlanTimes = mainList[0].HPlanTimes;
                //BillNew.omodel.HTimes = mainList[0].HTimes;
                BillNew.omodel.HExplanation = mainList[0].HExplanation;
                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
                //BillNew.omodel.HMouldID = mainList[0].HMouldID;
                //BillNew.omodel.HSupID = mainList[0].HSupID;
                //BillNew.omodel.HRepairType = mainList[0].HRepairType;
                //BillNew.omodel.HNewModel = mainList[0].HNewModel;
                //BillNew.omodel.HNewDesignLife = mainList[0].HNewDesignLife;
                //BillNew.omodel.HEquipID = mainList[0].HEquipID;
                BillNew.DetailColl = new List<Model.ClsSb_EquipRepairWorkBillSub>();
                Model.ClsSb_EquipRepairWorkBillSub oSub = new Model.ClsSb_EquipRepairWorkBillSub();
                oSub.HEntryID = 1;
                oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[0].HRemark);
                oSub.HSourceInterID = DBUtility.ClsPub.isLong(subList[0].HSourceInterID);
                oSub.HSourceEntryID = DBUtility.ClsPub.isLong(subList[0].HSourceEntryID);
                oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillType);
                oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillNo);
                oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[0].HRelationQty);
                oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[0].HRelationMoney);
                oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[0].HCloseMan);
                oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[0].HEntryCloseDate);
                oSub.HCloseType = DBUtility.ClsPub.isBool(subList[0].HCloseType);
                oSub.HRepairID = mainList[0].HRepairID;
                BillNew.DetailColl.Add(oSub);
                bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
                if (bResult == true)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = ClsPub.sExeReturnInfo + "单据号:" + mainList[0].HBillNo.Trim();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 设备点检记录单保存
        [Route("Sb_EquipDotCheckBill/EquipDotCheckBill_Save")]
        [HttpPost]
        public object EquipDotCheckBill_Save([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            return objJsonResult = EquipDotCheckAddBill(msg1);
        }
        public json EquipDotCheckAddBill(string msg1)
        {
            bool bResult;
            try
            {
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsSb_EquipDotCheckBill BillNew = new DAL.ClsSb_EquipDotCheckBill();
                List<Model.ClsSb_EquipDotCheckBillMain> mainList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSb_EquipDotCheckBillMain>>(msg1);
                List<Model.ClsSb_EquipDotCheckBillSub> subList = Newtonsoft
                    .Json
                    .JsonConvert
                    .DeserializeObject<List<Model.ClsSb_EquipDotCheckBillSub>>(msg1);
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = mainList[0].HDate;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                BillNew.omodel.HYear = sYear;
                BillNew.omodel.HPeriod = sPeriod;
                BillNew.omodel.HBillNo = mainList[0].HBillNo.Trim();
                BillNew.omodel.HMaker = mainList[0].HMaker;
                BillNew.omodel.HDate = HDate;
                BillNew.omodel.HEquipID = mainList[0].HEquipID;
                BillNew.omodel.HDeptID = mainList[0].HDeptID;
                BillNew.omodel.HBeginDate = mainList[0].HBeginDate;
                BillNew.omodel.HEndDate = mainList[0].HEndDate;
                //BillNew.omodel.HCycleUnit = mainList[0].HCycleUnit;
                //BillNew.omodel.HPlanTimes = mainList[0].HPlanTimes;
                //BillNew.omodel.HTimes = mainList[0].HTimes;
                BillNew.omodel.HExplanation = mainList[0].HExplanation;
                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
                //BillNew.omodel.HMouldID = mainList[0].HMouldID;
                //BillNew.omodel.HSupID = mainList[0].HSupID;
                //BillNew.omodel.HRepairType = mainList[0].HRepairType;
                //BillNew.omodel.HNewModel = mainList[0].HNewModel;
                //BillNew.omodel.HNewDesignLife = mainList[0].HNewDesignLife;
                //BillNew.omodel.HEquipID = mainList[0].HEquipID;
                BillNew.DetailColl = new List<Model.ClsSb_EquipDotCheckBillSub>();
                Model.ClsSb_EquipDotCheckBillSub oSub = new Model.ClsSb_EquipDotCheckBillSub();
                oSub.HEntryID = 1;
                oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[0].HRemark);
                oSub.HSourceInterID = DBUtility.ClsPub.isLong(subList[0].HSourceInterID);
                oSub.HSourceEntryID = DBUtility.ClsPub.isLong(subList[0].HSourceEntryID);
                oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillType);
                oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(subList[0].HSourceBillNo);
                oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[0].HRelationQty);
                oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[0].HRelationMoney);
                oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[0].HCloseMan);
                oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[0].HEntryCloseDate);
                oSub.HCloseType = DBUtility.ClsPub.isBool(subList[0].HCloseType);
                BillNew.DetailColl.Add(oSub);
                bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
                if (bResult == true)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = ClsPub.sExeReturnInfo + "单据号:" + mainList[0].HBillNo.Trim();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region 模具寿命调整单