| | |
| | | using WebAPI.Models; |
| | | using System.Windows.Forms; |
| | | using SyntacticSugar.constant; |
| | | |
| | | namespace WebAPI.Controllers |
| | | { |
| | | |
| | |
| | | |
| | | |
| | | |
| | | #region 器具出库申请单 保存1 |
| | | /// <summary> |
| | | /// 器具出库申请单保存 |
| | | /// </summary> |
| | | [Route("Sc_MouldOutRequestBillController/GetSc_MouldOutRequestBill_Save_Json1")] |
| | | [HttpPost] |
| | | public object GetSc_MouldOutRequestBill_Save_Json1([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 sErrMsg = ""; |
| | | string HBillNo = ""; |
| | | HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3849", ref sErrMsg, true); |
| | | |
| | | try |
| | | { |
| | | //表头赋值 |
| | | sMainStr = sMainStr.Replace("\\", ""); |
| | | sMainStr = sMainStr.Replace("\n", ""); |
| | | sMainStr = "[" + sMainStr.ToString() + "]"; |
| | | List<Model.ClsSc_MouldOutRequestBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldOutRequestBillMain>>(sMainStr); |
| | | foreach (Model.ClsSc_MouldOutRequestBillMain oItem in lsmain) |
| | | { |
| | | //单据号是否重复 |
| | | if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, 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; |
| | | oItem.HDate = DateTime.Now; |
| | | if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(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; |
| | | oItem.HMaker = "钉钉"; |
| | | oItem.HRemark = "钉钉数据同步创建"; |
| | | oItem.HBillNo = HBillNo; |
| | | oItem.HSTOCKORGID = 100038; |
| | | oItem.HSupTypeID = 1; |
| | | oBill.omodel = oItem; |
| | | DBUtility.ClsPub.CurUserName = oItem.HMaker; |
| | | |
| | | } |
| | | //表体赋值 |
| | | //按 },{来拆分数组 //去掉【和】 |
| | | sSubStr = sSubStr.Substring(1, sSubStr.Length-2); |
| | | sSubStr = sSubStr.Replace("\\", ""); |
| | | sSubStr = sSubStr.Replace("\n", ""); |
| | | sSubStr = "[" + sSubStr.ToString() + "]"; |
| | | List<Model.ClsSc_MouldOutRequestBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldOutRequestBillSub>>(sSubStr); |
| | | int i = 0; |
| | | foreach (Model.ClsSc_MouldOutRequestBillSub oItemSub in ls) |
| | | { |
| | | i++; |
| | | oItemSub.HEntryID = i; |
| | | DataTable dtMould = GetMaterialByMouldNo(oItemSub.HMaterID); |
| | | DataRow row = dtMould.Rows[0]; |
| | | // 使用三元运算符处理DBNull |
| | | oItemSub.HUnitID = row["HUnitID"] != DBNull.Value ? Convert.ToInt32(row["HUnitID"]) : 0; |
| | | oItemSub.HWHID = row["HWhID"] != DBNull.Value ? Convert.ToInt32(row["HWhID"]) : 0; |
| | | oItemSub.HSPID = row["HSPID"] != DBNull.Value ? Convert.ToInt32(row["HSPID"]) : 0; |
| | | oItemSub.HMaterID = row["hmainid"] != DBNull.Value ? Convert.ToInt32(row["hmainid"]) : 0; |
| | | oItemSub.HStockOrgID = 100038; |
| | | oItemSub.HQty = 1; |
| | | oBill.DetailColl.Add(oItemSub); |
| | | } |
| | | |
| | | //保存 |
| | | bool bResult; |
| | | |
| | | bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | if (bResult) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; //成功! |
| | | objJsonResult.data = null; |
| | | objJsonResult.HInterID = oBill.omodel.HInterID.ToString(); //返回主ID |
| | | 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 |
| | | |
| | | |
| | | |
| | | |
| | | #region 根据内码获取获取器具信息 |
| | | |
| | | public DataTable GetMaterialByMouldNo(long HMaterID) |
| | | { |
| | | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); |
| | | |
| | | string sql = @"SELECT |
| | | HMaterID, |
| | | 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 |
| | | |
| | | |
| | | |
| | | } |
| | | } |