New file |
| | |
| | | using Newtonsoft.Json.Linq; |
| | | using Pub_Class; |
| | | using System; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Web.Http; |
| | | using WebAPI.Models; |
| | | using Newtonsoft.Json; |
| | | using DBUtility; |
| | | |
| | | |
| | | namespace WebAPI.Controllers.SCGL |
| | | { |
| | | public class Sc_ComplementGoodBill_ZXBZController : ApiController |
| | | { |
| | | private json objJsonResult = new json(); |
| | | public DataSet ds = new DataSet(); |
| | | public WebServer webserver = new WebServer(); |
| | | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); |
| | | public ClsXt_BaseBillMain omodel = new ClsXt_BaseBillMain(); |
| | | public JIT_CallGoodsBillSub oSub = new JIT_CallGoodsBillSub(); |
| | | |
| | | #region æå°å
è£
嫿 æ¥è¯¢ |
| | | [Route("Sc_ComplementGoodBill_ZXBZ/JIT_ComplementGoodBill_ZXBZ_List")] |
| | | [HttpGet] |
| | | public object JIT_ComplementGoodBill_ZXBZ_List(string sWhere, string user) |
| | | { |
| | | try |
| | | { |
| | | ////æ¥çæé |
| | | //if (!DBUtility.ClsPub.Security_Log("JIT_ComplementGoodBillMain_Query", 1, false, user)) |
| | | //{ |
| | | // objJsonResult.code = "0"; |
| | | // objJsonResult.count = 0; |
| | | // objJsonResult.Message = "æ æ¥çæéï¼"; |
| | | // objJsonResult.data = null; |
| | | // return objJsonResult; |
| | | //} |
| | | if (sWhere == null || sWhere.Equals("")) |
| | | { |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucessï¼"; |
| | | objJsonResult.data = new DataTable(); |
| | | return objJsonResult; |
| | | } |
| | | |
| | | ds = oCN.RunProcReturn($"exec h_p_JIT_GetPPBomInfo_FL "+sWhere, "h_p_JIT_GetPPBomInfo_FL"); |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucessï¼"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exceptionï¼" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region æå°å
è£
嫿 嫿æ°å¢ |
| | | |
| | | //临æ¶è¡¨ 嫿忮忮µ |
| | | public class CallGoodsBill |
| | | { |
| | | public static readonly string ModName = "4601"; |
| | | public long HSouceInterID = 0;//HSourceInterIDCol |
| | | public long HSourceEntryID = 0;//HSourceEntryIDCol |
| | | public int? 嫿æ°é = 0;//HBHGQtyCol |
| | | public int? é
奿°é = 0; |
| | | 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 int HMaterialID = 0; //HMaterialIDCol |
| | | public string ç©æä»£ç = ""; |
| | | public string HSourceBillNo { get; set; }//HSourceBillNoCol |
| | | public int è°åºä»åºå¯ç¨åºåæ°é = 0;//HKFQtyKYCol |
| | | public int è°åºä»åºåºåæ°é = 0;//HKFQtySCol |
| | | 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 string HProcNameCol { get; set; }//工段 |
| | | public int HOutOrgID = 0;//HOutOrgID |
| | | public string HICMOBillNo { get; set; }// HICMOBillNoCol |
| | | 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 class JIT_CallGoodsBillSub : ClsXt_BaseBillSub |
| | | { |
| | | public double HQty; |
| | | public long HMaterID; |
| | | public string HMaterNumber; |
| | | public string HProcName; |
| | | public string HModel; |
| | | public string HProcID; |
| | | public string HICMOBillNo; |
| | | public string HSeOrderNOCol; |
| | | 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; |
| | | public long HSeOrderInterID = 0; |
| | | public long HSeOrderEntryID = 0; |
| | | public long HDeptID = 0; |
| | | public double HPlanQty = 0; |
| | | public int HSPID = 0; |
| | | public DateTime? HBPlanDate = null; |
| | | } |
| | | |
| | | [Route("Sc_ComplementGoodBill_ZXBZ/InsertCallGoodsBill")] |
| | | [HttpPost] |
| | | public object InsertCallGoodsBill([FromBody] JObject msg) |
| | | { |
| | | var _value = msg["msg"].ToString(); |
| | | string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); |
| | | string msg2 = sArray[0].ToString(); |
| | | string user = sArray[1].ToString(); |
| | | omodel.HPRDORGID = long.Parse(sArray[2].ToString()); |
| | | |
| | | try |
| | | { |
| | | if (!DBUtility.ClsPub.Security_Log("Cj_CallGoodsBill_Edit", 1, false, user)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "æ ä¿åæé"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | msg2 = msg2.Replace("\\", ""); |
| | | msg2 = msg2.Replace("\n", ""); |
| | | |
| | | List<CallGoodsBill> listCa = new List<CallGoodsBill>(); |
| | | //è·åè¡¨æ ¼æ°æ®éå |
| | | listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString()); |
| | | |
| | | int j = 0; |
| | | var flag = false; |
| | | var txt = ""; |
| | | |
| | | for (int i = 0; i < listCa.Count; i++) |
| | | { |
| | | if (listCa[i].HMaterialID != 0 && listCa[i].嫿æ°é > 0) |
| | | { |
| | | |
| | | ds = oCN.RunProcReturn("select * from h_v_JIT_WarehouseList where ä»åºID=" + listCa[i].è°åºä»åºID + " and ç©æç¼ç = '" + listCa[i].ç©æä»£ç + "' and åºåç»ç»=" + listCa[i].HOutOrgID, "h_v_JIT_WarehouseList"); |
| | | |
| | | var HSCWHIDCount = double.Parse(ds.Tables[0].Rows[0]["è°åºä»åºå¯ç¨åºåæ°é"].ToString()); |
| | | |
| | | if (HSCWHIDCount == 0 && listCa[i].嫿æ°é > 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "åºåæ°é为0,æ æ³å«æ!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | if (listCa[i].嫿æ°é > HSCWHIDCount) |
| | | { |
| | | 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].è°åºä»åºID == listCa[i].è°å
¥ä»åºid) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "è°åºä»åºåè°å
¥ä»åºä¸è½ä¸æ ·!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | j = 1; |
| | | |
| | | var txtHBillNo = DBUtility.ClsPub.CreateBillCode_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo, true);//è·å¾ä¸ä¸ªæ°çåæ®å· |
| | | omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo); |
| | | omodel.HYear = DateTime.Now.Year; |
| | | omodel.HPeriod = DateTime.Now.Month; |
| | | //åºå®èµå¼================================= |
| | | omodel.HBillNo = txtHBillNo.Trim(); //å¨èµå¼ç±»åå°±å¤ç好åç¬¦ä¸²åæ°å |
| | | omodel.HDate = DateTime.Now; |
| | | omodel.HMaker = user; |
| | | omodel.HMakeDate = DateTime.Today.ToString(); |
| | | omodel.HUpDater = ""; |
| | | omodel.HUpDateDate = ""; |
| | | omodel.HCloseType = false; |
| | | //æç»ç±»èµå¼ |
| | | |
| | | //åºå®èµå¼======================================== |
| | | oSub.HEntryID = i + 1; |
| | | oSub.HSourceInterID = listCa[i].HSouceInterID; |
| | | oSub.HSourceEntryID = listCa[i].HSourceEntryID; |
| | | oSub.HSourceBillType = "88"; |
| | | oSub.HSourceBillNo = listCa[i].HSourceBillNo; |
| | | oSub.HQty = double.Parse((listCa[i].嫿æ°é * listCa[i].æå°åææ°é).ToString()); |
| | | |
| | | oSub.HMaterID = listCa[i].HMaterialID; |
| | | oSub.HMaterNumber = listCa[i].HMaterialNumberCol; |
| | | oSub.HModel = listCa[i].HMaterialModelCol; |
| | | 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; |
| | | oSub.HICMOBillNo = listCa[i].HICMOBillNo; |
| | | oSub.HICMOInterID = listCa[i].HICMOInterID; |
| | | oSub.HICMOEntryID = listCa[i].HICMOEntryID; |
| | | oSub.HDeptID = listCa[i].HDeptID; |
| | | oSub.HPlanQty = listCa[i].计ååææ°é; |
| | | oSub.HSeOrderNo = listCa[i].éå®è®¢åå·; |
| | | oSub.HBPlanDate = listCa[i].计åå¼å·¥æ¥æ; |
| | | |
| | | |
| | | flag = AddBill(ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | if (flag == false) |
| | | { |
| | | txt = txt + DBUtility.ClsPub.isStrNull(i + 1) + "ã"; |
| | | } |
| | | } |
| | | } |
| | | if (txt != "") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = $"第{txt}è¡å«æå¤±è´¥ï¼éæ°å«æ"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | if (flag == true) |
| | | { |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "嫿æå!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | if (j == 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "æ ä»»ä½å«ææ°éæå«ææ°éå°äº0ï¼æ æ³å«æ!"; |
| | | 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 bool AddBill(ref string sReturn) |
| | | { |
| | | try |
| | | { |
| | | //æå
¥å表 |
| | | oCN.RunProc("Insert into JIT_CallGoodsBillSub " + |
| | | " (HInterID,HEntryID,HRemark" + |
| | | ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + |
| | | ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo,HICMOInterID,HICMOEntryID,HICMOBillNo" + |
| | | ",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.HSCWHID.ToString() + "," + oSub.HSPID.ToString() + ",''," + oSub.HOutOrgID + "," + oSub.HOutOrgID + "," + omodel.HPRDORGID + ") ", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | //主表 |
| | | |
| | | oCN.RunProc("Insert Into JIT_CallGoodsBillMain " + |
| | | "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + |
| | | ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + |
| | | ",HBillStatus,HCheckItemNowID,HCheckItemNextID,HCheckFlowID" + |
| | | ",HMainSourceBillType,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo" + |
| | | ",HBacker,HBackDate,HBackRemark,HChecker,HCheckDate,HUpDater,HUpDateDate " + |
| | | ",HCloseMan,HCloseDate,HCloseType,HDeleteMan,HDeleteDate " + |
| | | ",HPrintQty,HCallManID,HSendManID,HCallType,HWareManID,HOrgID) " + |
| | | " values('" + CallGoodsBill.ModName + "','" + CallGoodsBill.ModName + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" + |
| | | ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" + |
| | | ",'" + omodel.HBillStatus + "'," + omodel.HCheckItemNowID.ToString() + "," + omodel.HCheckItemNextID.ToString() + ", " + omodel.HCheckFlowID.ToString() + |
| | | ",'" + omodel.HMainSourceBillType + "'," + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ", '" + omodel.HMainSourceBillNo + "'" + |
| | | ",'" + omodel.HBacker + "','" + omodel.HBackDate + "','" + omodel.HBackRemark + "', '" + omodel.HChecker + "','" + omodel.HCheckDate + "', '" + omodel.HUpDater + "',''" + |
| | | ",'" + omodel.HCloseMan + "','" + omodel.HCloseDate + "','" + omodel.HCloseType + "', '" + omodel.HDeleteMan + "','" + omodel.HDeleteDate + "'" + |
| | | ",0,0,0,'æ®é',0," + omodel.HPRDORGID + ") ", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | sReturn = "æ°å¢åæ®æåï¼"; |
| | | //oCn.Commit(); |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | sReturn = e.Message; |
| | | oCN.RollBack(); |
| | | throw (e); |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | } |