| | |
| | | using WebAPI.Models; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using System.Diagnostics; |
| | | |
| | | namespace WebAPI.Controllers.SCGL.æ¥è®¡å管ç |
| | | { |
| | | public class JIT_DayPlanPlatFormBillController : ApiController |
| | | { |
| | | List<PRD_Inventory> ListInventory;//åºåæç» |
| | | private json objJsonResult = new json(); |
| | | public DataSet ds = new DataSet(); |
| | | public WebServer webserver = new WebServer(); |
| | |
| | | #region ç产æ¥è®¡åå¹³å° æ¥è¯¢ |
| | | [Route("JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillList")] |
| | | [HttpGet] |
| | | public object JIT_DayPlanPlatFormBillList(string sWhere,string user) |
| | | public object JIT_DayPlanPlatFormBillList(string sWhere, string user) |
| | | { |
| | | try |
| | | { |
| | |
| | | |
| | | omdelMian = JsonConvert.DeserializeObject<Sc_WorkBillSortBillMain>(sWhere); |
| | | |
| | | ds = oCN.RunProcReturn($"exec h_p_JIT_Sc_WorkBillSortBill_Query '{omdelMian.HPlanBeginDate}',{(omdelMian.HProdORGID==null?0: omdelMian.HProdORGID)},'{omdelMian.HSeOrderBillNo}'" + |
| | | ds = oCN.RunProcReturn($"exec h_p_JIT_Sc_WorkBillSortBill_Query '{omdelMian.HPlanBeginDate}',{(omdelMian.HProdORGID == null ? 0 : omdelMian.HProdORGID)},'{omdelMian.HSeOrderBillNo}'" + |
| | | $",'{omdelMian.HPlanEndDate.AddDays(1).AddSeconds(-1)}',{omdelMian.HMaterID},'{omdelMian.HICMOBillNo}',{omdelMian.HWorkShopID}", "h_p_JIT_Sc_WorkBillSortBill_Query"); |
| | | |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®IDæ¥è¯¢ é½å¥ç¶æ å éå®ç¶æ |
| | | /// </summary> |
| | | /// <param name="sWhere"></param> |
| | | /// <param name="user"></param> |
| | | /// <returns></returns> |
| | | [Route("JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHinterIDList")] |
| | | [HttpGet] |
| | | public object JIT_DayPlanPlatFormBillHinterIDList(string sWhere,int num) |
| | | { |
| | | try |
| | | { |
| | | if (num == 1) |
| | | { |
| | | ds = oCN.RunProcReturn($"select isnull(DATEDIFF(DAY,GETDATE(),CONVERT(varchar(10),max(HMasterDate),20)),0) DayNum from Sc_WorkBillSortBillSub where HInterID in ({sWhere}) and HMasterDate>=CONVERT(varchar(10),GETDATE(),20) and HLockedSub=1", "Sc_WorkBillSortBillSub"); |
| | | } |
| | | else if (num == 2) |
| | | { |
| | | ds = oCN.RunProcReturn($"select CONVERT(varchar(10),HMasterDate,20) HMasterDate,HComplete,HInterID from Sc_WorkBillSortBillSub where HInterID in ({sWhere}) and HMasterDate>=CONVERT(varchar(10),GETDATE(),20) and (HComplete='é½å¥' or HComplete='æªé½å¥') ", "Sc_WorkBillSortBillSub"); |
| | | } |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | |
| | | var HMainSourceInterID = list[i]["æºå主å
ç "].ToString(); |
| | | var HMainSourceEntryID = list[i]["æºååå
ç "].ToString(); |
| | | |
| | | if (HSourceID=="") |
| | | if (HSourceID == "") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = $"第{i+1}è¡çäº§èµæºä¸è½ä¸ºç©º!"; |
| | | objJsonResult.Message = $"第{i + 1}è¡çäº§èµæºä¸è½ä¸ºç©º!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | |
| | | $" {(HOrderNeedQty == "" ? 0.ToString() : HOrderNeedQty)}, {(HSplitQty == "" ? 0.ToString() : HSplitQty)}, {(HDayPlanSumQty == "" ? 0.ToString() : HDayPlanSumQty)},'{HPlanBeginDate}'," + |
| | | $"'{HSeOrderBillNo}','{HICMOBillType}',{(HSourceStockInQty == "" ? 0.ToString() : HSourceStockInQty)},{(HLeftPlanQty == "" ? 0.ToString() : HLeftPlanQty)},'{HOrderLev}',getdate())"); |
| | | } |
| | | |
| | | oCN.RunProc($"update Sc_WorkBillSortBillMain set HDayPlanSumQty={list[i]["æ¥è®¡åæ°éæ»é"].ToString()} where HInterID={list[i]["hmainid"].ToString()} and HBillNo='{list[i]["åæ®å·"].ToString()}'"); |
| | | |
| | | int SumDay = 31; //卿䏤æä¹å·® DateTime.Now.AddMonths(1).AddDays(-1).Subtract(DateTime.Now).Days; |
| | | |
| | |
| | | if (count != 1) |
| | | { |
| | | //æå
¥å表 |
| | | oCN.RunProc("insert into Sc_WorkBillSortBillSub(HInterID,HEntryID," + |
| | | oCN.RunProc("insert into Sc_WorkBillSortBillSub(HInterID,HSEQ," + |
| | | "HMasterDate,HQty)" + |
| | | $"values({HInterID}, {(ds.Tables[0].Rows.Count + 1)}," + |
| | | $" '{date}', {HQTY})"); |
| | |
| | | return objJsonResult; |
| | | } |
| | | #endregion |
| | | |
| | | #region ç产æ¥è®¡åå¹³å° é½å¥åæ |
| | | |
| | | #region æ¸
åé
ææ¹å¼ |
| | | public class PRD_PPBOM |
| | | { |
| | | |
| | | /// <summary> |
| | | /// æ¥è®¡åå·¥åFID |
| | | /// </summary> |
| | | public long HInterID { get; set; } |
| | | /// <summary> |
| | | /// æ¥è®¡åæç»FEntryID |
| | | /// </summary> |
| | | public long HEntryID { get; set; } |
| | | /// <summary> |
| | | /// çäº§ç¨ææ¸
ååå· |
| | | /// </summary> |
| | | public string HBillNo { get; set; } |
| | | /// <summary> |
| | | /// ç产订ååå· |
| | | /// </summary> |
| | | public string HICMOBillNo { get; set; } |
| | | /// <summary> |
| | | /// ç产订åå
ç |
| | | /// </summary> |
| | | public string HICMOInterID { get; set; } |
| | | /// <summary> |
| | | /// ç¶çº§ç©æID |
| | | /// </summary> |
| | | public string FMaterialID { get; set; } |
| | | /// <summary> |
| | | /// ç¶çº§ç©ææ°é |
| | | /// </summary> |
| | | public decimal FQty { get; set; } |
| | | /// <summary> |
| | | /// åé¡¹ç©æID |
| | | /// </summary> |
| | | public string FMATERIALID2 { get; set; } |
| | | /// <summary> |
| | | /// åé¡¹ç©æåç§° |
| | | /// </summary> |
| | | public string FNumber { get; set; } |
| | | /// <summary> |
| | | /// éæ±æ°é |
| | | /// </summary> |
| | | public decimal FNeedQty { get; set; } |
| | | /// <summary> |
| | | /// 峿¶åºå |
| | | /// </summary> |
| | | public decimal FBASEQTY { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç产订å主ç |
| | | /// </summary> |
| | | public string HICMOInterID_Sec { get; set; } |
| | | /// <summary> |
| | | /// ç产订ååç |
| | | /// </summary> |
| | | public string HICMOEntryID_Sec { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¥è®¡åæ°é |
| | | /// </summary> |
| | | public string HQty { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¥è®¡åæ¥æ |
| | | /// </summary> |
| | | public DateTime HMasterDate { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 订åç级 |
| | | /// </summary> |
| | | public string HOrderLev { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç»ç» |
| | | /// </summary> |
| | | public string FStockOrgId { get; set; } |
| | | /// <summary> |
| | | /// ç»ç»åç§° |
| | | /// </summary> |
| | | public string OrgFnumber { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åä½ç¨é |
| | | /// </summary> |
| | | public decimal dwyl { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¢è®¡æ¶èç¨é |
| | | /// </summary> |
| | | public decimal PlanCount { get; set; } |
| | | /// <summary> |
| | | /// ç©æå±æ§ |
| | | /// </summary> |
| | | public int FErpClsID { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è½¦é´ |
| | | /// </summary> |
| | | public string HWorkShopID { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 车é´ç¼ç |
| | | /// </summary> |
| | | public string FHWorkShopNumber { get; set; } |
| | | |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | #region 峿¶åºå |
| | | public class PRD_Inventory |
| | | { |
| | | /// <summary> |
| | | /// ç©æID |
| | | /// </summary> |
| | | public string FMATERIALID { get; set; } |
| | | /// <summary> |
| | | /// ç©æç¼ç |
| | | /// </summary> |
| | | public string FNumber { get; set; } |
| | | /// <summary> |
| | | /// 峿¶åºå |
| | | /// </summary> |
| | | public decimal FBASEQTY { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç»ç» |
| | | /// </summary> |
| | | public string FStockOrgId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºå货主类å |
| | | /// </summary> |
| | | public string FOwnerTypeId { get; set; } |
| | | /// <summary> |
| | | /// åºå货主 |
| | | /// </summary> |
| | | public string FOwnerId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 货主ç¼ç |
| | | /// </summary> |
| | | public string FOwnerNumber { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»åº |
| | | /// </summary> |
| | | public string FSTOCKID { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»åºç¼ç |
| | | /// </summary> |
| | | public string FStockNumber { get; set; } |
| | | } |
| | | #endregion |
| | | |
| | | #region 车é´ä»åºå¯¹ç
§å表 |
| | | public class PRD_WorkHouseCompar |
| | | { |
| | | /// <summary> |
| | | /// ç»ç» |
| | | /// </summary> |
| | | public string FORGID { get; set; } |
| | | /// <summary> |
| | | /// è½¦é´ |
| | | /// </summary> |
| | | public string FWORKSHOPID { get; set; } |
| | | /// <summary> |
| | | /// ä»åº |
| | | /// </summary> |
| | | public string FSTOCKID { get; set; } |
| | | } |
| | | #endregion |
| | | |
| | | #region æ¥è®¡å+ç产订å |
| | | public class DayPlanPickedModel |
| | | { |
| | | /// <summary> |
| | | /// 订åå
¥åºæ°é æç
§ç产订åæç»è¡ |
| | | /// </summary> |
| | | public decimal FCXStockInQty { get; set; } |
| | | /// <summary> |
| | | /// 主ç产订ååå
ç |
| | | /// </summary> |
| | | public string FPRDMOENTYID { get; set; } |
| | | /// <summary> |
| | | /// ç©æåä½ç¨é |
| | | /// </summary> |
| | | public decimal dwyl { get; set; } |
| | | /// <summary> |
| | | /// 已颿°é |
| | | /// </summary> |
| | | public decimal FPickedQty { get; set; } |
| | | /// <summary> |
| | | /// å©ä½å¯ç¨æ°é |
| | | /// </summary> |
| | | public decimal FRemainPickedQty { get; set; } |
| | | /// <summary> |
| | | /// ç©æ |
| | | /// </summary> |
| | | public string FMATERIALID { get; set; } |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | #region åå¨ä¸´æ¶éè¦æå
¥æ°æ® |
| | | public class CompleteAnalysisTempModel |
| | | { |
| | | /// <summary> |
| | | /// 主ç产订å主å
ç ï¼FHMainICMOInterIDr |
| | | /// </summary> |
| | | public string FHMainICMOInterIDr { get; set; } |
| | | /// <summary> |
| | | /// 主ç产订ååå
ç ï¼FHMainICMOEntryID |
| | | /// </summary> |
| | | public string FHMainICMOEntryID { get; set; } |
| | | /// <summary> |
| | | /// æ¥è®¡å订å主å
ç ï¼FHICMOInterID |
| | | /// </summary> |
| | | public string FHICMOInterID { get; set; } |
| | | /// <summary> |
| | | /// æ¥è®¡å订ååå
ç ï¼FHICMOEntryID |
| | | /// </summary> |
| | | public string FHICMOEntryID { get; set; } |
| | | /// <summary> |
| | | /// åä»¶ç©æï¼FHMaterID |
| | | /// </summary> |
| | | public string FHMaterID { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç»ç»ï¼FHStockOrgID |
| | | /// </summary> |
| | | public string FHStockOrgID { get; set; } |
| | | |
| | | /// <summary> |
| | | ///ç产ç»ç»ï¼FHPRDORGID |
| | | /// </summary> |
| | | public string FHPRDORGID { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç产订åå·ï¼FPRDBillNo |
| | | /// </summary> |
| | | public string FPRDBillNo { get; set; } |
| | | /// <summary> |
| | | /// æ è¯ |
| | | /// </summary> |
| | | public string FIdentificat { get; set; } |
| | | /// <summary> |
| | | /// 货主åç§°ï¼FOwnerName |
| | | /// </summary> |
| | | public string FOwnerName { get; set; } |
| | | /// <summary> |
| | | /// 货主ç¼ç ï¼FOwnerId |
| | | /// </summary> |
| | | public string FOwnerId { get; set; } |
| | | /// <summary> |
| | | /// 货主类åï¼FOwnerTypeId |
| | | /// </summary> |
| | | public string FOwnerTypeId { get; set; } |
| | | /// <summary> |
| | | /// é½å¥ç¶æ |
| | | /// </summary> |
| | | public string FComPlete { get; set; } |
| | | /// <summary> |
| | | /// æ°é |
| | | /// </summary> |
| | | public string FHUseQty { get; set; } |
| | | /// <summary> |
| | | /// åæ¶åºåæ°éï¼FHStockQty |
| | | /// </summary> |
| | | public decimal FHStockQty { get; set; } |
| | | /// <summary> |
| | | ///å¯ç¨æ°éï¼FHLeftQty |
| | | /// </summary> |
| | | public decimal FHLeftQty { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç¼ºææ°é |
| | | /// </summary> |
| | | public decimal FLackCount { get; set; } |
| | | /// <summary> |
| | | /// å ç¨æ°é |
| | | /// </summary> |
| | | public decimal FOccupyCount { get; set; } |
| | | /// <summary> |
| | | /// å ç¨é¢ææ°é |
| | | /// </summary> |
| | | public decimal FOccupyPickedCount { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åä½ç¨éï¼FUnitDosage |
| | | /// </summary> |
| | | public decimal FUnitDosage { get; set; } |
| | | /// <summary> |
| | | /// è®¡åæ»æ°éï¼FSumPlanCount |
| | | /// </summary> |
| | | public decimal FSumPlanCount { get; set; } |
| | | /// <summary> |
| | | /// é½å¥æ°éï¼FCompleteCount q |
| | | /// </summary> |
| | | public decimal FCompleteCount { get; set; } |
| | | public decimal FCompleteCount1 { get; set; } |
| | | /// <summary> |
| | | /// æ¥è®¡åæ¥æ |
| | | /// </summary> |
| | | public DateTime FPlanDate { get; set; } |
| | | //ç©æç±»å |
| | | public int FErpClsID { get; set; } |
| | | //ä»åº |
| | | public string FStock { get; set; } |
| | | //è½¦é´ |
| | | public string FWorkShop { get; set; } |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | [Route("JIT_DayPlanPlatFormBill/JIT_CompleteSetAnalysis")] |
| | | [HttpGet] |
| | | public object JIT_CompleteSetAnalysis(string sWhere, string user) |
| | | { |
| | | try |
| | | { |
| | | Stopwatch sw = new Stopwatch(); |
| | | omdelMian = JsonConvert.DeserializeObject<Sc_WorkBillSortBillMain>(sWhere); |
| | | string sql = $"exec JIT_qtfx {omdelMian.HProdORGID},{omdelMian.HWorkShopID},'{user}' "; |
| | | ds = oCN.RunProcReturn(sql, "JIT_qtfx"); |
| | | LogService.Write("é½å¥åæsql:" + sql); |
| | | List<PRD_PPBOM> BomList = new List<PRD_PPBOM>(); |
| | | DataTable resulTable = ds.Tables[0]; |
| | | if (resulTable.Rows[0][0].ToString().Contains("失败")) |
| | | { |
| | | //éæ¾é½å¥æä½ é¿å
å¤äººåæ¶è¿è¡é½å¥åæ |
| | | oCN.RunProc($"update T_PRD_QTFX set FSTATUS = 0 where FPRDORGID ={omdelMian.HProdORGID} and FSTATUS = 1 "); |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = resulTable.Rows[0][0].ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | BomList = ds.ToModelList<PRD_PPBOM>(); |
| | | } |
| | | |
| | | string fDayPlanFids = string.Empty; |
| | | string fDayPlanFEntryids = string.Empty; |
| | | if (BomList.Count == 0) |
| | | { |
| | | //éæ¾é½å¥æä½ é¿å
å¤äººåæ¶è¿è¡é½å¥åæ |
| | | oCN.RunProc($"update T_PRD_QTFX set FSTATUS = 0 where FPRDORGID ={omdelMian.HProdORGID} and FSTATUS = 1 "); |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "没æéè¦è¿è¡é½å¥åæçæ°æ®"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | List<string> fidList = BomList.Select(x => x.HInterID.ToString()).Distinct().ToList(); |
| | | List<string> fentryidList = BomList.Select(x => x.HEntryID.ToString()).Distinct().ToList(); |
| | | fDayPlanFids = string.Join(",", fidList); |
| | | fDayPlanFEntryids = string.Join(",", fentryidList); |
| | | } |
| | | LogService.Write("æ¥è®¡åå·¥åids" + fDayPlanFids); |
| | | |
| | | sw.Start();//å¼å§è®¡æ¶ |
| | | |
| | | //è·åå½å峿¶åºå åºåæ°é+åºåç»ç»+ç©æ+货主+ä»åº |
| | | ds = oCN.RunProcReturn(@" |
| | | select distinct isnull(a.FBASEQTY,0) FBASEQTY,b.FNumber,a.FOwnerTypeId,a.FOwnerId,c.FNUMBER as FOwnerNumber,a.FSTOCKID,d.FNUMBER as FStockNumber from |
| | | ( |
| | | select distinct a.HProdORGID FStockOrgId,T2.FMATERIALID,FNumber from SC_WORKBILLSORTBILLMAIN a |
| | | join SC_WORKBILLSORTBILLSub b on a.HInterID = b.HInterID |
| | | join AIS20210811135644..T_PRD_PPBOM T1 on a.HICMOInterID_Sec = t1.FMoId and a.HICMOEntryID_Sec = t1.FMOENTRYID |
| | | LEFT JOIN AIS20210811135644..T_PRD_PPBOMENTRY T2 on T1.FID = t2.FID |
| | | join AIS20210811135644..T_BD_MATERIAL T3 on T2.FMATERIALID = T3.FMATERIALID |
| | | ) T1 |
| | | JOIN AIS20210811135644..T_BD_MATERIAL b on t1.FNUMBER = b.FNUMBER |
| | | LEFT JOIN AIS20210811135644..T_STK_Inventory a on b.FMATERIALID = a.FMATERIALID |
| | | LEFT join (select distinct fitemid,fformid,FNUMBER from AIS20210811135644..V_ITEMCLASS_OWNER) c on a.FOwnerTypeId = c.fformid and a.FOWNERID = c.fitemid |
| | | join AIS20210811135644..t_BD_Stock d on a.FSTOCKID =d.FSTOCKID |
| | | where a.FBASEQTY>0 |
| | | ", "SC_WORKBILLSORTBILLMAIN"); |
| | | ListInventory = ds.ToModelList<PRD_Inventory>(); |
| | | //è½¦é´ ä»åºå¯¹ç
§å表 |
| | | ds = oCN.RunProcReturn(@" |
| | | SELECT DISTINCT T1.HOrgId FORGID,HWorkShopID FWORKSHOPID,HWHID FSTOCKID FROM Gy_WorkWarehouseBillMain T1 |
| | | JOIN Gy_WorkWarehouseBillMainSub T2 ON T1.HInterID=T2.HInterID |
| | | ", "Gy_WorkWarehouseBillMain"); |
| | | List<PRD_WorkHouseCompar> pRD_WorkHouseCompar = ds.ToModelList<PRD_WorkHouseCompar>(); |
| | | int i = 1;//ç¨äºè¿åº¦æ¡çå è½½ |
| | | //æ¥è®¡å+ç产订åå表ç¼ç ID |
| | | var DatePlanList = BomList.GroupBy(p => new { p.HMasterDate, p.HICMOEntryID_Sec }).Select(x => new PRD_PPBOM { HMasterDate = x.Key.HMasterDate, HICMOEntryID_Sec = x.Key.HICMOEntryID_Sec }).ToList(); |
| | | //ååºåæ°é FMustQty ä¸è¦åå¼éæ±æ°éFNeedQty é¢ææ°æ® |
| | | string LLsql = string.Format(@" |
| | | select max(t1.FCXStockInQty)FCXStockInQty,FPRDMOENTYID,max(dwyl)dwyl,sum(FPickedQty)FPickedQty,sum(FRemainPickedQty)FRemainPickedQty,FMATERIALID from |
| | | ( |
| | | select a.FCXStockInQty, FPRDMOENTYID,convert( decimal(18,2),FMustQty/FQty ) as dwyl,FPickedQty,T2.FMATERIALID, |
| | | case when convert( decimal(18,2),(FPickedQty - a.FCXStockInQty * FMustQty/FQty))< 0 then 0 |
| | | else convert( decimal(18,2),(FPickedQty - a.FCXStockInQty * FMustQty/FQty)) end as FRemainPickedQty |
| | | from |
| | | ( |
| | | select sum(HSourceStockInQty)FCXStockInQty,HICMOEntryID_Sec FPRDMOENTYID from SC_WORKBILLSORTBILLMAIN a |
| | | --where a.HInterID IN ({0}) |
| | | group by HICMOEntryID_Sec |
| | | ) a |
| | | join AIS20210811135644..T_PRD_PPBOM T1 on a.FPRDMOENTYID = t1.FMOENTRYID |
| | | LEFT JOIN AIS20210811135644..T_PRD_PPBOMENTRY t2 on T1.FID = T2.FID |
| | | LEFT JOIN AIS20210811135644..T_PRD_PPBOMENTRY_Q t3 on t2.FENTRYID = T3.FENTRYID |
| | | LEFT JOIN AIS20210811135644..T_BD_MATERIAL T4 ON T2.FMATERIALID = T4.FMATERIALID |
| | | ) t1 |
| | | group by FPRDMOENTYID,FMATERIALID |
| | | ", fDayPlanFids); |
| | | List<DayPlanPickedModel> DayPlanPickedModel = new List<DayPlanPickedModel>(); |
| | | ds = oCN.RunProcReturn(LLsql, "SC_WORKBILLSORTBILLMAIN"); |
| | | DayPlanPickedModel = ds.ToModelList<DayPlanPickedModel>(); |
| | | //CompleteAnalysisTempModel ç¨äºåå¨ä¸´æ¶éè¦æå
¥æ°æ® |
| | | List<CompleteAnalysisTempModel> completeAnalysisTempModel = new List<CompleteAnalysisTempModel>(); |
| | | //å建åå
¸ ç¨äºå¨åç©æ + å ç¨æ°é |
| | | Dictionary<string, decimal> occupyDic = new Dictionary<string, decimal>(); |
| | | LogService.Write($"é½å¥åæï¼æ°æ®åå¤é¶æ®µï¼ç¨æ¶" + sw.Elapsed + "æ»è¡æ°ï¼" + BomList.Count); |
| | | LogService.Write($"é½å¥åæï¼æ°æ®åå¤é¶æ®µï¼ç¨æ¶" + sw.Elapsed + "æ»éè¦å¾ªç¯çbomæ°éï¼" + DatePlanList.Count); |
| | | |
| | | //第ä¸ä¸ªå¾ªç¯ æ¥è®¡åå·¥åæç» ä¸å¤©+ä¸ä¸ªå·¥å ä¸ä¸ªå¾ªç¯ |
| | | foreach (var item in DatePlanList) |
| | | { |
| | | //æ¥è®¡åç¨ææ¸
åæç» æ¯ä¸å¤©çå®é
ç¨ææ
åµ |
| | | var _BomList = BomList.Where(x => x.HMasterDate == item.HMasterDate && x.HICMOEntryID_Sec == item.HICMOEntryID_Sec).ToList(); |
| | | //æ¯ä¸ä¸ªç©æè¿è¡åºåè®¡ç® |
| | | foreach (var _item in _BomList) |
| | | { |
| | | //车é´ä»åº 对ç
§è¡¨ æ¯ä¸ªæ¥è®¡ååå±ä¸ä¸ªè½¦é´ A,B |
| | | var _pRD_WorkHouseCompar = pRD_WorkHouseCompar.Where(c => c.FWORKSHOPID == _item.HWorkShopID).ToList(); |
| | | decimal jskcQty = 0;//ç¨äºè®¡ç® |
| | | decimal jskcQty2 = 0;//ç¨äºè®¡ç®å½æ¶é£ä¸ªè®¡ç®èç¹ç峿¶åºå |
| | | //计ç®å½åè¿å 个ä»åºæ»çåºåé |
| | | if (_pRD_WorkHouseCompar.Count > 0) |
| | | { |
| | | foreach (var _WorkHouse in _pRD_WorkHouseCompar) |
| | | { |
| | | //åºåæ°æ®å¹é
|
| | | List<PRD_Inventory> _ListInventory = ListInventory.Where(c => c.FNumber == _item.FNumber && c.FBASEQTY > 0 && c.FSTOCKID == _WorkHouse.FSTOCKID).ToList(); |
| | | if (_ListInventory.Count > 0) |
| | | { |
| | | foreach (var Inventory in _ListInventory) |
| | | { |
| | | jskcQty += Inventory.FBASEQTY; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //æ¾åºç©æè¢«å
¶å®è®¢åå ç¨æ°é |
| | | decimal occupyMaterial = 0; |
| | | if (occupyDic.ContainsKey(_item.HWorkShopID + _item.FMATERIALID2)) |
| | | { |
| | | occupyMaterial = occupyDic[_item.HWorkShopID + _item.FMATERIALID2]; |
| | | } |
| | | //èææ¥è®¡åç¨ææ¸
å éæ±æ°é |
| | | decimal planNeed = _item.PlanCount; //ä¸åä¸è®¡ç® ç¨äºè®°å½ |
| | | decimal need = _item.PlanCount;//åä¸è®¡ç® |
| | | decimal FOccupyPickedCount = 0;//å ç¨é¢æåæ°é |
| | | //æ¾å°é¢ç¨æ°é |
| | | var _DayPlanPickedModel = DayPlanPickedModel.Where(c => c.FPRDMOENTYID == _item.HICMOEntryID_Sec && c.FMATERIALID == _item.FMATERIALID2).FirstOrDefault(); |
| | | if (_DayPlanPickedModel.FRemainPickedQty >= need) |
| | | { |
| | | //颿æ°é满足äºå½åè¿ä¸ªéæ±é ç´æ¥é½å¥ ä¸éè¦å»å ç¨ä»åº |
| | | completeAnalysisTempModel.Add(new CompleteAnalysisTempModel |
| | | { |
| | | FHMainICMOInterIDr = _item.HICMOInterID_Sec, |
| | | FHMainICMOEntryID = _item.HICMOEntryID_Sec, |
| | | FHICMOInterID = _item.HInterID.ToString(), |
| | | FHICMOEntryID = _item.HEntryID.ToString(), |
| | | FHMaterID = _item.FMATERIALID2, |
| | | FErpClsID = _item.FErpClsID, |
| | | FHStockOrgID = _item.FStockOrgId, |
| | | FHPRDORGID = _item.FStockOrgId, |
| | | FPRDBillNo = _item.HICMOBillNo, |
| | | FOwnerTypeId = "", |
| | | FUnitDosage = _item.dwyl,//åä½ç¨é |
| | | FSumPlanCount = planNeed,//è®¡åæ»æ°é |
| | | FCompleteCount1 = planNeed, //é½å¥æ°é |
| | | FLackCount = 0,//ç¼ºææ°é |
| | | FHStockQty = jskcQty2,//峿¶åºå |
| | | FHLeftQty = jskcQty,//å¯ç¨æ°é |
| | | FOccupyCount = occupyMaterial,//å ç¨æ°é |
| | | FOccupyPickedCount = planNeed,//å ç¨é¢ææ°é |
| | | FComPlete = "é½å¥", |
| | | FPlanDate = item.HMasterDate, // æ¥è®¡åæ¥æ |
| | | FWorkShop = _item.HWorkShopID //è½¦é´ |
| | | }); |
| | | //æ£é¤å©ä½å¯ç¨é¢ææ°é |
| | | _DayPlanPickedModel.FRemainPickedQty -= need; |
| | | //循ç¯ä¸ä¸ä¸ªç©æ |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | need -= _DayPlanPickedModel.FRemainPickedQty; //å©ä½éæ±æ°é |
| | | FOccupyPickedCount = _DayPlanPickedModel.FRemainPickedQty; |
| | | _DayPlanPickedModel.FRemainPickedQty = 0; |
| | | } |
| | | if (_pRD_WorkHouseCompar.Count > 0) |
| | | { |
| | | //ç¼ºææ°é éæ±æ°é - å®é
åºå >0 ? ä¸ä¸ªç©æä¸ç®¡å ç¨å¤å°æ¡ åºå+货主 æ°æ® ç¼ºææ°éæ¯åä¸ä¸ªæ°é |
| | | decimal _fLackCount = need > jskcQty ? (need - jskcQty) : 0; |
| | | //LogHelper.Info("ç»ç»ï¼" + _item.FStockOrgId + " ,åæ¶åºå" + jskcQty); |
| | | //æ»åºå为0äº ç´æ¥ç»åº ç¼ºææ°é |
| | | if (jskcQty == 0) |
| | | { |
| | | completeAnalysisTempModel.Add(new CompleteAnalysisTempModel |
| | | { |
| | | FHMainICMOInterIDr = _item.HICMOInterID_Sec, |
| | | FHMainICMOEntryID = _item.HICMOEntryID_Sec, |
| | | FHICMOInterID = _item.HInterID.ToString(), |
| | | FHICMOEntryID = _item.HEntryID.ToString(), |
| | | FHMaterID = _item.FMATERIALID2, |
| | | FErpClsID = _item.FErpClsID, |
| | | FHStockOrgID = _item.FStockOrgId, |
| | | FHPRDORGID = _item.FStockOrgId, |
| | | FPRDBillNo = _item.HICMOBillNo, |
| | | FOwnerTypeId = "", |
| | | FUnitDosage = _item.dwyl,//åä½ç¨é |
| | | FSumPlanCount = planNeed,//è®¡åæ»æ°é |
| | | FCompleteCount1 = FOccupyPickedCount, //é½å¥æ°é |
| | | FLackCount = need,//ç¼ºææ°é |
| | | FHStockQty = jskcQty2,//峿¶åºå |
| | | FHLeftQty = jskcQty,//å¯ç¨æ°é |
| | | FOccupyCount = occupyMaterial,//å ç¨æ°é |
| | | FOccupyPickedCount = FOccupyPickedCount,//å ç¨é¢ææ°é |
| | | FComPlete = "æªé½å¥", |
| | | FPlanDate = item.HMasterDate, // æ¥è®¡åæ¥æ |
| | | FWorkShop = _item.HWorkShopID //è½¦é´ |
| | | }); |
| | | //ç»æ¢è¯¥ç©æè®¡ç® è¿å
¥ä¸ä¸ä¸ª |
| | | continue; |
| | | } |
| | | foreach (var WorkHouse in _pRD_WorkHouseCompar) |
| | | { |
| | | //åºåæ°æ®å¹é
|
| | | List<PRD_Inventory> _ListInventory = ListInventory.Where(c => c.FNumber == _item.FNumber && c.FBASEQTY > 0 && c.FSTOCKID == WorkHouse.FSTOCKID).ToList(); |
| | | //éæ±æ°é å ç¨å®åå¯ä»¥è·³åºè½¦é´ä»åºå¾ªç¯ |
| | | if (need == 0) |
| | | break; |
| | | if (_ListInventory.Count > 0) |
| | | { |
| | | foreach (var Inventory in _ListInventory) |
| | | { |
| | | if (need == 0) |
| | | break; |
| | | //é½å¥æ°é |
| | | decimal fCompleteCount = need >= Inventory.FBASEQTY ? Inventory.FBASEQTY : need; |
| | | if (!occupyDic.ContainsKey(_item.HWorkShopID + _item.FMATERIALID2)) |
| | | { |
| | | occupyDic.Add(_item.HWorkShopID + _item.FMATERIALID2, fCompleteCount); |
| | | } |
| | | else |
| | | { |
| | | occupyMaterial = occupyDic[_item.HWorkShopID + _item.FMATERIALID2]; |
| | | occupyDic[_item.HWorkShopID + _item.FMATERIALID2] = occupyMaterial + fCompleteCount; |
| | | } |
| | | completeAnalysisTempModel.Add(new CompleteAnalysisTempModel |
| | | { |
| | | FHMainICMOInterIDr = _item.HICMOInterID_Sec, |
| | | FHMainICMOEntryID = _item.HICMOEntryID_Sec, |
| | | FHICMOInterID = _item.HInterID.ToString(), |
| | | FHICMOEntryID = _item.HEntryID.ToString(), |
| | | FHMaterID = _item.FMATERIALID2, |
| | | FHStockOrgID = _item.FStockOrgId, |
| | | FHPRDORGID = _item.FStockOrgId, |
| | | FErpClsID = _item.FErpClsID, |
| | | FPRDBillNo = _item.HICMOBillNo, |
| | | FOwnerTypeId = Inventory.FOwnerTypeId, |
| | | FOwnerId = Inventory.FOwnerId, |
| | | FUnitDosage = _item.dwyl,//åä½ç¨é |
| | | FSumPlanCount = planNeed,//è®¡åæ»æ°é |
| | | FCompleteCount1 = fCompleteCount + FOccupyPickedCount, //é½å¥æ°é |
| | | FLackCount = _fLackCount,//ç¼ºææ°é |
| | | FHStockQty = jskcQty2,//峿¶åºå |
| | | FHLeftQty = jskcQty,//å¯ç¨æ°é |
| | | FOccupyCount = occupyMaterial,//å ç¨æ°é |
| | | FOccupyPickedCount = FOccupyPickedCount,//颿å ç¨æ°é |
| | | FComPlete = jskcQty >= need ? "é½å¥" : "æªé½å¥", |
| | | FPlanDate = item.HMasterDate, // æ¥è®¡åæ¥æ |
| | | FStock = Inventory.FSTOCKID,//ä»åº |
| | | FWorkShop = _item.HWorkShopID //è½¦é´ |
| | | }); |
| | | //æ£åæ»åºåæ°é |
| | | jskcQty = jskcQty >= fCompleteCount ? jskcQty - fCompleteCount : 0; |
| | | //å©ä½æ¥è®¡åéæ±æ°é |
| | | need = need >= Inventory.FBASEQTY ? need - Inventory.FBASEQTY : 0; |
| | | //æ£åæ¶èåºå |
| | | Inventory.FBASEQTY = Inventory.FBASEQTY - fCompleteCount; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //没æè½¦é´ä»åºæ°æ® æ¢æ²¡æå¯ç¨åºå 为æªé½å¥ |
| | | else |
| | | { |
| | | if (occupyDic.ContainsKey(_item.HWorkShopID + _item.FMATERIALID2)) |
| | | { |
| | | occupyMaterial = occupyDic[_item.HWorkShopID + _item.FMATERIALID2]; |
| | | } |
| | | completeAnalysisTempModel.Add(new CompleteAnalysisTempModel |
| | | { |
| | | FHMainICMOInterIDr = _item.HICMOInterID_Sec, |
| | | FHMainICMOEntryID = _item.HICMOEntryID_Sec, |
| | | FHICMOInterID = _item.HInterID.ToString(), |
| | | FHICMOEntryID = _item.HEntryID.ToString(), |
| | | FHMaterID = _item.FMATERIALID2, |
| | | FErpClsID = _item.FErpClsID, |
| | | FHStockOrgID = _item.FStockOrgId, |
| | | FHPRDORGID = _item.FStockOrgId, |
| | | FPRDBillNo = _item.HICMOBillNo, |
| | | FOwnerTypeId = "", |
| | | FUnitDosage = _item.dwyl,//åä½ç¨é |
| | | FSumPlanCount = planNeed,//è®¡åæ»æ°é |
| | | FCompleteCount1 = planNeed - need, //é½å¥æ°é |
| | | FLackCount = need,//ç¼ºææ°é |
| | | FHStockQty = jskcQty2,//峿¶åºå |
| | | FHLeftQty = jskcQty,//å¯ç¨æ°é |
| | | FOccupyCount = occupyMaterial,//å ç¨æ°é |
| | | FOccupyPickedCount = FOccupyPickedCount,//å ç¨é¢ææ°é |
| | | FComPlete = "æªé½å¥", |
| | | FPlanDate = item.HMasterDate, // æ¥è®¡åæ¥æ |
| | | FWorkShop = _item.HWorkShopID //è½¦é´ |
| | | }); |
| | | } |
| | | } |
| | | //Thread.Sleep(6000); |
| | | i++; |
| | | } |
| | | LogService.Write($"é½å¥åæï¼æ°æ®åå¤å®æï¼ä¿åå°Modelå®ä½ï¼æ»è¡æ°ï¼{completeAnalysisTempModel.Count}ï¼èæ¶ï¼" + sw.Elapsed); |
| | | List<string> sqlList = new List<string>(); |
| | | DataTable insertDT = new DataTable(); |
| | | insertDT.TableName = "JIT_MOMaterReadysBill"; |
| | | insertDT.Columns.Add("FID", typeof(long)); |
| | | insertDT.Columns.Add("FDOCUMENTSTATUS", typeof(string)); |
| | | insertDT.Columns.Add("FHMAINICMOINTERIDR", typeof(long)); |
| | | insertDT.Columns.Add("FHMAINICMOENTRYID", typeof(long)); |
| | | insertDT.Columns.Add("FHICMOINTERID", typeof(long)); |
| | | insertDT.Columns.Add("FHICMOENTRYID", typeof(long)); |
| | | insertDT.Columns.Add("FHMATERID", typeof(long)); |
| | | insertDT.Columns.Add("FHSTOCKORGID", typeof(long)); |
| | | insertDT.Columns.Add("FHSTOCKQTY", typeof(decimal)); |
| | | insertDT.Columns.Add("FHLEFTQTY", typeof(decimal)); |
| | | insertDT.Columns.Add("FHPRDORGID", typeof(long)); |
| | | insertDT.Columns.Add("FUNITDOSAGE", typeof(decimal)); |
| | | insertDT.Columns.Add("FSUMPLANCOUNT", typeof(decimal)); |
| | | insertDT.Columns.Add("FPRDBILLNO", typeof(string)); |
| | | insertDT.Columns.Add("FOWNERID", typeof(long)); |
| | | insertDT.Columns.Add("FOWNERTYPEID", typeof(string)); |
| | | insertDT.Columns.Add("FPLANDATE", typeof(DateTime)); |
| | | insertDT.Columns.Add("FCOMPLETE", typeof(string)); |
| | | insertDT.Columns.Add("FLACKCOUNT", typeof(decimal)); |
| | | insertDT.Columns.Add("FOCCUPYCOUNT", typeof(decimal)); |
| | | insertDT.Columns.Add("FCOMPLETECOUNT1", typeof(decimal)); |
| | | insertDT.Columns.Add("FERPCLSID", typeof(string)); |
| | | insertDT.Columns.Add("FWORKSHOPID", typeof(long)); |
| | | insertDT.Columns.Add("FSTOCKID", typeof(long)); |
| | | insertDT.Columns.Add("FOCCUPYPICKEDCOUNT", typeof(decimal)); |
| | | int jdtmmm = 1; |
| | | ds = oCN.RunProcReturn("select max(HInterID)FID FROM JIT_MOMaterReadysBill", "JIT_MOMaterReadysBill"); |
| | | int maxFid = int.Parse(ds.Tables[0].Rows[0][0].ToString() == "" ? "0" : ds.Tables[0].Rows[0][0].ToString()); |
| | | foreach (var item in completeAnalysisTempModel) |
| | | { |
| | | DataRow dr = insertDT.NewRow(); |
| | | dr["FID"] = maxFid + jdtmmm; |
| | | dr["FDOCUMENTSTATUS"] = "A"; |
| | | dr["FHMAINICMOINTERIDR"] = item.FHMainICMOInterIDr; |
| | | dr["FHMAINICMOENTRYID"] = item.FHMainICMOEntryID; |
| | | dr["FHICMOINTERID"] = item.FHICMOInterID; |
| | | dr["FHICMOENTRYID"] = item.FHICMOEntryID; |
| | | dr["FHMATERID"] = item.FHMaterID; |
| | | dr["FHSTOCKORGID"] = item.FHStockOrgID; |
| | | dr["FHSTOCKQTY"] = item.FHStockQty; |
| | | dr["FHLEFTQTY"] = item.FHLeftQty; |
| | | dr["FHPRDORGID"] = item.FHPRDORGID; |
| | | dr["FUNITDOSAGE"] = item.FUnitDosage; |
| | | dr["FSUMPLANCOUNT"] = item.FSumPlanCount; |
| | | dr["FPRDBILLNO"] = item.FPRDBillNo; |
| | | dr["FOWNERID"] = item.FOwnerId == null ? "0" : item.FOwnerId; |
| | | dr["FOWNERTYPEID"] = item.FOwnerTypeId; |
| | | dr["FPLANDATE"] = item.FPlanDate.ToString("yyyy-MM-dd"); |
| | | dr["FCOMPLETE"] = item.FComPlete; |
| | | dr["FLACKCOUNT"] = item.FLackCount; |
| | | dr["FOCCUPYCOUNT"] = item.FOccupyCount; |
| | | dr["FCOMPLETECOUNT1"] = item.FCompleteCount1; |
| | | dr["FERPCLSID"] = item.FErpClsID; |
| | | dr["FWORKSHOPID"] = item.FWorkShop == null ? "0" : item.FWorkShop; |
| | | dr["FSTOCKID"] = item.FStock == null ? "0" : item.FStock; |
| | | dr["FOCCUPYPICKEDCOUNT"] = item.FOccupyPickedCount; |
| | | insertDT.Rows.Add(dr); |
| | | jdtmmm++; |
| | | } |
| | | |
| | | insertDT.EndLoadData(); // çå
¥æ°æ®ç»æ |
| | | //æå
¥ä¹åæ§è¡ä¸æ¸
空è¯å¥(æµè¯æ¯å¦è½å¤é²æ¢éå¤çæ) |
| | | string deletesql = $"delete from JIT_MOMaterReadysBill where HICMOInterID in ({fDayPlanFids}) "; |
| | | oCN.RunProc(deletesql); |
| | | // æ¹éæå
¥å°æ°æ®åº |
| | | foreach (DataRow item in insertDT.Rows) |
| | | { |
| | | oCN.RunProc("insert into JIT_MOMaterReadysBill(HInterID,HDocumentStatus,HMainICMOInterID,HMainICMOEntryID,HICMOInterID" + |
| | | ", HICMOEntryID, HMaterID, HStockORGID, HStockQty, HLeftQty" + |
| | | ", HProdORGID, HUnitDosage, HSumPlanQty, HICMOBillNo, HOwnerID" + |
| | | ", HOwnerTypeID, HPlanDate, HComplete, HLackQty, HOccupyQty" + |
| | | ", HCompleteQty1, HErpClsID, HWorkShopID, HWHID, HOccupyPickedQTY)values" + |
| | | $"({item["FID"].ToString()}, 1, {item["FHMAINICMOINTERIDR"].ToString()}, {item["FHMAINICMOENTRYID"].ToString()}, {item["FHICMOINTERID"].ToString()}" + |
| | | $", {item["FHICMOENTRYID"].ToString()}, {item["FHMATERID"].ToString()}, {item["FHSTOCKORGID"].ToString()}, {item["FHSTOCKQTY"].ToString()}, {item["FHLEFTQTY"].ToString()}" + |
| | | $" , {item["FHPRDORGID"].ToString()}, {item["FUNITDOSAGE"].ToString()}, {item["FSUMPLANCOUNT"].ToString()}, '{item["FPRDBILLNO"].ToString()}', {item["FOWNERID"].ToString()}" + |
| | | $", '{item["FOWNERTYPEID"].ToString()}', '{item["FPLANDATE"].ToString()}','{item["FCOMPLETE"].ToString()}', {item["FLACKCOUNT"].ToString()}, {item["FOCCUPYCOUNT"].ToString()}" + |
| | | $", {item["FCOMPLETECOUNT1"].ToString()}, {item["FERPCLSID"].ToString()}, {item["FWORKSHOPID"].ToString()}, {item["FSTOCKID"].ToString()}, {item["FOCCUPYPICKEDCOUNT"].ToString()})"); |
| | | } |
| | | LogService.Write("æ¹éæå
¥å°æ°æ®åºç¨æ¶ï¼" + sw.Elapsed); |
| | | //æ§è¡å®æå æ´æ°æ¥è®¡åå·¥åç¶æ |
| | | string updatesql = string.Format(@" |
| | | update Sc_WorkBillSortBillSub set HComplete = 'æªé½å¥' where HEntryID IN |
| | | (select distinct HICMOEntryID from JIT_MOMaterReadysBill |
| | | where isnull(HComplete,'æªé½å¥') ='æªé½å¥' |
| | | and HICMOEntryID in ({0}) |
| | | )", fDayPlanFEntryids); |
| | | //LogService.Write(Context, updatesql); |
| | | oCN.RunProc(updatesql); |
| | | updatesql = string.Format(@" |
| | | update Sc_WorkBillSortBillSub set HComplete = 'é½å¥' |
| | | where HEntryID IN ({0}) and HComplete <>'æªé½å¥' |
| | | ", fDayPlanFEntryids); |
| | | //LogService.Write(updatesql); |
| | | oCN.RunProc(updatesql); |
| | | //éæ¾é½å¥æä½ é¿å
å¤äººåæ¶è¿è¡é½å¥åæ |
| | | oCN.RunProc($"update T_PRD_QTFX set FSTATUS = 0 where FPRDORGID ={omdelMian.HProdORGID} and FSTATUS = 1 "); |
| | | sw.Stop();//ç»æè®¡æ¶ |
| | | LogService.Write("é½å¥åæè¿è¡æ»æ¶é¿ï¼" + sw.Elapsed); |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "æä½æå"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LogService.Write("æä½å¤±è´¥ï¼" + e.Message.ToString()); |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exceptionï¼" + e.Message.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region ç产æ¥è®¡åå¹³å° éå® |
| | | [Route("JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHLockedDay")] |
| | | [HttpGet] |
| | | public object JIT_DayPlanPlatFormBillHLockedDay(string sWhere, int HLockedDay) |
| | | { |
| | | try |
| | | { |
| | | if (sWhere != null && sWhere != "") |
| | | { |
| | | oCN.RunProc("update Sc_WorkBillSortBillSub set HLockedSub=1" + |
| | | $" where HInterID in ({sWhere}) and HMasterDate between DATEADD(day, -1, getdate()) and DATEADD(day,{(HLockedDay - 1)},getdate()) "); |
| | | } |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucessï¼"; |
| | | 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("JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHUnlockDay")] |
| | | [HttpGet] |
| | | public object JIT_DayPlanPlatFormBillHUnlockDay(string sWhere, int HLockedDay) |
| | | { |
| | | try |
| | | { |
| | | if (sWhere != null && sWhere != "") |
| | | { |
| | | oCN.RunProc("update Sc_WorkBillSortBillSub set HLockedSub=0" + |
| | | $" where HInterID in ({sWhere}) and HMasterDate between DATEADD(day, -1, getdate()) and DATEADD(day,{(HLockedDay - 1)},getdate()) "); |
| | | } |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucessï¼"; |
| | | 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 |
| | | |
| | | } |
| | | } |