1
zrg
13 小时以前 41e5436d8a03b7e3f3412dad1e4b040043ba7b3f
WebAPI/Controllers/MJGL/Sc_MouldScrapRequestBillController.cs
@@ -244,6 +244,7 @@
                    NewHEntryID += 1;
                }
                oCN.RunProc($@"Insert into Sc_MouldScrapRequestBillSub 
                (HInterID,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty
               ,HRelationMoney,HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust,HQty,HPrice,HMoney,HDesignLife,HLeaveLife,HWHID) 
@@ -261,6 +262,208 @@
        }
        #endregion
        #region 器具报废申请单 保存/编辑功能
        [Route("Sc_MouldScrapRequestBill/MouldScrapRequestBillEdit1")]
        [HttpPost]
        public object MouldScrapRequestBillEdit1([FromBody] JObject sMainSub)
        {
            try
            {
                var _value = sMainSub["sMainSub"].ToString();
                string msg1 = _value.ToString();
                oCN.BeginTran();
                //保存主表
                objJsonResult = AddBillMain1(msg1);
                if (objJsonResult.code == "0")
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = objJsonResult.Message;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                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
        public json AddBillMain1(string msg1)
        {
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString(); //主表数据
            string msg3 = sArray[1].ToString(); //子表数据
            try
            {
                msg2 = "[" + msg2.ToString() + "]";
                List<ClsSc_MouldScrapRequestBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_MouldScrapRequestBillMain>>(msg2);
                List<ClsSc_MouldScrapRequestBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_MouldScrapRequestBillSub>>(msg3);
                DataTable dtMould = GetMaterialByMouldNo(DetailColl[0].HMaterID);
                DataRow row = dtMould.Rows[0];
                string sErrMsg = "";
                Int64 HInterID = 0;
                string HBillNo = "";
                HInterID = DBUtility.ClsPub.CreateBillID_Prod("3823", ref sErrMsg);
                HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3823", ref sErrMsg, true);
                long HBillStatus = 1;//单据号
                long HPRDORGID = 100038;//组织
                DateTime HDate = DateTime.Now;//日期
                string HRemark = "钉钉数据同步";//备注
                long HEmpID =  0;//申请人
                long HDeptID = 0;//部门
                long HMangerID = 0;//负责人
                long HWHID = row["HWhID"] != DBNull.Value ? Convert.ToInt32(row["HWhID"]) : 0;
                string HReason = "钉钉数据同步报废";//报废原因
                string HMaker = "钉钉";//制单人
                DateTime dt = DateTime.Now;
                //ds = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList where hmainid=" + HInterID + " and 单据号='" + HBillNo + "'", "h_v_IF_POOrderBillList");
                    //DataSet Ds;
                    //Int64 NewHInterID = 1;
                    //Ds = oCN.RunProcReturn("select MAX(HInterID)HInterID from Cg_POOrderBillMain", "Cg_POOrderBillMain");
                    //if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0)
                    //{
                    //    NewHInterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString());
                    //    NewHInterID += 1;
                    //}
                    //主表
                    oCN.RunProc(@"Insert Into Sc_MouldScrapRequestBillMain
                        (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate,HBillNo,HBillStatus
                       ,HReason,HExplanation,HRemark,HBackRemark,HMaker,HMakeDate,HMainSourceInterID
                       ,HMainSourceEntryID,HMainSourceBillNo,HEmpID,HDeptID,HMangerID,HWHID,HCheckItemNowID
                        ,HCheckItemNextID,HCheckFlowID,HBacker,HChecker,HUpDater,HCloseMan,HCloseType,HDeleteMan,HInnerBillNo)
                        values(" + HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 3823 + "','" +
                    3823 + "','" + HDate + "','" + HBillNo + "','" + HBillStatus + "','" + HReason + "','" + mainList[0].HExplanation + "','" + HRemark +
                    "','" + mainList[0].HBackRemark + "','" + HMaker + "','" + dt + "'," + mainList[0].HMainSourceInterID +
                    "," + mainList[0].HMainSourceEntryID + ",'" + mainList[0].HMainSourceBillNo + "'," + HEmpID + "," +HDeptID + "," + HMangerID + "," + HWHID + ",0,0,0" + ",'" + mainList[0].HBacker + "','" + mainList[0].HChecker + "','" + mainList[0].HUpDater + "','" + mainList[0].HCloseMan + "'," + 0 + ",'" + mainList[0].HDeleteMan + "','" + mainList[0].HInnerBillNo + "'" + ")");
                //保存子表
                objJsonResult = AddBillSub1(msg3, HInterID);
                if (objJsonResult.code == "0")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = objJsonResult.Message;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = null;
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        public json AddBillSub1(string msg3, long HInterID)
        {
            List<ClsSc_MouldScrapRequestBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_MouldScrapRequestBillSub>>(msg3);
            int i = 0;
            foreach (ClsSc_MouldScrapRequestBillSub oSub in DetailColl)
            {
                i++;
                DataSet Cs;
                Int64 NewHEntryID = 1;
                Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Sc_MouldScrapRequestBillSub", "Sc_MouldScrapRequestBillSub");
                if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
                {
                    NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
                    NewHEntryID += 1;
                }
                DataTable dtMould = GetMaterialByMouldNo(oSub.HMaterID);
                DataRow row = dtMould.Rows[0];
                oSub.HUnitID = row["HUnitID"] != DBNull.Value ? Convert.ToInt32(row["HUnitID"]) : 0;
                oSub.HQty = 1;
                oSub.HWHID = row["HWhID"] != DBNull.Value ? Convert.ToInt32(row["HWhID"]) : 0;
                oSub.HMaterID = row["hmainid"] != DBNull.Value ? Convert.ToInt32(row["hmainid"]) : 0;
                oCN.RunProc($@"Insert into Sc_MouldScrapRequestBillSub
                (HInterID,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty
               ,HRelationMoney,HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust,HQty,HPrice,HMoney,HDesignLife,HLeaveLife,HWHID)
                 values({HInterID},{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID}
                ,{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney},{oSub.HMaterID}
                ,{oSub.HPropertyID},{oSub.HSecUnitID},{oSub.HSecUnitRate},{oSub.HUnitID},0,{oSub.HQty},{oSub.HPrice},{oSub.HMoney},{oSub.HDesignLife}
                ,{oSub.HLeaveLife},{oSub.HWHID})");
            }
            objJsonResult.code = "1";
            objJsonResult.count = 1;
            objJsonResult.Message = null;
            objJsonResult.data = null;
            return objJsonResult;
        }
        #region 根据内码获取获取器具信息
        public DataTable GetMaterialByMouldNo(long HMaterID)
        {
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            string sql = @"SELECT
                    HUnitID,
                    HWhID,
                    HSPID,
                    hmainid
               FROM h_v_Gy_MouldFileList as a
               WHERE a.HMaterID= '" + HMaterID + "' AND a.HBillType = '3899'";
            var dataSet = oCN.RunProcReturn(sql, "h_v_Gy_MouldFileList");
            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
                return null;
            return dataSet.Tables[0];
        }
        #endregion
        #region [删除]
        [Route("Sc_MouldScrapRequestBill/Delete")]
        [HttpGet]