From 549df1cac1529f4fc9b5d9b64e27de5d5d8b8951 Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期三, 22 十月 2025 13:53:41 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API
---
WebAPI/Controllers/SCGL/Sc_MESEndWorkBillController.cs | 263 +++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 246 insertions(+), 17 deletions(-)
diff --git a/WebAPI/Controllers/SCGL/Sc_MESEndWorkBillController.cs b/WebAPI/Controllers/SCGL/Sc_MESEndWorkBillController.cs
index 8950a72..bd5c944 100644
--- a/WebAPI/Controllers/SCGL/Sc_MESEndWorkBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_MESEndWorkBillController.cs
@@ -1,4 +1,5 @@
锘縰sing Newtonsoft.Json.Linq;
+using Pub_Class;
using System;
using System.Collections.Generic;
using System.Data;
@@ -12,12 +13,16 @@
{
public class Sc_MESEndWorkBillController : ApiController
{
+ public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+
private json objJsonResult = new json();
public DataSet ds = new DataSet();
public WebServer webserver = new WebServer();
//鑾峰彇绯荤粺鍙傛暟
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
- Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain = new Pub_Class.ClsXt_SystemParameterMain();
+
+ public DAL.ClsSc_MESEndWorkBill BillNew = new DAL.ClsSc_MESEndWorkBill(); //瀵瑰簲鍗曟嵁绫�
+ public DAL.ClsSc_MESEndWorkBill BillOld = new DAL.ClsSc_MESEndWorkBill(); //瀵瑰簲鍗曟嵁绫�
#region 瀹屽伐鍗�
@@ -191,10 +196,11 @@
/// <returns></returns>
[Route("Sc_MESEndWorkBill/DeltetMESEndWorkBill")]
[HttpGet]
- public object DeltetMESEndWorkBill(string HInterID)
+ public object DeltetMESEndWorkBill(string HInterID,string UserName)
{
+ DBUtility.ClsPub.CurUserName = UserName;
//缂栬緫鏉冮檺
- if (!DBUtility.ClsPub.Security_Log("MES_MESEndWorkBill_Delete", 1, true, DBUtility.ClsPub.CurUserName))
+ if (!DBUtility.ClsPub.Security_Log_second("MES_MESEndWorkBill_Delete", 1, false, DBUtility.ClsPub.CurUserName))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
@@ -281,7 +287,7 @@
try
{
//瀹℃牳鏉冮檺
- if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName))
+ if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
@@ -363,8 +369,8 @@
}
else
{
- objJsonResult.code = "1";
- objJsonResult.count = 1;
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
objJsonResult.data = null;
return objJsonResult;
@@ -383,8 +389,8 @@
}
else
{
- objJsonResult.code = "1";
- objJsonResult.count = 1;
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
objJsonResult.data = null;
return objJsonResult;
@@ -417,8 +423,16 @@
[HttpPost]
public object SaveGetMESEndFrom([FromBody] JObject msg)
{
+ var _value = msg["msg"].ToString();
+ string msg1 = _value.ToString();
+ string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+ string msg2 = sArray[0].ToString();
+ string UserName = sArray[1].ToString();
+ string refSav = sArray[2].ToString();
+ DBUtility.ClsPub.CurUserName = UserName;
+
//淇濆瓨鏉冮檺
- if (!DBUtility.ClsPub.Security_Log("MES_MESEndWorkBill_Edit", 1, true, DBUtility.ClsPub.CurUserName))
+ if (!DBUtility.ClsPub.Security_Log_second("MES_MESEndWorkBill_Edit", 1, false, DBUtility.ClsPub.CurUserName))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
@@ -439,14 +453,8 @@
return objJsonResult;
}
- var _value = msg["msg"].ToString();
- string msg1 = _value.ToString();
- string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
- string msg2 = sArray[0].ToString();
-
- string UserName = "";
ListModels oListModels = new ListModels();
try
{
@@ -457,6 +465,55 @@
lsmain = oListModels.getObjectByJson_Gy_MESEndWorkBillMain(msg2);
foreach (Models.ClsSc_MESEndWorkBillMain oItem in lsmain)
{
+ if (refSav == "Add")
+ {
+ //鍗曟嵁鍙锋槸鍚﹂噸澶�
+ if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ }
+ if (refSav == "Update")
+ {
+ if (BillOld.ShowBill(oItem.HInterID, ref s) == false)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ //鍒ゆ柇鏄惁鍙紪杈�
+ if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ if (BillOld.omodel.HBillStatus > 1)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld, ref s))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ }
+
//oItem.HMaker = "";
UserName = oItem.HMaker; //鍒跺崟浜�
DBUtility.ClsPub.CurUserName = oItem.HMaker;
@@ -491,7 +548,7 @@
string sReturn = "";
if (oSystemParameter.ShowBill(ref sReturn) == true)
{
- if (oSystemParameterMain.Sc_MESEndWorkBill_AutoCheck == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳
+ if (oSystemParameter.omodel.Sc_MESEndWorkBill_AutoCheck == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳
{
objJsonResult.Verify = "Y";
}
@@ -509,7 +566,7 @@
}
if (bResult)
{
- objJsonResult.code = "0";
+ objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
//WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
@@ -535,5 +592,177 @@
}
}
#endregion
+
+
+ #region 鎶ュ伐骞冲彴蹇嵎瀹屽伐
+ [Route("Sc_MESEndWorkBill/FastEndWorkBill")]
+ [HttpGet]
+ public object FastBeginWorkBill(string HBillType, int HSourceInterID, int HSourceEntryID, string HSourceBillNo, string HSourceBillType, string user)
+ {
+
+ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ //淇濆瓨鏉冮檺
+ if (!DBUtility.ClsPub.Security_Log_second("MES_MESEndWorkBill_Edit", 1, false, user))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+ string s = "";
+ int sYear = 0;
+ int sPeriod = 0;
+ if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DateTime.Now, ref sYear, ref sPeriod, ref s) == false)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = s;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ ListModels oListModels = new ListModels();
+ try
+ {
+
+ ds = oCN.RunProcReturn("exec h_p_JIT_GetInfoByICMOStatusInterID @HSourceInterID=" + HSourceInterID + ",@HSourceEntryID=" + HSourceEntryID + ",@HSourceBillNo='" + HSourceBillNo + "',@HSourceBillType='" + HBillType + "'", "h_p_JIT_GetInfoByICMOStatusInterID");
+
+ Models.ClsSc_MESEndWorkBillMain ClsSc_MESEndWorkBillMain = new Models.ClsSc_MESEndWorkBillMain();
+ ClsSc_MESEndWorkBillMain.HProcID = int.Parse(ds.Tables[0].Rows[0]["HProcID"].ToString());
+ ClsSc_MESEndWorkBillMain.HMaterID = int.Parse(ds.Tables[0].Rows[0]["HMaterID"].ToString());
+ ClsSc_MESEndWorkBillMain.HSourceID = int.Parse(ds.Tables[0].Rows[0]["HSourceID"].ToString());
+ ClsSc_MESEndWorkBillMain.HMainSourceBillNo = ds.Tables[0].Rows[0]["HSourceBillNo"].ToString();
+ ClsSc_MESEndWorkBillMain.HMainSourceInterID = int.Parse(ds.Tables[0].Rows[0]["HSourceInterID"].ToString());
+ ClsSc_MESEndWorkBillMain.HMainSourceEntryID = long.Parse(ds.Tables[0].Rows[0]["HSourceEntryID"].ToString());
+ ClsSc_MESEndWorkBillMain.HMainSourceBillType = HSourceBillType == null ? "" : HSourceBillType;
+ ClsSc_MESEndWorkBillMain.HDeptID = int.Parse(ds.Tables[0].Rows[0]["HDeptID"].ToString());
+ ClsSc_MESEndWorkBillMain.HICMOInterID = int.Parse(ds.Tables[0].Rows[0]["HICMOInterID"].ToString());
+ ClsSc_MESEndWorkBillMain.HICMOEntryID = int.Parse(ds.Tables[0].Rows[0]["HICMOEntryID"].ToString());
+ ClsSc_MESEndWorkBillMain.HICMOBillNo = ds.Tables[0].Rows[0]["HICMOBillNo"].ToString();
+
+ ds = oCN.RunProcReturn("select * from h_v_Cj_GetDefValByUser where 鐢ㄦ埛鍚嶇О='" + user + "'", "h_v_xt_UserAssociationSelect");
+
+ //if (ds.Tables[0].Rows[0]["HGroupID"].ToString() == "0")
+ //{
+ // objJsonResult.code = "0";
+ // objJsonResult.count = 0;
+ // objJsonResult.Message = "淇濆瓨澶辫触锛佺敤鎴锋病鏈夌粦瀹氱彮缁�!";
+ // objJsonResult.data = 1;
+ // return objJsonResult;
+ //}
+
+ if (ds.Tables[0].Rows[0]["HEmpID"].ToString() == "0")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "淇濆瓨澶辫触锛佺敤鎴锋病鏈夌粦瀹氳亴鍛�!";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+
+ ClsSc_MESEndWorkBillMain.HGroupID = int.Parse(ds.Tables[0].Rows[0]["HGroupID"].ToString());
+ ClsSc_MESEndWorkBillMain.HEmpID = int.Parse(ds.Tables[0].Rows[0]["HEmpID"].ToString());
+
+ DLL.ClsSc_MESEndWorkBill oBill = new DLL.ClsSc_MESEndWorkBill();
+ List<Models.ClsSc_MESEndWorkBillMain> lsmain = new List<Models.ClsSc_MESEndWorkBillMain>();
+ lsmain.Add(ClsSc_MESEndWorkBillMain);
+ ClsXt_SystemParameter oClsXt_SystemParameter = new ClsXt_SystemParameter();
+
+ DBUtility.ClsPub.CurUserName = user;
+
+ foreach (Models.ClsSc_MESEndWorkBillMain oItem in lsmain)
+ {
+ oItem.HBillNo = DBUtility.ClsPub.CreateBillCode("3788", ref DBUtility.ClsPub.sExeReturnInfo, true);
+
+ oItem.HBillType = "3788";
+ oItem.HBillSubType = "3788";
+ oItem.HReportType = "3";//锛�1鏉$爜鎵弿锛�2鏈哄櫒姹囨姤锛�3鎵嬪伐褰曞叆锛�
+ oItem.HBillStatus = 1; //鍗曟嵁鐘舵�侊紙1鏈锛�2瀹℃牳閫氳繃锛�3鍏抽棴锛�4浣滃簾锛�5瀹℃牳閫�鍥�,6瀹℃牳涓�,7宸查槄锛�8宸插洖澶嶏紝9缁撴锛�10楠岃瘉,11涓嬭揪锛�12寮�宸�,13鐢宠瀹℃壒,15鐢宠妫�楠岋紝16 鍒ゅ畾鍚堟牸锛�17鍒ゅ畾涓嶅悎鏍硷級
+ oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+ oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+ oItem.HMaker = user;
+ oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+ oItem.HBarCodeMakeDate = Convert.ToDateTime(DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"))); //鎵弿鏃ユ湡锛堝勾-鏈�-鏃�-鏃�-鍒�-绉掞級
+ oItem.HRemark = "蹇嵎瀹屽伐";
+ oBill.omodel = oItem;
+ }
+
+ oCN.BeginTran();
+ //淇濆瓨
+ //淇濆瓨瀹屾瘯鍚庡鐞�
+ bool bResult = false;
+ if (oBill.omodel.HInterID == 0)
+ {
+
+ bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+ if(!bResult)
+ {
+ oCN.RollBack();
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+
+ }
+ ds = oCN.RunProcReturn("select * from Sc_MESEndWorkBillMain where HBillNo='" + oBill.omodel.HBillNo + "'", "Sc_MESEndWorkBillMain");
+ if (ds.Tables[0].Rows.Count == 0)
+ {
+ oCN.RollBack();
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏌ユ棤鍗曟嵁!";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+
+ string sAutoCheck = oClsXt_SystemParameter.GetSingleSystemParameter("Sc_MESEndWorkBill_AutoCheck", ref DBUtility.ClsPub.sExeReturnInfo);
+ if (sAutoCheck == "Y")
+ {
+
+ if (!oBill.CheckBill(long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString()), ref DBUtility.ClsPub.sExeReturnInfo))
+ {
+ oCN.RollBack();
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "瀹℃牳澶辫触!";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ }
+
+ oCN.Commit();
+
+ if (bResult)
+ {
+
+ objJsonResult.code = "0";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ else
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = e.Message;
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ }
+ #endregion
}
}
--
Gitblit v1.9.1