From 10c62342fe2fb3356004c427a2f10655c14668e4 Mon Sep 17 00:00:00 2001
From: jingh <jingh@LAPTOP-I53VDLOO>
Date: 星期六, 07 八月 2021 16:56:44 +0800
Subject: [PATCH] 1
---
WebAPI/Service/YqnQbService.cs | 258 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 230 insertions(+), 28 deletions(-)
diff --git a/WebAPI/Service/YqnQbService.cs b/WebAPI/Service/YqnQbService.cs
index 087f849..24ed380 100644
--- a/WebAPI/Service/YqnQbService.cs
+++ b/WebAPI/Service/YqnQbService.cs
@@ -4,7 +4,9 @@
using System.Collections.Generic;
using System.Data;
using System.Linq;
+using System.Text;
using System.Web;
+using WebAPI.Dapper;
using WebAPI.Models;
using WebAPI.WebS;
@@ -16,10 +18,10 @@
/// 鑾峰彇鍗曟嵁鍙�
/// </summary>
/// <returns></returns>
- public static ApiResult<DocumentsView> GetInterBillNo()
- {
- var hInterId= DBUtility.ClsPub.CreateBillID(ApiConfig.HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
- var hBillNo= DBUtility.ClsPub.CreateBillCode(ApiConfig.HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true);
+ public static ApiResult<DocumentsView> GetInterBillNo(string billType)
+ {
+ var hInterId = DBUtility.ClsPub.CreateBillID(billType, ref DBUtility.ClsPub.sExeReturnInfo);
+ var hBillNo = DBUtility.ClsPub.CreateBillCode(billType, ref DBUtility.ClsPub.sExeReturnInfo, true);
if (hInterId == 0 || string.IsNullOrEmpty(hBillNo))
return new ApiResult<DocumentsView> { code = -1, msg = "鑾峰彇澶辫触" };
DocumentsView documentsView = new DocumentsView()
@@ -40,14 +42,14 @@
var dataSet = GetBarCodeDb(sBillBarCode);
if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
return new ApiResult<DataSet> { code = -1, msg = "涓嶅瓨鍦ㄦ祦杞崱鍙�" };
- return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛",data=dataSet };
+ return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
}
/// <summary>
/// 娴佽浆鍗″洖杞︽柟娉�
/// </summary>
public static ApiResult<DataSet> GetProcDetail(string sBillNo, string sProcNo)
{
- if (string.IsNullOrEmpty(sBillNo)||string.IsNullOrEmpty(sProcNo))
+ if (string.IsNullOrEmpty(sBillNo) || string.IsNullOrEmpty(sProcNo))
return new ApiResult<DataSet> { code = -1, msg = "鏉$爜鍜屾祦杞崱涓嶈兘涓虹┖" };
var dataSet = GetProcDb(sBillNo, sProcNo);
if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
@@ -84,31 +86,202 @@
return new ApiResult<DataSet> { code = -1, msg = "鏈煡璇㈠埌宸ヤ綔涓績" };
return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
}
+ private static ConcurrentDictionary<string, string> dicLock = new System.Collections.Concurrent.ConcurrentDictionary<string, string>();//骞跺彂閿�
/// <summary>
/// 杩涚珯鎺ユ敹鍗�
/// </summary>
public static ApiResult SetStationInBill(ClsSc_StationInBillMain oMain)
{
- WebS.WebService1 oWebs = new WebS.WebService1();
- string sErrMsg = string.Empty;
- var result = oWebs.set_SaveStationInBill(oMain, ref sErrMsg);
- if (!result)
+ if (!dicLock.TryAdd(oMain.HICMOBillNo + "jz", ""))//闃叉骞跺彂
+ return new ApiResult { code = -1, msg = "鏈嶅姟鍣ㄧ箒蹇�" };
+ try
{
- return new ApiResult { code = -1, msg = sErrMsg };
+ if (oMain.HProcID == 0 || oMain.HQty == 0 || string.IsNullOrEmpty(oMain.HProcExchBillNo) || oMain.HQty == 0 || string.IsNullOrEmpty(oMain.HBillNo))
+ return new ApiResult { code = 1, msg = "鍙傛暟涓嶅叏" };
+ var stationInList = YqnDal.GetStationInBillMailList(oMain.HProcExchBillNo);//鑾峰緱璇ユ祦杞崱鎵�鏈夎繘绔欏崟
+ if (stationInList.Count > 0)
+ {
+ var stationOutList = YqnDal.GetStationOutBillMailList(oMain.HProcExchBillNo);//鑾峰緱璇ユ祦杞崱鎵�鏈夊嚭绔欏崟
+ var stationInModel = stationInList.OrderByDescending(a => a.HDate).First();//鑾峰彇杩涚珯鍗曟渶鏂拌繘绔欏伐搴�
+ if (stationOutList.Count == 0 && oMain.HProcID == stationInModel.HProcID)
+ return new ApiResult { code = -1, msg = "閲嶅鎵弿" };
+ if (stationOutList.Count == 0 && oMain.HProcID != stationInModel.HProcID)
+ return new ApiResult { code = -1, msg = "姝ゅ崟宸插叧鑱�" };
+ var stationOutModel = stationOutList.OrderByDescending(a => a.HDate).First();//鑾峰彇鍑虹珯鍗曟渶鏂板嚭绔欏伐搴�
+ if (stationInModel.HProcID != stationOutModel.HProcID && stationInModel.HProcID == oMain.HProcID)
+ return new ApiResult { code = -1, msg = "閲嶅鎵弿" };
+ if (stationInModel.HProcID != stationOutModel.HProcID && stationInModel.HProcID == oMain.HProcID)
+ return new ApiResult { code = -1, msg = "姝ゅ崟宸插叧鑱�" };
+ if (stationOutList.Exists(a => a.HProcID == oMain.HProcID))
+ return new ApiResult { code = -1, msg = "璇ュ崟鎹凡瀹屾垚姝ゅ伐鑹�" };
+ }
+ WebS.WebService1 oWebs = new WebS.WebService1();
+ string sErrMsg = string.Empty;
+ var result = oWebs.set_SaveStationInBill(oMain, ref sErrMsg);//杩涚珯
+ if (!result)
+ {
+ return new ApiResult { code = -1, msg = sErrMsg };
+ }
+ return new ApiResult { code = 1, msg = "鎿嶄綔鎴愬姛" };
}
- return new ApiResult { code = 1, msg = "鎿嶄綔鎴愬姛" };
+ catch (Exception ex)
+ {
+ return new ApiResult { code = -1, msg = "璇锋眰閿欒" + ex.ToString() };
+ }
+ finally
+ {
+ dicLock.TryRemove(oMain.HICMOBillNo + "jz", out string key);
+ }
+ }
+ /// <summary>
+ /// 鑾峰彇杩涚珯鍗曞垪琛�
+ /// </summary>
+ /// <param name="sWhere"></param>
+ /// <returns></returns>
+ public static ApiResult<DataSet> GetStationInBillList(string sWhere)
+ {
+ var dataSet = GetStationInBill(sWhere);
+ if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+ return new ApiResult<DataSet> { code = -1, msg = "鏈煡璇㈠埌鏁版嵁" };
+ return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
+ }
+ /// <summary>
+ /// 鑾峰彇鍑虹珯鍗曞垪琛�
+ /// </summary>
+ /// <param name="sWhere"></param>
+ /// <returns></returns>
+ public static ApiResult<DataSet> GetStationOutBillList(string sWhere)
+ {
+ var dataSet = GetStationOutBill(sWhere);
+ if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+ return new ApiResult<DataSet> { code = -1, msg = "鏈煡璇㈠埌鏁版嵁" };
+ return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
+ }
+ /// <summary>
+ /// 鑾峰彇娴佽浆鍗″垪琛�
+ /// </summary>
+ /// <param name="sWhere"></param>
+ /// <returns></returns>
+ public static ApiResult<DataSet> GetPorcessMainList(string sWhere)
+ {
+ var dataSet = GetProcessMain(sWhere);
+ if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+ return new ApiResult<DataSet> { code = -1, msg = "鏈煡璇㈠埌鏁版嵁" };
+ return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
+ }
+ /// <summary>
+ /// 鑾峰彇娴佽浆鍗″瓙琛ㄥ垪琛�
+ /// </summary>
+ /// <param name="sWhere"></param>
+ /// <returns></returns>
+ public static ApiResult<DataSet> GetPorcessSubList(int hInterId)
+ {
+ var dataSet = GetProcessSubList(hInterId);
+ if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+ return new ApiResult<DataSet> { code = -1, msg = "鏈煡璇㈠埌鏁版嵁" };
+ return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
}
/// <summary>
/// 鍑虹珯鎺ユ敹鍗�
/// </summary>
- public static ApiResult SetStationOutBill(Model.ClsSc_StationOutBillMain omodel)
+ public static ApiResult SetStationOutBill(StationOutBillView omodel)
{
- WebS.WebService1 oWebs = new WebS.WebService1();
- string sErrMsg = string.Empty;
- var result = SetOutBill(omodel);
- return result;
+ if (!dicLock.TryAdd(omodel.HICMOBillNo + "cz", omodel.HBillNo))//鍚屼竴鍗曞彿骞跺彂澶勭悊
+ return new ApiResult { code = -1, msg = "鏈嶅姟鍣ㄧ箒蹇�" };
+ try
+ {
+ var stationInBillModel = YqnDal.GetStationInBillMail(omodel.HProcID, omodel.HProcExchBillNo);
+ if (stationInBillModel == null)
+ return new ApiResult { code = -1, msg = "璇ュ伐搴忚繘绔欏崟涓嶅瓨鍦�" };
+ var stationOutBillModel = YqnDal.GetStationOutBillMail(omodel.HProcID, omodel.HProcExchBillNo);
+ if (stationOutBillModel != null)
+ return new ApiResult { code = -1, msg = "璇ュ伐搴忓凡瀛樺湪鍑虹珯鍗�" };
+ omodel.HYear = DateTime.Now.Year;
+ var result = SetOutBill(omodel);
+ return result;
+ }
+ catch (Exception ex)
+ {
+ return new ApiResult { code = -1, msg = ex.ToString() };
+ }
+ finally
+ {
+ dicLock.TryRemove(omodel.HICMOBillNo + "cz", out string key);
+ }
+
+ }
+ /// <summary>
+ /// 鑾峰彇宸ュ簭璇︽儏
+ /// </summary>
+ /// <param name="hItemId"></param>
+ /// <returns></returns>
+ public static ApiResult<Models.M_Process> GetProcessDetail(int hItemId)
+ {
+ var processModel = ProcessDal.GetProcessDetail(hItemId);
+ if (processModel == null)
+ return new ApiResult<M_Process> { code = -1, msg = "鏌ヨ涓虹┖" };
+ processModel.DepartmentModel = ProcessDal.GetDepartmentModel(processModel.HDeptID);
+ processModel.ProcMulModel = ProcessDal.GetProcMulModel(processModel.HProcMulID);
+ return new ApiResult<M_Process> { code = 1, msg = "鏌ヨ鎴愬姛", data = processModel };
+ }
+ /// <summary>
+ /// 鑾峰彇宸ュ簭鍒楄〃
+ /// </summary>
+ /// <param name="hName"></param>
+ /// <param name="hLevel"></param>
+ /// <param name="hNumber"></param>
+ /// <param name="hBillSubType"></param>
+ /// <returns></returns>
+ public static ApiResult<List<Models.M_Process>> GetProcessList(string hName, int hLevel, string hNumber, string hBillSubType, int page, int limit)
+ {
+ int pageCount = 0;
+ var list = ProcessDal.GetProcessList(hName, hLevel, hNumber, hBillSubType, page, limit, ref pageCount);
+ if (list?.Count == 0)
+ return new ApiResult<List<M_Process>> { code = -1, msg = "鏌ヨ涓虹┖" };
+ return new ApiResult<List<M_Process>> { code = 0, msg = "鏌ヨ鎴愬姛", data = list, count = pageCount };
+ }
+ /// <summary>
+ /// 鍒犻櫎涓�鏉″伐搴�
+ /// </summary>
+ /// <param name="hItemID"></param>
+ /// <returns></returns>
+ public static ApiResult DeleteProcess(int hItemID)
+ {
+ var result = ProcessDal.DeleteProcess(hItemID);
+ if (result > 0)
+ return new ApiResult { code = 1, msg = "鍒犻櫎鎴愬姛" };
+ return new ApiResult { code = -1, msg = "鍒犻櫎鏁版嵁涓嶅瓨鍦�" };
}
#region sql璇彞
+ public static DataSet GetStationOutBill(string strWhere)
+ {
+ var sql = "Select top 5000 * from h_v_MES_StationOutBillList Where 1=1 " + strWhere;
+ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ var dataSet = oCN.RunProcReturn(sql, "h_v_MES_StationOutBillList");
+ return dataSet;
+ }
+ public static DataSet GetStationInBill(string strWhere)
+ {
+ var sql = "Select top 5000 * from h_v_MES_StationInBillList Where 1=1 " + strWhere;
+ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ var dataSet = oCN.RunProcReturn(sql, "h_v_MES_StationInBillList");
+ return dataSet;
+ }
+ public static DataSet GetProcessSubList(int hInterId)
+ {
+ var sql = "select a.HProcNo 娴佹按鍙�,a.HProcNumber as 宸ュ簭浠g爜,b.HName 宸ュ簭鍚嶇О,c.HName 宸ヤ綔涓績,a.HQty 娴佽浆鍗℃暟閲� from Sc_ProcessExchangeBillSub a left join Gy_Process b on b.HItemID = a.HProcID left join Gy_WorkCenter c on c.HItemID = a.HCenterID where 1=1 and a.HInterID=" + hInterId;
+ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ var dataSet = oCN.RunProcReturn(sql, "Sc_ProcessExchangeBillSub");
+ return dataSet;
+ }
+ public static DataSet GetProcessMain(string strWhere)
+ {
+ var sql = "select a.HBillNo 鍗曟嵁鍙�, a.HDate 鏃ユ湡, HInterID, a.HICMOBillNo 鐢熶骇璁㈠崟, b.HName 浜у搧鍚嶇О, b.HNumber 浜у搧浠g爜, a.HPlanQty 娴佽浆鍗℃暟閲�, c.HName 鍗曚綅, a.HPlanBeginDate 璁″垝寮�宸ユ棩鏈�, a.HPlanEndDate 璁″垝瀹屽伐鏃ユ湡, a.HRemark 澶囨敞" +
+ " from Sc_ProcessExchangeBillMain a left join Gy_Material b on a.HMaterID = b.HItemID left join Gy_Unit c on c.HItemID = a.HUnitID where 1=1 " + strWhere;
+ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ var dataSet = oCN.RunProcReturn(sql, "Sc_ProcessExchangeBillMain");
+ return dataSet;
+ }
public static DataSet GetBarCodeDb(string billBarCode)
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
@@ -124,7 +297,7 @@
public static DataSet GetGroupDb(string sWhere)
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
- var dataSet = oCN.RunProcReturn("Select HItemID,HNumber 鐢熶骇鐝粍浠g爜,HName 鐢熶骇鐝粍 from Gy_Group where HStopflag=0 " + sWhere + " Order by HItemID ", "Gy_Source");
+ var dataSet = oCN.RunProcReturn("Select HItemID,HNumber 宸ヤ綔涓績浠g爜,HName 宸ヤ綔涓績 from Gy_WorkCenter where HStopflag=0 " + sWhere + " Order by HItemID ", "Gy_Source");
return dataSet;
}
@@ -145,13 +318,10 @@
var dataSet = oCN.RunProcReturn("Select HItemID,HNumber 宸ヤ綔涓績浠g爜,HName 宸ヤ綔涓績 from Gy_Group where HStopflag=0 " + sWhere + " Order by HItemID ", "Gy_Source");
return dataSet;
}
- private static ConcurrentDictionary<string,string> dicLock=new System.Collections.Concurrent.ConcurrentDictionary<string,string>();//骞跺彂閿�
- public static ApiResult SetOutBill(Model.ClsSc_StationOutBillMain omodel)
+ public static ApiResult SetOutBill(StationOutBillView omodel)
{
try
{
- if (!dicLock.TryAdd(omodel.HBillNo, omodel.HBillNo))
- return new ApiResult { code = -1, msg = "鏈嶅姟鍣ㄧ箒蹇�" };
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
omodel.HInterID = DBUtility.ClsPub.CreateBillID("3791", ref DBUtility.ClsPub.sExeReturnInfo);
oCN.BeginTran();
@@ -161,26 +331,58 @@
",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationOutTime,HSourceID" +
",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" +
- ",HSupID,HQty,HPrice,HMoney" +
+ ",HSupID,HQty,HPrice,HMoney,HProcNo" +
") " +
" values('3791','3791'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",getdate(),'" + DBUtility.ClsPub.CurUserName + "',getdate()" +
"," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'" +
"," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HProcPlanInterID.ToString() + "," + omodel.HProcPlanEntryID.ToString() + ",'" + omodel.HProcPlanBillNo + "'," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() +
",'" + omodel.HProcExchBillNo + "'," + omodel.HMaterID.ToString() + "," + omodel.HProcID.ToString() + "," + omodel.HICMOQty.ToString() + "," + omodel.HPlanQty.ToString() + ",getdate()," + omodel.HSourceID.ToString() +
"," + omodel.HGroupID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HEmpID.ToString() + ",'" + omodel.HBarCode + "','" + omodel.HAddr + "','" + omodel.HBarCodeMaker + "',getdate()" +
- "," + omodel.HSupID.ToString() + "," + omodel.HQty.ToString() + "," + omodel.HPrice.ToString() + "," + omodel.HMoney.ToString() +
- ") ";
+ "," + omodel.HSupID.ToString() + "," + omodel.HQty.ToString() + "," + omodel.HPrice.ToString() + "," + omodel.HMoney.ToString() + "," + omodel.HProcNo + ") ";
+ //var result= SqlPools.GetInstance("YqnConn").ExecuteCommand(sql);
oCN.RunProc(sql);
oCN.Commit();
return new ApiResult { code = 1, msg = "鏂板鎴愬姛" };
}
catch (Exception ex)
{
- return new ApiResult { code = -1, msg = "淇濆瓨閿欒/"+ex.ToString() };
+ return new ApiResult { code = -1, msg = "淇濆瓨閿欒/" + ex.ToString() };
}
- finally
+ }
+ public static ApiResult SetInBill(ClsSc_StationInBillMain omodel)
+ {
+ //SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ try
{
- dicLock.TryRemove(omodel.HBillNo, out string key);
+ var nowTime = DateTime.Now;
+ omodel.HBillType = "3790";
+ omodel.HYear = nowTime.Year;
+ omodel.HBillSubType = "3790";
+ //寰楀埌mainid
+ omodel.HInterID = DBUtility.ClsPub.CreateBillID(omodel.HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
+ omodel.HDate = nowTime;
+ omodel.HMakeDate = nowTime.ToString();
+ omodel.HStationInTime = nowTime;
+ omodel.HBarCodeMakeDate = nowTime;
+ omodel.HPeriod = 1;
+ var sqlBuilder = new StringBuilder();
+ sqlBuilder.Append("Insert Into Sc_StationInBillMain(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate,HYear,HPeriod,HRemark,HICMOInterID,HICMOBillNo");
+ sqlBuilder.Append(",HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationInTime,HSourceID");
+ sqlBuilder.Append(",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HSupID,HQty,HPrice,HMoney,HProcId,HProcNo) values ");
+ sqlBuilder.Append("(@HBillType,@HBillSubType,@HInterID,@HBillNo,@HBillStatus,@HDate,@HMaker,@HMakeDate,@HYear,@HPeriod,@HRemark,@HICMOInterID,@HICMOBillNo");
+ sqlBuilder.Append(",@HProcPlanInterID,@HProcPlanEntryID,@HProcPlanBillNo,@HProcExchInterID,@HProcExchEntryID,@HProcExchBillNo,@HMaterID,@HProcID,@HICMOQty,@HPlanQty,@HStationInTime,@HSourceID");
+ sqlBuilder.Append(",@HGroupID,@HDeptID,@HEmpID,@HBarCode,@HAddr,@HBarCodeMaker,@HBarCodeMakeDate,@HSupID,@HQty,@HPrice,@HMoney,@HProcId,@HProcNo)");
+ //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+ //oCN.BeginTran();
+ var result = SqlPools.GetInstance("YqnConn").ExecuteCommand(sqlBuilder.ToString(), omodel);
+ //oCN.RunProc(sql);
+ //oCN.Commit();
+ return new ApiResult { code = 1, msg = "鏂板鎴愬姛" };
+ }
+ catch (Exception e)
+ {
+ //oCN.RollBack();
+ return new ApiResult { code = -1, msg = "淇濆瓨閿欒/" + e.ToString() };
}
}
#endregion
--
Gitblit v1.9.1