From a893f52b8bb2317a563805c1d6f31cafad5653d7 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期四, 08 九月 2022 18:08:43 +0800
Subject: [PATCH] nothing
---
WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs | 612 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 511 insertions(+), 101 deletions(-)
diff --git a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
index 19632c0..aab3a29 100644
--- a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
+++ b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
@@ -1,11 +1,16 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
using Pub_Class;
+using SQLHelper;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
+using System.IO;
+using System.Web;
using System.Web.Http;
+using WebAPI.Controllers.SCGL.鏃ヨ鍒掔鐞�;
using WebAPI.Models;
namespace WebAPI.Controllers
@@ -19,9 +24,15 @@
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds;
+ DAL.ClsIF_Material_View oMaterHlp = new DAL.ClsIF_Material_View();
+ public DAL.ClsGy_Process_View oProcHlp = new DAL.ClsGy_Process_View();
+ DAL.ClsGy_WorkCenter_View oCenHlp = new DAL.ClsGy_WorkCenter_View();
+ Gy_RoutingBill_temporary omdelMian = new Gy_RoutingBill_temporary();
+ public string BillType = "3301";
+ #region 鏈煡
/// <summary>
- /// 杩斿洖宸ヨ壓璺嚎鍒楄〃
+ /// 鏈煡
///鍙傛暟锛歴tring sql銆�
///杩斿洖鍊硷細object銆�
/// </summary>
@@ -33,11 +44,11 @@
{
if (sWhere == null || sWhere.Equals(""))
{
- ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustOutBillList " + sWhere, "h_v_MES_StationEntrustOutBillList");
+ ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustOutBillList " + sWhere, "h_v_MES_StationEntrustOutBillList");
}
else
{
- string sql1 = "select * from h_v_MES_StationEntrustOutBillList where 1 = 1 ";
+ string sql1 = "select * from h_v_MES_StationEntrustOutBillList where 1 = 1 ";
string sql = sql1 + sWhere;
ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustOutBillList");
}
@@ -68,6 +79,9 @@
}
}
+ #endregion
+
+ #region 宸ヨ壓璺嚎 鏂板
/// <summary>
/// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
///鍙傛暟锛歴tring sql銆�
@@ -104,15 +118,29 @@
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
string msg2 = sArray[0].ToString();
string msg3 = sArray[1].ToString();
+
+ //int hentryid = int.Parse(sArray[2].ToString());//瀛愯〃鐨勯『搴廼d
+ int OperationType = int.Parse(sArray[2].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼
+ string user = sArray[3].ToString();//鐢ㄦ埛鍚�
try
{
+ //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+ if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Edit", 1, false, user))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏃犳潈闄愮紪杈�!";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
msg2 = "[" + msg2.ToString() + "]";
List<Gy_RoutingBill> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_RoutingBill>>(msg2);
- string BillType = "3301";
+
long HInterID = mainList[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
string HBillNo = mainList[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
DateTime HDate = mainList[0].HDate;//鏃ユ湡
- int HYear = 2021;
+ int HYear = DateTime.Now.Year;
double HPeriod = 1;
string HRemark = mainList[0].HRemark;//澶囨敞
string HMaker = mainList[0].HMaker;//鍒跺崟浜�
@@ -134,23 +162,48 @@
double HStdSourceQty = mainList[0].HStdSourceQty;//鏍囧噯璧勬簮鏁�
double HAddSourceRate = mainList[0].HAddSourceRate;//鍔犺祫婧愬閲�
double HDelSourceRate = mainList[0].HDelSourceRate;//鍑忚祫婧愬噺閲�
- int HPRDORGID = mainList[0].HPRDORGID; //缁勭粐
+ int HPRDORGID = mainList[0].HOrgID; //鐢熶骇缁勭粐
+ int HOrgID = mainList[0].HOrgID; //缁勭粐
+ string HPicNumVer = mainList[0].HPicNumVer;//鍥惧彿鐗堟湰
+ string HPicNumAssemble = mainList[0].HPicNumAssemble;//鎬昏鍥惧彿
+ string HMaterTexture = mainList[0].HMaterTexture;//鏉愯川
+ string HProductNum = mainList[0].HProductNum;//鎴愬搧缂栧彿
+ string HVerNum = mainList[0].HVerNum;//鐗堟湰
- //涓昏〃
- oCN.RunProc("Insert Into Gy_RoutingBillMain " +
- "(HBillType,HInterID,HBillNo,HDate" +
- ",HYear,HPeriod,HRemark,HMaker,Hmakedate,HMaterID,HName,HMaterTypeID" +
- ",HRoutingGroupID,HUnitID,HMaterNumber,HUnitNumber,HStandard" +
- ",HMainGroupID,HMainProcID,HMainCenterID,HMainTimeUnit,HMainUnitTime,HMainWorkQty" +
- ",HMainPrice,HStdSourceQty,HAddSourceRate,HPRDORGID,HDelSourceRate" +
- ") " +
- " values('" + BillType + "'," + HInterID + ",'" + HBillNo + "','" + HDate + "'" +
- "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HMaker + "',getdate()," + HMaterID + ",'" + HName + "'," + HMaterTypeID +
- "," + HRoutingGroupID + "," + HUnitID + ",'" + HMaterNumber + "','" + HUnitNumber + "'," + Convert.ToString(HStandard ? 1 : 0) +
- "," + HMainGroupID + "," + HMainProcID + "," + HMainCenterID + ",'" + HMainTimeUnit + "'," + HMainUnitTime + "," + HMainWorkQty +
- "," + HMainPrice + "," + HStdSourceQty + "," + HAddSourceRate + "," + HPRDORGID + "," + HDelSourceRate +
- ") ");
+ ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Gy_RoutingBillList");
+ if (OperationType == 1 && ds.Tables[0].Rows.Count == 0)//鏂板
+ {
+ //涓昏〃
+ oCN.RunProc("Insert Into Gy_RoutingBillMain " +
+ "(HBillType,HInterID,HBillNo,HDate" +
+ ",HYear,HPeriod,HRemark,HMaker,Hmakedate,HMaterID,HName,HMaterTypeID" +
+ ",HRoutingGroupID,HUnitID,HMaterNumber,HUnitNumber,HStandard" +
+ ",HMainGroupID,HMainProcID,HMainCenterID,HMainTimeUnit,HMainUnitTime,HMainWorkQty" +
+ ",HMainPrice,HStdSourceQty,HAddSourceRate,HPRDORGID,HDelSourceRate" +
+ ",HPicNumVer,HPicNumAssemble,HMaterTexture,HProductNum,HVerNum,HOrgID) " + " values('" + BillType + "'," + HInterID + ",'" + HBillNo + "','" + HDate + "'" +
+ "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HMaker + "',getdate()," + HMaterID + ",'" + HName + "'," + HMaterTypeID +
+ "," + HRoutingGroupID + "," + HUnitID + ",'" + HMaterNumber + "','" + HUnitNumber + "'," + Convert.ToString(HStandard ? 1 : 0) +
+ "," + HMainGroupID + "," + HMainProcID + "," + HMainCenterID + ",'" + HMainTimeUnit + "'," + HMainUnitTime + "," + HMainWorkQty +
+ "," + HMainPrice + "," + HStdSourceQty + "," + HAddSourceRate + "," + HPRDORGID + "," + HDelSourceRate +
+ ",'" + HPicNumVer + "','" + HPicNumAssemble + "','" + HMaterTexture + "','" + HProductNum + "','" + HVerNum + "'," + HOrgID + ") ");
+ }
+ else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
+ { //淇敼
+ oCN.RunProc("update Gy_RoutingBillMain set " +
+ "HDate='" + HDate +
+ "',HYear='" + HYear + "',HPeriod='" + HPeriod + "',HRemark='" + HRemark + "',HMaker='" + HMaker +
+ "',Hmakedate=getdate(),HMaterID='" + HMaterID + "',HName='" + HName + "',HMaterTypeID='" + HMaterTypeID +
+ "',HRoutingGroupID='" + HRoutingGroupID + "',HUnitID='" + HUnitID + "',HMaterNumber='" + HMaterNumber + "',HUnitNumber='" + HUnitNumber +
+ "',HStandard='" + Convert.ToString(HStandard ? 1 : 0) + "',HMainGroupID='" + HMainGroupID + "',HMainProcID='" + HMainProcID + "',HMainCenterID='" + HMainCenterID +
+ "',HMainTimeUnit='" + HMainTimeUnit + "',HMainUnitTime='" + HMainUnitTime + "',HMainWorkQty='" + HMainWorkQty + "',HMainPrice='" + HMainPrice +
+ "',HStdSourceQty='" + HStdSourceQty + "',HAddSourceRate='" + HAddSourceRate + "',HDelSourceRate='" + HDelSourceRate +
+ "',HPicNumVer='" + HPicNumVer + "',HPicNumAssemble='" + HPicNumAssemble + "',HMaterTexture='" + HMaterTexture + "'" +
+ ",HProductNum='" + HProductNum + "',HVerNum='" + HVerNum + "' where HInterID='" + HInterID + "'");
+
+ //鍒犻櫎瀛愯〃
+ oCN.RunProc("delete from Gy_RoutingBillSub where HInterID='" + HInterID+ "' and HProcNo!='9999'");
+ }
//淇濆瓨瀛愯〃
objJsonResult = AddBillSub(msg3, HInterID);
if (objJsonResult.code == "0")
@@ -164,23 +217,28 @@
oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID); //璁剧疆榛樿宸ヨ壓璺嚎
//鍒ゆ柇鏄惁閲嶅宸ュ簭鍙�
ds = oCN.RunProcReturn("exec h_p_Gy_RoutingCtrl " + HInterID, "h_p_Gy_RoutingCtrl");
- if (ds == null || ds.Tables[0].Rows.Count == 0)
+
+ if (OperationType == 1)
{
- objJsonResult.code = "0";
- objJsonResult.count = 0;
- objJsonResult.Message = "鍒ゆ柇閲嶅宸ュ簭鍙峰け璐ワ紒";
- objJsonResult.data = null;
- return objJsonResult;
- }
- else
- {
- if (ClsPub.isStrNull(ds.Tables[0].Rows[0][0]) == "2")
+
+ if (ds == null || ds.Tables[0].Rows.Count == 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
- objJsonResult.Message = ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
+ objJsonResult.Message = "鍒ゆ柇閲嶅宸ュ簭鍙峰け璐ワ紒";
objJsonResult.data = null;
return objJsonResult;
+ }
+ else
+ {
+ if (ClsPub.isStrNull(ds.Tables[0].Rows[0][0]) == "2")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
}
}
objJsonResult.code = "1";
@@ -199,11 +257,14 @@
}
}
- public json AddBillSub(string msg3,long HInterID) {
- List<Gy_RoutingBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_RoutingBillSub>>(msg3);
- for (int i=0;i< subList.ToArray().Length;i++)
+ public json AddBillSub(string msg3, long HInterID)
+ {
+ List<Gy_RoutingBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_RoutingBillSub>>(msg3);
+ int i = 0;
+ foreach (Gy_RoutingBillSub oSub in DetailColl)
{
- if (subList[i].HWorkQty <= 0)
+ i++;
+ if (oSub.HWorkQty <= 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
@@ -211,72 +272,37 @@
objJsonResult.data = null;
return objJsonResult;
}
- long HCenterID = 0;//宸ヤ綔涓績ID
- string HTimeUnit = "";//鏃堕棿鍗曚綅
- double HUnitTime = 0;//杩愯鏃堕棿
- double HReadyTime = 0;//鍑嗗鏃堕棿
- double HQueueTime = 0;//鎺掗槦鏃堕棿
- double HMoveTime = 0;//杞Щ鏃堕棿
- string HCloseMan = "";//鍏抽棴浜�
- bool HCloseType = false;//
- string HProcType = "";//宸ュ簭绫诲瀷
- bool HNextProcFlag = false;//涓嬮亾娴佽浆宸ュ簭
- bool HFlowProc = false;//娴佽浆宸ュ簭
- double HFixPrice = 0;//鐝骇瀹氶
- double HProcPrice = 0;//宸ュ簭宸ヤ环
- double HBadPrice = 0;//涓嶅悎鏍煎崟浠�
- double HWasterPrice = 0;//鎶ュ簾鍗曚环
- bool HStdFlag = false;//鏍囧噯瀹氶
- double HBeginDayQty = 0;//寮�宸ヤ綑閲忥紙澶╂暟锛�
- double HBeginFixQty = 0;//寮�宸ヤ綑閲忥紙鍥烘暟锛�
- long HSourceInterID = 0;//婧愬崟涓诲唴鐮�
- long HSourceEntryID = 0;//婧愬崟瀛愬唴鐮�
- string HSourceBillNo = "";//婧愬崟鍗曞彿
- string HSourceBillType = "";//婧愬崟绫诲瀷
- double HRelationQty = 0;//鍏宠仈鏁伴噺
- double HRelationMoney = 0;//鍏宠仈閲戦
- bool HAutoTrunFlag = false;//鑷姩绉昏浆
- double HFixWorkDays = 0;//涓婇亾鍥哄畾澶╂暟
- double HTrunWorkDays = 0;//涓婇亾寰幆鍛ㄦ湡
- double HReadyTimes = 0;//鏈亾鍑嗗鏃堕棿
- double HICMOReadyTimes = 0;//鎹㈠崟鍑嗗鏃堕棿
- double HSubStdEmpQty = 0;//鏍囧噯浜烘暟
- double HSubCanUseSourceQty = 0;//鍙搷浣滆澶囨暟
- long HProcID_S = 0;//宸ユID
- long HCenterID_S = 0;//浜х嚎涓績ID
- double HWorkQty_S = 0;//浜х嚎浜ц兘
- double HSubStdEmpQty_S = 0;//浜х嚎浜烘暟
- string HMouldNo = "";//妯″叿缂栧彿
- double HChangeMould = 0;//鎹㈡ā鏃堕棿/鎹㈠垁鏃堕棿
- string HPackStd = "";//鍛ㄨ浆绠辨爣鍑�
- string HPack = "";//鍛ㄨ浆绠�
- string HPutArea = "";//鏆傛斁鍖�
- double HMyWorkDays = 0;//鐢熶骇鍛ㄦ湡
- double HMyFixWorkDays = 0;//鍥哄畾鐢熶骇澶╂暟
- oCN.RunProc("Insert into Gy_RoutingBillSub " +
- "(HInterID,HEntryID,HProcID,HProcNO,HSupID,HSupFlag" +
- ",HWorkQty,HCenterID,HTimeUnit,HUnitTime" +
- ",HReadyTime,HQueueTime,HMoveTime" +
- ",HCloseMan,HCloseType,HRemark,HProcType,HNextProcFlag,HFlowProc" +
- ",HFixPrice,HProcPrice,HBadPrice,HWasterPrice,HStdFlag,HBeginDayQty,HBeginFixQty" +
- ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HAutoTrunFlag" +
- ",HFixWorkDays,HTrunWorkDays,HReadyTimes,HICMOReadyTimes,HSubStdEmpQty,HSubCanUseSourceQty" +
- ",HProcID_S,HCenterID_S,HWorkQty_S,HSubStdEmpQty_S,HMouldNo,HChangeMould" +
- ",HPackStd,HPack,HPutArea,HMyWorkDays,HMyFixWorkDays,HPassRate" +
- ") values("
- + HInterID + "," + i + "," + subList[i].HProcID + "," + subList[i].HProcNo + "," + subList[i].HSupID + "," + Convert.ToString(subList[i].HSupFlag ? 1 : 0) + "" +
- "," + subList[i].HWorkQty + "," + HCenterID + ",'" + HTimeUnit + "'," + HUnitTime +
- "," + HReadyTime + "," + HQueueTime + "," + HMoveTime +
- ",'" + HCloseMan + "'," + Convert.ToString(HCloseType ? 1 : 0) + ",'" + subList[i].HRemark + "','" + HProcType + "'," + Convert.ToString(HNextProcFlag ? 1 : 0) + "," + Convert.ToString(HFlowProc ? 1 : 0) +
- "," + HFixPrice + "," + HProcPrice + "," + HBadPrice + "," + HWasterPrice + "," + Convert.ToString(HStdFlag ? 1 : 0) + "," + HBeginDayQty + "," + HBeginFixQty +
- "," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "'," + HRelationQty + "," + HRelationMoney + "," + Convert.ToString(HAutoTrunFlag ? 1 : 0) +
- "," + HFixWorkDays + "," + HTrunWorkDays + "," + HReadyTimes + "," + HICMOReadyTimes + "," + HSubStdEmpQty + "," + HSubCanUseSourceQty +
- "," + HProcID_S + "," + HCenterID_S + "," + HWorkQty_S + ", " + HSubStdEmpQty_S + ",'" + HMouldNo + "'," + HChangeMould +
- ",'" + HPackStd + "','" + HPack + "','" + HPutArea + "'," + HMyWorkDays + "," + HMyFixWorkDays + "," + subList[i].HPassRate +
- ") ");
+ if (oSub.HProcNo!="9999")
+ {
+ oCN.RunProc("Insert into Gy_RoutingBillSub " +
+ "(HInterID,HEntryID,HProcID,HProcNO,HSupID,HSupFlag" +
+ ",HWorkQty,HCenterID,HTimeUnit,HUnitTime" +
+ ",HReadyTime,HQueueTime,HMoveTime" +
+ ",HCloseMan,HCloseType,HRemark,HProcType,HNextProcFlag,HFlowProc" +
+ ",HFixPrice,HProcPrice,HBadPrice,HWasterPrice,HStdFlag,HBeginDayQty,HBeginFixQty" +
+ ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HAutoTrunFlag" +
+ ",HFixWorkDays,HTrunWorkDays,HReadyTimes,HICMOReadyTimes,HSubStdEmpQty,HSubCanUseSourceQty" +
+ ",HProcID_S,HCenterID_S,HWorkQty_S,HSubStdEmpQty_S,HMouldNo,HChangeMould" +
+ ",HPackStd,HPack,HPutArea,HMyWorkDays,HMyFixWorkDays,HPassRate" +
+ ",HTechnologyParameter,HPicNum,HProcCheckNote" +
+ ",HOverRate,HProcWorkNum" +
+ ") values("
+ + HInterID + "," + i + "," + oSub.HProcID.ToString() + ",'" + oSub.HProcNo + "'," + oSub.HSupID.ToString() + "," + Convert.ToString(oSub.HSupFlag ? 1 : 0) + "" +
+ "," + oSub.HWorkQty.ToString() + "," + oSub.HCenterID.ToString() + ",'" + oSub.HTimeUnit.ToString() + "'," + oSub.HUnitTime.ToString() +
+ "," + oSub.HReadyTime.ToString() + "," + oSub.HQueueTime.ToString() + "," + oSub.HMoveTime.ToString() +
+ ",'" + oSub.HCloseMan + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "','" + oSub.HProcType + "'," + Convert.ToString(oSub.HNextProcFlag ? 1 : 0) + "," + Convert.ToString(oSub.HFlowProc ? 1 : 0) +
+ "," + oSub.HFixPrice.ToString() + "," + oSub.HProcPrice.ToString() + "," + oSub.HBadPrice.ToString() + "," + oSub.HWasterPrice.ToString() + "," + Convert.ToString(oSub.HStdFlag ? 1 : 0) + "," + oSub.HBeginDayQty.ToString() + "," + oSub.HBeginFixQty.ToString() +
+ "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + "," + Convert.ToString(oSub.HAutoTrunFlag ? 1 : 0) +
+ "," + oSub.HFixWorkDays.ToString() + "," + oSub.HTrunWorkDays.ToString() + "," + oSub.HReadyTimes.ToString() + "," + oSub.HICMOReadyTimes.ToString() + "," + oSub.HSubStdEmpQty.ToString() + "," + oSub.HSubCanUseSourceQty.ToString() +
+ "," + oSub.HProcID_S.ToString() + "," + oSub.HCenterID_S.ToString() + "," + oSub.HWorkQty_S.ToString() + ", " + oSub.HSubStdEmpQty_S.ToString() + ",'" + oSub.HMouldNo + "'," + oSub.HChangeMould.ToString() +
+ ",'" + oSub.HPackStd + "','" + oSub.HPack + "','" + oSub.HPutArea + "'," + oSub.HMyWorkDays.ToString() + "," + oSub.HMyFixWorkDays.ToString() + "," + oSub.HPassRate.ToString() +
+ ",'" + oSub.HTechnologyParameter.ToString() + "','" + oSub.HPicNum.ToString() + "','" + oSub.HProcCheckNote.ToString() +
+ "', " + oSub.HOverRate.ToString() + ",'" + oSub.HProcWorkNum.ToString() + "'" +
+ ") ");
+ }
}
-
+
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = null;
@@ -284,6 +310,390 @@
return objJsonResult;
}
- //
+ #endregion
+
+ #region 宸ヨ壓璺嚎 鏂囦欢涓婁紶
+ [Route("Gy_RoutingBill/Gy_RoutingBillimport")]
+ [HttpPost]
+ public object Gy_RoutingBillimport()
+ {
+ try
+ {
+ var WorkBookName = HttpContext.Current.Request["WorkBookName"];
+ DBUtility.ClsPub.HOrgID = long.Parse(HttpContext.Current.Request["HOrgID"]);
+ //鑾峰彇鏂囦欢鍚嶇О
+ var file = HttpContext.Current.Request.Files[0];
+ //鑾峰彇鏂囦欢鐗╃悊璺緞
+ string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
+ //淇濆瓨鏂囦欢
+ file.SaveAs(ExcelPath);
+
+ NpoiHelper np = new NpoiHelper();
+ DataSet ExcelDs = np.ReadExcel(ExcelPath, 1,2, WorkBookName);
+
+ //鍒犻櫎鏂囦欢
+ File.Delete(ExcelPath);
+
+ //鍒涘缓涓存椂琛�
+ DataTable tb2 = new DataTable("dt2");
+ DataTable tb3 = new DataTable("dt3");
+
+ //娣诲姞鍒楀悕
+ for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
+ {
+ tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
+ }
+
+ //娣诲姞鏁版嵁
+ for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
+ {
+ DataRow row = tb2.NewRow();
+ for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
+ {
+ row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
+ }
+ tb2.Rows.Add(row);
+ }
+
+
+ var error = "";
+
+ //鏌ヨ宸ヨ壓璺嚎娌℃湁鐨勫垪
+ if (!tb2.Columns.Contains("浜у搧浠g爜"))
+ error += "娌℃湁鎵惧埌銆愪骇鍝佷唬鐮併�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("宸ュ簭"))
+ error += "娌℃湁鎵惧埌銆愬伐搴忋�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("宸ヤ綔涓績"))
+ error += "娌℃湁鎵惧埌銆愬伐浣滀腑蹇冦�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鍔犲伐鏁伴噺"))
+ error += "娌℃湁鎵惧埌銆愬姞宸ユ暟閲忋�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鏈亾寮�宸ヤ綑閲�"))
+ error += "娌℃湁鎵惧埌銆愭湰閬撳紑宸ヤ綑閲忋�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鏈亾鍥哄畾寮�宸ュぉ鏁�"))
+ error += "娌℃湁鎵惧埌銆愭湰閬撳浐瀹氬紑宸ュぉ鏁般�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鐝骇瀹氶"))
+ error += "娌℃湁鎵惧埌銆愮彮浜у畾棰濄�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("宸ュ簭宸ヤ环"))
+ error += "娌℃湁鎵惧埌銆愬伐搴忓伐浠枫�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("宸ュ簭搴忓彿"))
+ error += "娌℃湁鎵惧埌銆愬伐搴忓簭鍙枫�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("宸ヨ壓鍙傛暟"))
+ error += "娌℃湁鎵惧埌銆愬伐鑹哄弬鏁般�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鍥剧焊缂栧彿"))
+ error += "娌℃湁鎵惧埌銆愬浘绾哥紪鍙枫�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鏈伐搴忕‘璁よ褰�"))
+ error += "娌℃湁鎵惧埌銆愭湰宸ュ簭纭璁板綍銆戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鍥惧彿鐗堟湰"))
+ error += "娌℃湁鎵惧埌銆愬浘鍙风増鏈�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鎬昏鍥惧彿"))
+ error += "娌℃湁鎵惧埌銆愭�昏鍥惧彿銆戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鏉愯川"))
+ error += "娌℃湁鎵惧埌銆愭潗璐ㄣ�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鎴愬搧缂栧彿"))
+ error += "娌℃湁鎵惧埌銆愭垚鍝佺紪鍙枫�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鐗堟湰"))
+ error += "娌℃湁鎵惧埌銆愮増鏈�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("妯″叿缂栧彿"))
+ error += "娌℃湁鎵惧埌銆愭ā鍏风紪鍙枫�戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("绋嬪簭鍙�"))
+ error += "娌℃湁鎵惧埌銆愮▼搴忓彿銆戠殑鏍囬,";
+
+ if (!tb2.Columns.Contains("鑹巼"))
+ error += "娌℃湁鎵惧埌銆愯壇鐜囥�戠殑鏍囬";
+
+ if (error.Length > 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = $"Excel妯℃澘瀛樺湪閿欒,{error}\r\n" ;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ objJsonResult = (json)Checkdata(tb2);
+ if (objJsonResult.code == "0")
+ {
+ return objJsonResult;
+ }
+
+ for (int i = 0; i <= tb2.Rows.Count - 1; i++)
+ {
+ string sHNumber = "";
+ if (DBUtility.ClsPub.isStrNull(tb2.Rows[i]["浜у搧浠g爜"].ToString()) != "")
+ {
+ sHNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["浜у搧浠g爜"].ToString());
+ //瀹℃牳浠g爜鏄惁鍚堢悊
+ if (!DBUtility.ClsPub.AllowNumber(sHNumber))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鐗╂枡浠g爜涓笉鑳藉嚭鐜拌繛缁��.鈥欏苟涓旈浣嶆湯浣嶄笉鑳戒负鈥�.鈥欙紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ //寰楀埌鐗╂枡鍐呯爜
+ if (!oMaterHlp.GetInfoByNumber(sHNumber))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "绗�" + (i + 1).ToString() + "琛�," + sHNumber + "娌℃湁鎵惧埌瀵瑰簲鐨勭墿鏂欙紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+ else
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "绗�" + (i + 1).ToString() + "琛�,娌℃湁鎵惧埌瀵瑰簲鐨勭墿鏂欙紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ //鍒犻櫎涓存椂琛ㄦ暟鎹�
+ oCN.RunProc("delete from diyipi");
+
+ //涓存椂琛ㄦ坊鍔犳暟鎹�
+ for (int i = 0; i < tb2.Rows.Count; i++)
+ {
+ oCN.RunProc(@"insert into diyipi(浜у搧浠g爜,浜у搧鍚嶇О,宸ュ簭搴忓彿,宸ュ簭浠g爜,宸ュ簭,宸ヤ綔涓績,鍔犲伐鏁伴噺
+ , 鑹巼, 宸ュ簭宸ヤ环, 涓嶅悎鏍煎崟浠�, 鎶ュ簾鍗曚环, 鏈亾鍥哄畾寮�宸ュぉ鏁�, 鏈亾寮�宸ヤ綑閲�, 涓婇亾绛夊緟澶╂暟
+ , 涓婇亾寰幆鍛ㄦ湡, 鑷姩杞Щ, 澶栧崗鏍囪, 渚涘簲鍟嗕唬鐮�, 渚涘簲鍟�, 宸ヨ壓鍙傛暟, 鍥剧焊缂栧彿
+ , 鏈伐搴忕‘璁よ褰�, 澶囨敞, 鍥惧彿鐗堟湰, 鎬昏鍥惧彿, 鏉愯川, 鎴愬搧缂栧彿, 鐗堟湰
+ , 妯″叿缂栧彿, 绋嬪簭鍙�, 鐝骇瀹氶, 宸ヨ壓璺嚎鍚嶇О, 鏃堕棿鍗曚綅,宸ヨ壓璺嚎浠g爜)values
+ ('" + tb2.Rows[i]["浜у搧浠g爜"].ToString() + "','" + tb2.Rows[i]["浜у搧鍚嶇О"].ToString() + "','" + tb2.Rows[i]["宸ュ簭搴忓彿"].ToString() + "','" + tb2.Rows[i]["宸ュ簭浠g爜"].ToString() + "','" + tb2.Rows[i]["宸ュ簭"].ToString() + "','" + tb2.Rows[i]["宸ヤ綔涓績"].ToString() + "','" + tb2.Rows[i]["鍔犲伐鏁伴噺"].ToString() + "'" +
+ ",'" + tb2.Rows[i]["鑹巼"].ToString() + "','" + (tb2.Rows[i]["宸ュ簭宸ヤ环"].ToString()==""?"0": tb2.Rows[i]["宸ュ簭宸ヤ环"].ToString()) + "','" + tb2.Rows[i]["涓嶅悎鏍煎崟浠�"].ToString() + "','" + tb2.Rows[i]["鎶ュ簾鍗曚环"].ToString() + "','" + tb2.Rows[i]["鏈亾鍥哄畾寮�宸ュぉ鏁�"].ToString() + "','" + tb2.Rows[i]["鏈亾寮�宸ヤ綑閲�"].ToString() + "','" + tb2.Rows[i]["涓婇亾绛夊緟澶╂暟"].ToString() + "'" +
+ ",'" + tb2.Rows[i]["涓婇亾寰幆鍛ㄦ湡"].ToString() + "','" + tb2.Rows[i]["鑷姩杞Щ"].ToString() + "','" + tb2.Rows[i]["澶栧崗鏍囪"].ToString() + "','" + tb2.Rows[i]["渚涘簲鍟嗕唬鐮�"].ToString() + "','" + tb2.Rows[i]["渚涘簲鍟�"].ToString() + "','" + tb2.Rows[i]["宸ヨ壓鍙傛暟"].ToString() + "','" + tb2.Rows[i]["鍥剧焊缂栧彿"].ToString() + "'" +
+ ",'" + tb2.Rows[i]["鏈伐搴忕‘璁よ褰�"].ToString() + "','" + tb2.Rows[i]["澶囨敞"].ToString() + "','" + tb2.Rows[i]["鍥惧彿鐗堟湰"].ToString() + "','" + tb2.Rows[i]["鎬昏鍥惧彿"].ToString() + "','" + tb2.Rows[i]["鏉愯川"].ToString() + "','" + tb2.Rows[i]["鎴愬搧缂栧彿"].ToString() + "','" + tb2.Rows[i]["鐗堟湰"].ToString() + "'" +
+ ",'" + tb2.Rows[i]["妯″叿缂栧彿"].ToString() + "','" + tb2.Rows[i]["绋嬪簭鍙�"].ToString() + "','" + tb2.Rows[i]["鐝骇瀹氶"].ToString() + "','" + tb2.Rows[i]["宸ヨ壓璺嚎鍚嶇О"].ToString() + "','" + tb2.Rows[i]["鏃堕棿鍗曚綅"].ToString() + "','" + tb2.Rows[i]["宸ヨ壓璺嚎浠g爜"].ToString() + "')");
+ }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = error;
+ objJsonResult.data = tb2;
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ //妫�鏌ョ墿鏂�
+ private object Checkdata(DataTable dt)
+ {
+ bool b = false;
+ string sErrMsg = "";
+ string sMsg = "";
+ for (int i = 0; i <= dt.Rows.Count - 1; i++)
+ {
+ string sHNumber = "";
+ string sHNamePoc = "";
+ string sHNumberCen = "";
+ Single sWorkQty = 0;
+ Single sHPassRate = 0;
+
+ //
+ sHNumber = DBUtility.ClsPub.isStrNull(dt.Rows[i]["浜у搧浠g爜"].ToString());
+ sHNumberCen = DBUtility.ClsPub.isStrNull(dt.Rows[i]["宸ヤ綔涓績"].ToString());
+ sHNamePoc = DBUtility.ClsPub.isStrNull(dt.Rows[i]["宸ュ簭"].ToString());
+ sWorkQty = DBUtility.ClsPub.isSingle(dt.Rows[i]["鍔犲伐鏁伴噺"].ToString());
+ sHPassRate = DBUtility.ClsPub.isSingle(dt.Rows[i]["鑹巼"].ToString());
+ if (sHNumber != "")
+ {
+ //
+ int index = i + 1;
+ //鍔犲伐鏁伴噺涓嶈兘灏忎簬绛変簬闆�
+ if (sWorkQty <= 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "绗�" + index + "琛屽姞宸ユ暟閲忎笉鑳藉皬浜庣瓑浜庨浂锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ //鑹巼涓嶈兘灏忎簬绛変簬闆�
+ if (sHPassRate <= 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "绗�" + index + "琛岃壇鐜囦笉鑳藉皬浜庣瓑浜庨浂锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ //瀹℃牳浠g爜鏄惁鍚堢悊
+ if (!DBUtility.ClsPub.AllowNumber(sHNumber))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鐗╂枡浠g爜涓笉鑳藉嚭鐜拌繛缁��.鈥欏苟涓旈浣嶆湯浣嶄笉鑳戒负鈥�.鈥欙紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ //寰楀埌鐗╂枡鍐呯爜
+ int j = i + 2;
+ if (!oMaterHlp.GetInfoByNumber(sHNumber))
+ {
+ sMsg = "[" + sHNumber + "]鐗╂枡涓嶅瓨鍦�";
+ if (sErrMsg.Contains(sMsg) == false)
+ {
+ sErrMsg = sErrMsg + "[" + sHNumber + "]鐗╂枡涓嶅瓨鍦╘r\n";
+ }
+ b = true;
+ }
+ //寰楀埌宸ュ簭鍐呯爜
+ if (!oProcHlp.GetInfoByName(sHNamePoc))
+ {
+ sMsg = "[" + sHNamePoc + "]宸ュ簭涓嶅瓨鍦�";
+ if (sErrMsg.Contains(sMsg) == false)
+ {
+ sErrMsg = sErrMsg + "[" + sHNamePoc + "]宸ュ簭涓嶅瓨鍦╘r\n";
+ }
+ b = true;
+ }
+
+ //寰楀埌宸ヤ綔涓績鍐呯爜
+ if (!oCenHlp.GetInfoByName(sHNumberCen))
+ {
+ sMsg = "[" + sHNumberCen + "]宸ヤ綔涓績涓嶅瓨鍦�";
+ if (sErrMsg.Contains(sMsg) == false)
+ {
+ sErrMsg = sErrMsg + "[" + sHNumberCen + "]宸ヤ綔涓績涓嶅瓨鍦╘r\n";
+ }
+ b = true;
+
+ }
+
+ }
+ }
+ if (b == true)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = sErrMsg;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ else
+ {
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = sErrMsg;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ }
+ #endregion
+
+ #region 宸ヨ壓璺嚎 瀵煎叆(淇濆瓨)
+ //涓存椂瀛楁
+ public class Gy_RoutingBill_temporary
+ {
+ public string HYear;
+ public string HPeriod;
+ public string DataAppend;
+ public string HOrgID;
+ public Int64 HTProcessFlag;
+ }
+
+ [Route("Gy_RoutingBill/Gy_RoutingBill_btnSave")]
+ [HttpPost]
+ public object Gy_RoutingBill_btnSave([FromBody] JObject sMainSub)
+ {
+ var _value = sMainSub["sMainSub"].ToString();
+ string msg1 = _value.ToString();
+ oCN.BeginTran();
+ //淇濆瓨涓昏〃
+ objJsonResult = RoutAddBillMain(msg1);
+ if (objJsonResult.code == "0")
+ {
+ oCN.RollBack();
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = objJsonResult.Message;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ oCN.Commit();
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = objJsonResult.Message;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ public json RoutAddBillMain(string msg1)
+ {
+ string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+ string msg2 = sArray[0].ToString();
+ string msg3 = sArray[1].ToString();
+ string user = sArray[2].ToString();
+
+ try
+ {
+ if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Edit", 1, false, user))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ //琛ㄥご瀛楁
+ omdelMian = Newtonsoft.Json.JsonConvert.DeserializeObject<Gy_RoutingBill_temporary>(msg2);
+
+
+ ds = oCN.RunProcReturn("select distinct 浜у搧浠g爜,宸ヨ壓璺嚎浠g爜 from diyipi ", "diyipi");
+
+ for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+ {
+ var HBillNo = ds.Tables[0].Rows[i]["宸ヨ壓璺嚎浠g爜"].ToString();//鑾峰緱涓�涓柊鐨勫崟鎹彿
+ var HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);//鑾峰緱涓�涓柊鐨刬d
+ oCN.RunProc($"exec Gy_RoutingBill_Excel '{ds.Tables[0].Rows[i]["浜у搧浠g爜"].ToString()}',{HInterID},'{HBillNo}','{user}',{omdelMian.HOrgID},{omdelMian.HTProcessFlag} ");
+ }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "瀵煎叆瀹屾垚,鍏�" + ds.Tables[0].Rows.Count + "涓伐鑹鸿矾绾�";
+ 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
}
}
\ No newline at end of file
--
Gitblit v1.9.1