|  |  |  | 
|---|
|  |  |  | //反序列化传递的值 | 
|---|
|  |  |  | ComplementGoodBill com = JsonConvert.DeserializeObject<ComplementGoodBill>(sWhere.ToString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_Query '{com.HSeOrderBillNo}','{com.DepartmentName}','{com.MaterialNumber}','{com.MaterialName}'," + | 
|---|
|  |  |  | $"'{com.MaterialModel}','{com.HICMOBillNo}','{com.CPNumber}','{com.CPName}','{com.CPModel}','{com.HBeginDate}','{com.HEndDate}'," + | 
|---|
|  |  |  | ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_Query '{com.HSeOrderBillNo}','{com.DepartmentName}','{com.MaterialNumber}','{com.MaterialName}'," + | 
|---|
|  |  |  | $"'{com.MaterialModel}','{com.HICMOBillNo}','{com.CPNumber}','{com.CPName}','{com.CPModel}','{com.HBeginDate}','{com.HEndDate.AddDays(1).AddSeconds(-1)}'," + | 
|---|
|  |  |  | $"{com.ps},{com.Organization},'{com.user}' ", "h_p_JIT_CallGoodsPlatForm_Query"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | 
|---|
|  |  |  | public long HSouceInterID = 0;//HSourceInterIDCol | 
|---|
|  |  |  | public long HSourceEntryID = 0;//HSourceEntryIDCol | 
|---|
|  |  |  | public int? 叫料数量 = 0;//HBHGQtyCol | 
|---|
|  |  |  | public int? 已叫料数量 = 0;//HBHGQtyCol | 
|---|
|  |  |  | public int? 已配送数量 = 0;//HBHGQtyCol | 
|---|
|  |  |  | public double? 退料数量 = 0;//退料数量 | 
|---|
|  |  |  | public long HSTOCKID = 0;//HSTOCKID | 
|---|
|  |  |  | public string 退料原因 { get; set; }//退料原因 | 
|---|
|  |  |  | 
|---|
|  |  |  | public double 计划发料数量 = 0;//HPlanQtyCol | 
|---|
|  |  |  | public int HWHID = 0;//HWHIDCol | 
|---|
|  |  |  | public int? 调出仓库id = 0;//调出仓库id | 
|---|
|  |  |  | public int? 调入仓库id = 0;//调入仓库id | 
|---|
|  |  |  | public string HMaterialNumberCol { get; set; } | 
|---|
|  |  |  | public string HMaterialModelCol { get; set; } | 
|---|
|  |  |  | public string HProcID { get; set; }//HProcIDCol | 
|---|
|  |  |  | 
|---|
|  |  |  | public long HICMOInterID = 0;// HICMOInterIDCol | 
|---|
|  |  |  | public long HICMOEntryID = 0;// HICMOEntryIDCol | 
|---|
|  |  |  | public long HDeptID = 0;//HDeptID | 
|---|
|  |  |  | public long 库存数量 = 0; | 
|---|
|  |  |  | public double HBHGQtyCol = 0; | 
|---|
|  |  |  | public string 销售订单号 { get; set; }//HSeOrderNOCol | 
|---|
|  |  |  | public DateTime? 计划开工日期 = null;//HBPlanDateCol | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //临时表  叫料子表 | 
|---|
|  |  |  | 
|---|
|  |  |  | public string HSeOrderNo; | 
|---|
|  |  |  | public string HSeOrderBillNo; | 
|---|
|  |  |  | public int HWHID = 0; | 
|---|
|  |  |  | public int HSCWHID = 0; | 
|---|
|  |  |  | public long HOutOrgID = 0; | 
|---|
|  |  |  | public long HICMOInterID = 0; | 
|---|
|  |  |  | public long HICMOEntryID = 0; | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (listCa[i].HMaterialID != 0 && listCa[i].叫料数量 > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (listCa[i].叫料数量 > listCa[i].计划发料数量) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "叫料数量大于计划发料数量!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (listCa[i].库存数量 == 0 && listCa[i].叫料数量 > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "库存数量为0,无法叫料!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (listCa[i].叫料数量 > listCa[i].库存数量) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "库存数量小于叫料数量,无法叫料!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (listCa[i].叫料数量 > 0 && listCa[i].调入仓库id == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "请选择调入仓库!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (listCa[i].叫料数量 > 0 && listCa[i].调出仓库id == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "请选择调出仓库!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //if (listCa[i].调出仓库可用库存数量 == 0) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    objJsonResult.code = "0"; | 
|---|
|  |  |  | //    objJsonResult.count = 0; | 
|---|
|  |  |  | //    objJsonResult.Message = "调出仓库可用库存数量为0!"; | 
|---|
|  |  |  | //    objJsonResult.data = null; | 
|---|
|  |  |  | //    return objJsonResult; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | j = 1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var txtHBillNo = DBUtility.ClsPub.CreateBillCode_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo, true);//获得一个新的单据号 | 
|---|
|  |  |  | 
|---|
|  |  |  | oSub.HSourceBillNo = listCa[i].HSourceBillNo; | 
|---|
|  |  |  | oSub.HQty =double.Parse(listCa[i].叫料数量.ToString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //if (oSub.HQty <= 0) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    objJsonResult.code = "0"; | 
|---|
|  |  |  | //    objJsonResult.count = 0; | 
|---|
|  |  |  | //    objJsonResult.Message = $"第{i+1}行,叫料数量不能为0或者小于0"; | 
|---|
|  |  |  | //    objJsonResult.data = null; | 
|---|
|  |  |  | //    return objJsonResult; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //if (oSub.HQty > listCa[i].调出仓库可用库存数量) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    objJsonResult.code = "0"; | 
|---|
|  |  |  | //    objJsonResult.count = 0; | 
|---|
|  |  |  | //    objJsonResult.Message = $"第{i+1}行,叫料数量大于该物料调出仓库可用库存数量"; | 
|---|
|  |  |  | //    objJsonResult.data = null; | 
|---|
|  |  |  | //    return objJsonResult; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oSub.HMaterID = listCa[i].HMaterialID; | 
|---|
|  |  |  | oSub.HMaterNumber = listCa[i].HMaterialNumberCol; | 
|---|
|  |  |  | oSub.HModel = listCa[i].HMaterialModelCol; | 
|---|
|  |  |  | oSub.HWHID = listCa[i].HWHID; | 
|---|
|  |  |  | oSub.HWHID = int.Parse(listCa[i].调入仓库id.ToString()); | 
|---|
|  |  |  | oSub.HSCWHID = int.Parse(listCa[i].调出仓库id.ToString()); | 
|---|
|  |  |  | oSub.HProcName = listCa[i].HProcNameCol; | 
|---|
|  |  |  | oSub.HProcID = listCa[i].HProcID; | 
|---|
|  |  |  | oSub.HOutOrgID = listCa[i].HOutOrgID; | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "无任何叫料数量,无法叫料!"; | 
|---|
|  |  |  | objJsonResult.Message = "无任何叫料数量或叫料数量小于0,无法叫料!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | " (HInterID,HEntryID,HRemark" + | 
|---|
|  |  |  | ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + | 
|---|
|  |  |  | ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo,HICMOInterID,HICMOEntryID,HICMOBillNo" + | 
|---|
|  |  |  | ",HDeptID,HMaterID,HQty,HProcID,HWHID,HSPID,HBillNo_bak,HOutOrgID" + | 
|---|
|  |  |  | ",HDeptID,HMaterID,HQty,HProcID,HWHID,HSCWHID,HSPID,HBillNo_bak,HOutOrgID,HStockOutOrgID,HStockInOrgID" + | 
|---|
|  |  |  | ") values(" | 
|---|
|  |  |  | + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'" + | 
|---|
|  |  |  | "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + | 
|---|
|  |  |  | "," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo + "'" + | 
|---|
|  |  |  | "," + oSub.HDeptID.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HQty.ToString() + ",'" + oSub.HProcID + "'," + oSub.HWHID.ToString() + ", " + oSub.HSPID.ToString() +",'',"+oSub.HOutOrgID+") ", ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | "," + oSub.HDeptID.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HQty.ToString() + ",'" + oSub.HProcID + "'," + oSub.HWHID.ToString() + ", " + oSub.HSCWHID.ToString()+"," + oSub.HSPID.ToString() +",'',"+oSub.HOutOrgID+ ","+oSub.HOutOrgID+ "," + omodel.HPRDORGID +") ", ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //主表 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (listCa[i].退料数量 > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (listCa[i].退料数量 > listCa[i].已配送数量) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "退料数量大于已配送数量!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select sum(d.HQty) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " + | 
|---|
|  |  |  | $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if ((double.Parse(ds.Tables[0].Rows[0][0].ToString()==""?"0": ds.Tables[0].Rows[0][0].ToString()) +listCa[i].退料数量) > listCa[i].已叫料数量) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = $"已经退料数量:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},可退料数量为:{(listCa[i].已叫料数量 - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (listCa[i].调入仓库id == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "请选择调入仓库!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (listCa[i].调出仓库id == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "请选择调出仓库!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | flag = AddICStockTuiBill(listCa[i], "666601", "不良品退料", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | j = 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "无任何退料数量,无法退料!"; | 
|---|
|  |  |  | objJsonResult.Message = "无任何退料数量或退料数量小于0,无法退料!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Int64 lngBillKey = listCa.HSouceInterID == 0 ? 0 : listCa.HSouceInterID; | 
|---|
|  |  |  | Int64 lngBillKeyEntry = listCa.HSourceEntryID == 0 ? 0 : listCa.HSourceEntryID; | 
|---|
|  |  |  | double HQty = (double)(listCa.退料数量 == 0 ? 0 : listCa.退料数量); | 
|---|
|  |  |  | long HDeptWHID = listCa.HSTOCKID == 0 ? 0 : listCa.HSTOCKID; | 
|---|
|  |  |  | string HTuiResult = listCa.退料原因 == "" ? "" : listCa.退料原因; | 
|---|
|  |  |  | var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//获得一个新的单据号 | 
|---|
|  |  |  | var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | Int64 lngBillKey = listCa.HSouceInterID == 0 ? 0 : listCa.HSouceInterID; | 
|---|
|  |  |  | Int64 lngBillKeyEntry = listCa.HSourceEntryID == 0 ? 0 : listCa.HSourceEntryID; | 
|---|
|  |  |  | double HQty = (double)(listCa.退料数量 == 0 ? 0 : listCa.退料数量); | 
|---|
|  |  |  | long HDeptWHID = int.Parse(listCa.调入仓库id.ToString()) == 0 ? 0 : int.Parse(listCa.调入仓库id.ToString()); | 
|---|
|  |  |  | string HTuiResult = listCa.退料原因 == "" ? "" : listCa.退料原因; | 
|---|
|  |  |  | var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//获得一个新的单据号 | 
|---|
|  |  |  | var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.BeginTran(); | 
|---|
|  |  |  | //插入子表 | 
|---|
|  |  |  | 
|---|
|  |  |  | " HItemMainID, HSendManID, HWareManID, HStockOutOrgID, HStockInOrgID, HBackType)" + | 
|---|
|  |  |  | $"values({DateTime.Now.Year},{DateTime.Now.Month},{HBillInterID},'{HBillType}',1," + | 
|---|
|  |  |  | $" '{HBillType}','{DateTime.Now}','{HBillNo}',{HOrgID},'{ DBUtility.ClsPub.CurUserName}','{DateTime.Now}','','',0,0,0,''," + | 
|---|
|  |  |  | $" 0, 0, 0, {HOrgID}, 0,'{HBackType}')"); | 
|---|
|  |  |  | $" 0, 0, {listCa.HOutOrgID}, {HOrgID}, 0,'{HBackType}')"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | sReturn = "新增单据成功!"; | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  | 
|---|
|  |  |  | var _value = msg["msg"].ToString(); | 
|---|
|  |  |  | string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|---|
|  |  |  | string msg2 = sArray[0].ToString(); | 
|---|
|  |  |  | string user = sArray[1].ToString(); | 
|---|
|  |  |  | DBUtility.ClsPub.CurUserName = sArray[1].ToString(); | 
|---|
|  |  |  | string HOrgID = sArray[2].ToString(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("JIT_YL_ComplementGoods_Edit", 1, false, user)) | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("JIT_YL_ComplementGoods_Edit", 1, false, DBUtility.ClsPub.CurUserName)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (listCa[i].退料数量 > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (listCa[i].退料数量 > listCa[i].已配送数量) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "退料数量大于已配送数量!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select sum(d.HQty) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " + | 
|---|
|  |  |  | $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if ((double.Parse(ds.Tables[0].Rows[0][0].ToString() == "" ? "0" : ds.Tables[0].Rows[0][0].ToString()) + listCa[i].退料数量) > listCa[i].已叫料数量) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = $"已经退料数量:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},可退料数量为:{(listCa[i].已叫料数量 - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | flag = AddICStockTuiBill(listCa[i], "666602", " 余量退料", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | j = 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | var _value = msg["msg"].ToString(); | 
|---|
|  |  |  | string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|---|
|  |  |  | string msg2 = sArray[0].ToString(); | 
|---|
|  |  |  | string user = sArray[1].ToString(); | 
|---|
|  |  |  | DBUtility.ClsPub.CurUserName = sArray[1].ToString(); | 
|---|
|  |  |  | string HOrgID = sArray[2].ToString(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("JIT_BF_ComplementGoods_Edit", 1, false, user)) | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log("JIT_BF_ComplementGoods_Edit", 1, false, DBUtility.ClsPub.CurUserName)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (listCa[i].退料数量 > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (listCa[i].退料数量 > listCa[i].已配送数量) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "退料数量大于已配送数量!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select sum(d.HQty) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " + | 
|---|
|  |  |  | $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if ((double.Parse(ds.Tables[0].Rows[0][0].ToString() == "" ? "0" : ds.Tables[0].Rows[0][0].ToString()) + listCa[i].退料数量) > listCa[i].已叫料数量) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = $"已经退料数量:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},可退料数量为:{(listCa[i].已叫料数量 - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | flag = AddICStockTuiBill(listCa[i], "666603", "报废退料", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | j = 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 生产叫料平台  叫料拣料信息查询 | 
|---|
|  |  |  | #region 生产叫料平台  叫料拣料信息查询  上查/下查 | 
|---|
|  |  |  | //查询条件 | 
|---|
|  |  |  | public class HlpBill | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public int HSouceInterID = 0; | 
|---|
|  |  |  | public int HSourceEntryID = 0; | 
|---|
|  |  |  | public int Type = 0; | 
|---|
|  |  |  | public string user { get; set; } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | [Route("Sc_ComplementGoodBill/HlpBillList")] | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> columnNameList = new List<object>(); | 
|---|
|  |  |  | //反序列化传递的值 | 
|---|
|  |  |  | HlpBill com = JsonConvert.DeserializeObject<HlpBill>(sWhere.ToString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_DownQuery 0,0,'',0,0,{com.HSouceInterID},{com.HSourceEntryID}"+ | 
|---|
|  |  |  | $",'{com.user}'", "h_p_JIT_CallGoodsPlatForm_DownQuery"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ds != null) | 
|---|
|  |  |  | if (com.Type == 1) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count != 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[0]; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (ds.Tables[1].Rows.Count != 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[1]; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[0]; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //生产叫料平台  下查 | 
|---|
|  |  |  | ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_DownQuery 0,0,'',0,0,{com.HSouceInterID},{com.HSourceEntryID}" + | 
|---|
|  |  |  | $",'{com.user}'", "h_p_JIT_CallGoodsPlatForm_DownQuery"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (com.Type == 2) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //拣料配送 上查 | 
|---|
|  |  |  | ds = oCN.RunProcReturn($"exec h_p_JIT_ComplementGoodsBillList_UpQuery '{com.HSouceInterID}',{com.HSourceEntryID}", "h_p_JIT_ComplementGoodsBillList_UpQuery"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (com.Type == 3) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //拣料配送 下查 | 
|---|
|  |  |  | ds = oCN.RunProcReturn($"exec h_p_JIT_ComplementGoodsBillList_DownQuery '{com.HSouceInterID}',{com.HSourceEntryID}", "h_p_JIT_ComplementGoodsBillList_DownQuery"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //添加列名 | 
|---|
|  |  |  | 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列对象的列名 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //type==1 存储过程里面查询了两次  所有需要判断两张表都有没有数据 | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count != 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[0]; | 
|---|
|  |  |  | objJsonResult.list = columnNameList; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if ((com.Type == 1 ? ds.Tables[1].Rows.Count : ds.Tables[0].Rows.Count) != 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[1]; | 
|---|
|  |  |  | objJsonResult.list = columnNameList; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | objJsonResult.data =null; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[0]; | 
|---|
|  |  |  | objJsonResult.list = columnNameList; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | msg2 = msg2.Replace("\\", ""); | 
|---|
|  |  |  | msg2 = msg2.Replace("\n", ""); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<CallGoodsBill> listCa = new List<CallGoodsBill>(); | 
|---|
|  |  |  | //获取表格数据集合 | 
|---|
|  |  |  | listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString()); | 
|---|
|  |  |  | int a = 0; | 
|---|
|  |  |  | if (listCa.Count > 0) | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from h_v_IF_JIT_CallGoodsBillList ", "h_v_IF_JIT_CallGoodsBillList "); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | for (int i = 0; i < listCa.Count; i++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | long HInterID = DBUtility.ClsPub.CreateBillID_Prod("4602", ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | string HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("4602", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|---|
|  |  |  | long HOutOrgID = int.Parse(listCa[i].HOutOrgID.ToString()); | 
|---|
|  |  |  | long HWHID = int.Parse(listCa[i].HWHID.ToString()); | 
|---|
|  |  |  | ds.Clear(); | 
|---|
|  |  |  | long HInterID = DBUtility.ClsPub.CreateBillID_Prod("4602", ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | string HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("4602", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.RunProc($"exec h_p_JIT_ComplementGoods_Insert {HInterID},'{HBillNo}',{HOrgID},'{user}',{HOutOrgID},{HWHID}"); | 
|---|
|  |  |  | a = 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ds= oCN.RunProcReturn($"exec h_p_JIT_ComplementGoods_Insert {HInterID},'{HBillNo}',{HOrgID},'{user}',0,0", "h_p_JIT_ComplementGoods_Insert"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (a == 1) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "生成拣料单成功"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "生成拣料单失败"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | objJsonResult.code = ds.Tables[0].Rows[0][0].ToString(); | 
|---|
|  |  |  | objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString()); | 
|---|
|  |  |  | objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | msg2 = msg2.Replace("\\", ""); | 
|---|
|  |  |  | msg2 = msg2.Replace("\n", ""); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<CallGoodsBill> listCa = new List<CallGoodsBill>(); | 
|---|
|  |  |  | //获取表格数据集合 | 
|---|
|  |  |  | listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString()); | 
|---|
|  |  |  | int a = 0; | 
|---|
|  |  |  | if (listCa.Count > 0) | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from JIT_CallGoodsBackRequestBillMain where HISCheck=0 ", "JIT_CallGoodsBackRequestBillMain "); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | for (int i = 0; i < listCa.Count; i++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | long HInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | string HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|---|
|  |  |  | //long HOutOrgID = int.Parse(listCa[i].HOutOrgID.ToString()); | 
|---|
|  |  |  | //long HWHID = int.Parse(listCa[i].HWHID.ToString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.RunProc($"exec h_p_JIT_GetCallGoodsBillCount_Back {HInterID},'{HBillNo}',{HOrgID},'{user}'"); | 
|---|
|  |  |  | a = 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | long HInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | string HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|---|
|  |  |  | //long HOutOrgID = int.Parse(listCa[i].HOutOrgID.ToString()); | 
|---|
|  |  |  | //long HWHID = int.Parse(listCa[i].HWHID.ToString()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (a == 1) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "生成退料单成功"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "生成退料单失败"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ds= oCN.RunProcReturn($"exec h_p_JIT_GetCallGoodsBillCount_Back {HInterID},'{HBillNo}',{HOrgID},'{user}'", "h_p_JIT_GetCallGoodsBillCount_Back"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = ds.Tables[0].Rows[0][0].ToString(); | 
|---|
|  |  |  | objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString()); | 
|---|
|  |  |  | objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|