From 314f15fe2caeb0d09f3824aa3ebcc8d8ecb2221e Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 03 三月 2025 17:25:52 +0800
Subject: [PATCH] 1.用户信息新增:薪资类型:S(计件),T(计时),M(月) 2.人员工资明细报表去掉外协部分 3.生产工单增加批量绑定工艺接口(PartSelectRputeList,RouteSelectStepList,UpdateMesOrderStepListSearch,AddUpdateMesOrderList) 4.生产工单增加自定义字段(B.priuserdefnvc1,B.priuserdefnvc2,B.priuserdefnvc3,B.priuserdefnvc4,B.priuserdefnvc5,B.priuserdefnvc6) 5.增加仓库看板接口(ProcureOutsourcLeftTop,ProductConsignmentLeftBottom,ProcureOutsourcRightTop,ProductionStockedInRightBottom)
---
VueWebCoreApi/Controllers/BasicSettingController.cs | 35 ++
VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs | 19 +
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs | 334 +++++++++++++++++++++
VueWebCoreApi/Models/WorkData/WorkStepList.cs | 27 +
VueWebCoreApi/Models/WorkData/PartRouteStepList.cs | 19 +
VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs | 4
VueWebCoreApi/Models/WorkData/PartRouteList.cs | 15 +
VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs | 38 --
VueWebCoreApi/Controllers/KanBanManagerentController.cs | 69 ++++
VueWebCoreApi/DLL/BLL/KanBanManagerentBLL.cs | 35 ++
VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs | 17 +
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs | 125 ++++++++
VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs | 100 ++++++
VueWebCoreApi/Controllers/WorkOrderController.cs | 39 ++
VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs | 4
15 files changed, 811 insertions(+), 69 deletions(-)
diff --git a/VueWebCoreApi/Controllers/BasicSettingController.cs b/VueWebCoreApi/Controllers/BasicSettingController.cs
index f729bca..1b632b6 100644
--- a/VueWebCoreApi/Controllers/BasicSettingController.cs
+++ b/VueWebCoreApi/Controllers/BasicSettingController.cs
@@ -10,6 +10,7 @@
using VueWebCoreApi.DLL.BLL;
using VueWebCoreApi.Models;
using VueWebCoreApi.Models.RolePermission;
+using VueWebCoreApi.Models.WorkData;
using VueWebCoreApi.Tools;
using static VueWebCoreApi.Models.RolePermission.RolePermissionSava;
@@ -968,6 +969,40 @@
}
#endregion
+ #region[浜у搧缂栫爜鎵归噺鏌ユ壘鍏宠仈鐨勫伐鑹轰俊鎭痌
+ /// <summary>
+ /// 浜у搧缂栫爜鎵归噺鏌ユ壘鍏宠仈鐨勫伐鑹轰俊鎭�
+ /// </summary>
+ /// <param name="list">浜у搧缂栫爜闆嗗悎</param>
+ /// <returns></returns>
+ [Route(template: "PartSelectRputeList")]
+ [HttpPost]
+ public JsonResult PartSelectRputeList(List<PartRouteList> list)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = BasicSettingBLL.PartSelectRputeList(list, us);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[鏍规嵁宸ヨ壓淇℃伅(宸ヨ壓璺嚎缂栫爜)鎵归噺鏌ユ壘鍏宠仈宸ュ簭闆嗗悎]
+ /// <summary>
+ /// 鏍规嵁宸ヨ壓淇℃伅(宸ヨ壓璺嚎缂栫爜)鎵归噺鏌ユ壘鍏宠仈宸ュ簭闆嗗悎
+ /// </summary>
+ /// <param name="list">浜у搧缂栫爜,宸ヨ壓璺嚎缂栫爜闆嗗悎</param>
+ /// <returns></returns>
+ [Route(template: "RouteSelectStepList")]
+ [HttpPost]
+ public JsonResult RouteSelectStepList(List<PartRouteStepList> list)
+ {
+
+ mes = BasicSettingBLL.RouteSelectStepList(list);
+ return Json(mes);
+ }
+ #endregion
+
+
#region[鑺傛媿宸ヤ环鏌ヨ]
/// <summary>
/// 鑺傛媿宸ヤ环鏌ヨ
diff --git a/VueWebCoreApi/Controllers/KanBanManagerentController.cs b/VueWebCoreApi/Controllers/KanBanManagerentController.cs
index 559b002..d5af50a 100644
--- a/VueWebCoreApi/Controllers/KanBanManagerentController.cs
+++ b/VueWebCoreApi/Controllers/KanBanManagerentController.cs
@@ -17,9 +17,9 @@
ToMessage mes = new ToMessage();
RedisCommon redis = new RedisCommon();
- #region[杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭痌
+ #region[鍢夐┌杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭痌
/// <summary>
- /// 杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭�
+ /// 鍢夐┌杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭�
/// </summary>
/// <param name="wkshopcode">杞﹂棿缂栫爜</param>
/// <returns></returns>
@@ -32,9 +32,9 @@
}
#endregion
- #region[杞﹂棿鐪嬫澘,涓嬪乏杩戜竴鍛ㄤ笉鑹秼鍔縘
+ #region[鍢夐┌杞﹂棿鐪嬫澘,涓嬪乏杩戜竴鍛ㄤ笉鑹秼鍔縘
/// <summary>
- /// 杞﹂棿鐪嬫澘,涓嬪乏杩戜竴鍛ㄤ笉鑹秼鍔�
+ /// 鍢夐┌杞﹂棿鐪嬫澘,涓嬪乏杩戜竴鍛ㄤ笉鑹秼鍔�
/// </summary>
/// <param name="wkshopcode">杞﹂棿缂栫爜</param>
/// <returns></returns>
@@ -47,9 +47,9 @@
}
#endregion
- #region[杞﹂棿鐪嬫澘,涓嬪彸杩戜竴鏈堜笉鑹粺璁
+ #region[鍢夐┌杞﹂棿鐪嬫澘,涓嬪彸杩戜竴鏈堜笉鑹粺璁
/// <summary>
- /// 杞﹂棿鐪嬫澘,涓嬪彸杩戜竴鏈堜笉鑹粺璁�
+ /// 鍢夐┌杞﹂棿鐪嬫澘,涓嬪彸杩戜竴鏈堜笉鑹粺璁�
/// </summary>
/// <param name="wkshopcode">杞﹂棿缂栫爜</param>
/// <returns></returns>
@@ -177,5 +177,62 @@
return Json(mes);
}
#endregion
+
+
+ #region[鍢夐┌浠撳簱鐪嬫澘宸︿笂,閲囪喘寰呭叆搴揮
+ /// <summary>
+ /// 鍢夐┌浠撳簱鐪嬫澘宸︿笂,閲囪喘寰呭叆搴�
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "ProcureOutsourcLeftTop")]
+ [HttpGet]
+ public JsonResult ProcureOutsourcLeftTop()
+ {
+ mes = KanBanManagerentBLL.ProcureOutsourcLeftTop();
+ return Json(mes);
+ }
+ #endregion
+
+ #region[鍢夐┌浠撳簱鐪嬫澘宸︿笅,閿�鍞緟鍙戣揣]
+ /// <summary>
+ /// 鍢夐┌浠撳簱鐪嬫澘宸︿笅,閿�鍞緟鍙戣揣
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "ProductConsignmentLeftBottom")]
+ [HttpGet]
+ public JsonResult ProductConsignmentLeftBottom()
+ {
+ mes = KanBanManagerentBLL.ProductConsignmentLeftBottom();
+ return Json(mes);
+ }
+ #endregion
+
+ #region[鍢夐┌浠撳簱鐪嬫澘鍙充笂,杩戜竴鍛ㄩ噰璐緟鍏ュ簱鐗╂枡鎺掕TOP5]
+ /// <summary>
+ /// 鍢夐┌浠撳簱鐪嬫澘鍙充笂,杩戜竴鍛ㄩ噰璐緟鍏ュ簱鐗╂枡鎺掕TOP5
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "ProcureOutsourcRightTop")]
+ [HttpGet]
+ public JsonResult ProcureOutsourcRightTop()
+ {
+ mes = KanBanManagerentBLL.ProcureOutsourcRightTop();
+ return Json(mes);
+ }
+ #endregion
+
+ #region[鍢夐┌浠撳簱鐪嬫澘鍙充笅,杩戜竴鍛ㄩ攢鍞緟鍙戣揣浜у搧鎺掕TOP5]
+ /// <summary>
+ /// 鍢夐┌浠撳簱鐪嬫澘鍙充笅,杩戜竴鍛ㄩ攢鍞緟鍙戣揣浜у搧鎺掕TOP5
+ /// </summary>
+ /// <returns></returns>
+ [Route(template: "ProductionStockedInRightBottom")]
+ [HttpGet]
+ public JsonResult ProductionStockedInRightBottom()
+ {
+ mes = KanBanManagerentBLL.ProductionStockedInRightBottom();
+ return Json(mes);
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/Controllers/WorkOrderController.cs b/VueWebCoreApi/Controllers/WorkOrderController.cs
index 56173f8..9f2e281 100644
--- a/VueWebCoreApi/Controllers/WorkOrderController.cs
+++ b/VueWebCoreApi/Controllers/WorkOrderController.cs
@@ -19,7 +19,7 @@
[ApiExplorerSettings(GroupName = "宸ュ崟绠$悊")]
[ApiController]
[Route("api/[controller]")]
- [ChannelActionFilter]
+ //[ChannelActionFilter]
public class WorkOrderController : Controller
{
//瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
@@ -265,6 +265,40 @@
return Json(mes);
}
#endregion
+
+ #region[MES宸ュ崟鎵归噺缁戝畾鑾峰彇宸ュ簭鏁版嵁]
+ /// <summary>
+ /// MES宸ュ崟鎵归噺缁戝畾鑾峰彇宸ュ簭鏁版嵁
+ /// </summary>
+ /// <param name="worksteplist">鏌ヨ鍙傛暟缁�</param>
+ /// <returns></returns>
+ [Route(template: "UpdateMesOrderStepListSearch")]
+ [HttpPost]
+ public JsonResult UpdateMesOrderStepListSearch(List<WorkStepList> worksteplist)
+ {
+ mes = WorkOrderBLL.UpdateMesOrderStepListSearch(worksteplist);
+ return Json(mes);
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏂板銆佺紪杈戞壒閲忕粦瀹氭彁浜
+ /// <summary>
+ /// MES宸ュ崟鏂板銆佺紪杈戞壒閲忕粦瀹氭彁浜�
+ /// </summary>
+ /// <param name="OperType">鎿嶄綔绫诲瀷</param>
+ /// <param name="json">鎻愪氦鏁版嵁</param>
+ /// <returns></returns>
+ [Route(template: "AddUpdateMesOrderList")]
+ [HttpPost]
+ public JsonResult AddUpdateMesOrderList(List<WorkList> json, string OperType)
+ {
+ var token = HttpContext.Request.Headers["Token"].ToString();
+ User us = JwtTools.Denocode(token.ToString());
+ mes = WorkOrderBLL.AddUpdateMesOrderList(OperType, json, us);
+ return Json(mes);
+ }
+ #endregion
+
#region[MES宸ュ崟鍒犻櫎]
/// <summary>
@@ -551,13 +585,14 @@
string reckway = obj["reckway"].ToString(); //璁′欢鏂瑰紡(鐝粍:group銆佷釜浜�:person)
string usergroupcode = obj["usergroupcode"].ToString(); //鐝粍缂栫爜
string reportuser = obj["reportuser"].ToString(); //鎶ュ伐浜哄憳
+ string payrate = obj["payrate"].ToString(); //钖祫绫诲瀷锛歋(璁′欢)锛孴(璁℃椂)锛孧(鏈�)
string taskqty = obj["taskqty"].ToString(); //浠诲姟鏁伴噺
string startqty = obj["startqty"].ToString(); //寮�宸ユ暟閲�
string reportqty = obj["reportqty"].ToString(); //鎶ュ伐宸ユ暟閲�
string defectlist = obj["defectlist"].ToString();//涓嶈壇姹囨��
string remarks = obj["remarks"].ToString(); //澶囨敞
List<ReportDefectList> defectobjs = JsonConvert.DeserializeObject<List<ReportDefectList>>(defectlist);
- mes = WorkOrderBLL.SavaMesOrderStepReport(mesordercode, partcode, stepseq, stepcode, stepprice, eqpcode, inbarcode, reckway, usergroupcode, reportuser, taskqty, startqty, reportqty, defectobjs, remarks, us);
+ mes = WorkOrderBLL.SavaMesOrderStepReport(mesordercode, partcode, stepseq, stepcode, stepprice, eqpcode, inbarcode, reckway, usergroupcode, reportuser, payrate, taskqty, startqty, reportqty, defectobjs, remarks, us);
return Json(mes);
}
#endregion
diff --git a/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs b/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
index e209217..6ef03c0 100644
--- a/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
@@ -6,6 +6,7 @@
using VueWebCoreApi.DLL.DAL;
using VueWebCoreApi.Models;
using VueWebCoreApi.Models.RolePermission;
+using VueWebCoreApi.Models.WorkData;
using VueWebCoreApi.Tools;
using static VueWebCoreApi.Models.RolePermission.RolePermissionSava;
@@ -385,6 +386,22 @@
}
#endregion
+ #region[浜у搧缂栫爜鎵归噺鏌ユ壘鍏宠仈鐨勫伐鑹轰俊鎭痌
+ public static ToMessage PartSelectRputeList(List<PartRouteList> list, User us)
+ {
+ return BasicSettingDAL.PartSelectRputeList(list, us);
+ }
+ #endregion
+
+ #region[鏍规嵁宸ヨ壓淇℃伅(宸ヨ壓璺嚎缂栫爜)鎵归噺鏌ユ壘鍏宠仈宸ュ簭闆嗗悎]
+ public static ToMessage RouteSelectStepList(List<PartRouteStepList> list)
+ {
+ return BasicSettingDAL.RouteSelectStepList(list);
+ }
+ #endregion
+
+
+
#region[鑺傛媿宸ヤ环鏌ヨ]
public static ToMessage BeatRateSearch(string partcode, string routecode, string stepcode, User us, int startNum, int endNum, string prop, string order)
{
diff --git a/VueWebCoreApi/DLL/BLL/KanBanManagerentBLL.cs b/VueWebCoreApi/DLL/BLL/KanBanManagerentBLL.cs
index 37971d7..3785f80 100644
--- a/VueWebCoreApi/DLL/BLL/KanBanManagerentBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/KanBanManagerentBLL.cs
@@ -9,21 +9,21 @@
{
public class KanBanManagerentBLL
{
- #region[杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭痌
+ #region[鍢夐┌杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭痌
public static ToMessage WorkShopProduceTopData(string wkshopcode)
{
return KanBanManagerentDAL.WorkShopProduceTopData(wkshopcode);
}
#endregion
- #region[杞﹂棿鐪嬫澘,涓嬪乏杩戜竴鍛ㄤ笉鑹秼鍔縘
+ #region[鍢夐┌杞﹂棿鐪嬫澘,涓嬪乏杩戜竴鍛ㄤ笉鑹秼鍔縘
public static ToMessage WorkShopProduceBottomLeftData(string wkshopcode)
{
return KanBanManagerentDAL.WorkShopProduceBottomLeftData(wkshopcode);
}
#endregion
- #region[杞﹂棿鐪嬫澘,涓嬪彸杩戜竴鏈堜笉鑹粺璁
+ #region[鍢夐┌杞﹂棿鐪嬫澘,涓嬪彸杩戜竴鏈堜笉鑹粺璁
public static ToMessage WorkShopProduceBottomRightData(string wkshopcode)
{
return KanBanManagerentDAL.WorkShopProduceBottomRightData(wkshopcode);
@@ -87,5 +87,34 @@
return KanBanManagerentDAL.WareHouseRightBottomData();
}
#endregion
+
+
+ #region[鍢夐┌浠撳簱鐪嬫澘宸︿笂,閲囪喘寰呭叆搴揮
+ public static ToMessage ProcureOutsourcLeftTop()
+ {
+ return KanBanManagerentDAL.ProcureOutsourcLeftTop();
+ }
+ #endregion
+
+ #region[鍢夐┌浠撳簱鐪嬫澘宸︿笅,閿�鍞緟鍙戣揣]
+ public static ToMessage ProductConsignmentLeftBottom()
+ {
+ return KanBanManagerentDAL.ProductConsignmentLeftBottom();
+ }
+ #endregion
+
+ #region[鍢夐┌浠撳簱鐪嬫澘鍙充笂,杩戜竴鍛ㄩ噰璐緟鍏ュ簱鐗╂枡鎺掕TOP5]
+ public static ToMessage ProcureOutsourcRightTop()
+ {
+ return KanBanManagerentDAL.ProcureOutsourcRightTop();
+ }
+ #endregion
+
+ #region[鍢夐┌浠撳簱鐪嬫澘鍙充笅,杩戜竴鍛ㄩ攢鍞緟鍙戣揣浜у搧鎺掕TOP5]
+ public static ToMessage ProductionStockedInRightBottom()
+ {
+ return KanBanManagerentDAL.ProductionStockedInRightBottom();
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
index 6820ea0..57e61d7 100644
--- a/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
@@ -88,6 +88,21 @@
}
#endregion
+ #region[MES宸ュ崟鎵归噺缁戝畾鑾峰彇宸ュ簭鏁版嵁]
+ public static ToMessage UpdateMesOrderStepListSearch(List<WorkStepList> worksteplist)
+ {
+ return WorkOrderDAL.UpdateMesOrderStepListSearch(worksteplist);
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏂板銆佺紪杈戞壒閲忕粦瀹氭彁浜
+ public static ToMessage AddUpdateMesOrderList(string OperType, List<WorkList> json, User us)
+ {
+ return WorkOrderDAL.AddUpdateMesOrderList(OperType, json, us);
+ }
+ #endregion
+
+
#region[MES宸ュ崟鍒犻櫎]
public static ToMessage DeleteMesOrder(string souceid, string wocode, string m_po, string orderqty, User us)
{
@@ -174,9 +189,9 @@
#endregion
#region[鐢熶骇寮�鎶ュ伐,鎶ュ伐鎻愪氦]
- public static ToMessage SavaMesOrderStepReport(string mesordercode, string partcode, string stepseq, string stepcode,string stepprice, string eqpcode, string inbarcode, string reckway, string usergroupcode, string reportuser, string taskqty, string startqty, string reportqty, List<ReportDefectList> defectobjs, string remarks, User us)
+ public static ToMessage SavaMesOrderStepReport(string mesordercode, string partcode, string stepseq, string stepcode,string stepprice, string eqpcode, string inbarcode, string reckway, string usergroupcode, string reportuser,string payrate, string taskqty, string startqty, string reportqty, List<ReportDefectList> defectobjs, string remarks, User us)
{
- return WorkOrderDAL.SavaMesOrderStepReport(mesordercode, partcode, stepseq, stepcode, stepprice, eqpcode, inbarcode, reckway, usergroupcode, reportuser, taskqty, startqty, reportqty, defectobjs, remarks, us);
+ return WorkOrderDAL.SavaMesOrderStepReport(mesordercode, partcode, stepseq, stepcode, stepprice, eqpcode, inbarcode, reckway, usergroupcode, reportuser, payrate, taskqty, startqty, reportqty, defectobjs, remarks, us);
}
#endregion
diff --git a/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs b/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
index ef10ef2..dfce34d 100644
--- a/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
@@ -10,6 +10,7 @@
using VueWebCoreApi.DLL.BLL;
using VueWebCoreApi.Models;
using VueWebCoreApi.Models.RolePermission;
+using VueWebCoreApi.Models.WorkData;
using VueWebCoreApi.Tools;
using static VueWebCoreApi.Models.RolePermission.RolePermission;
using static VueWebCoreApi.Models.RolePermission.RolePermissionSava;
@@ -3512,6 +3513,130 @@
}
#endregion
+ #region[浜у搧缂栫爜鎵归噺鏌ユ壘鍏宠仈鐨勫伐鑹轰俊鎭痌
+ public static ToMessage PartSelectRputeList(List<PartRouteList> list, User us)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ List<Dictionary<object, object>> dir = new List<Dictionary<object, object>>();
+ try
+ {
+ dynamic dynObj = JObject.Parse(us.mesSetting);
+ bool route = dynObj.route;
+ if (route) //宸ヨ壓璺嚎鐗�
+ {
+ for (int i = 0; i < list.Count; i++)
+ {
+ // 鍒涘缓涓�涓柊鐨勫瓧鍏�
+ Dictionary<object, object> dict = new Dictionary<object, object>();
+ //閫氳繃浜у搧缂栫爜鏌ユ壘鍏宠仈鐨勫伐鑹鸿矾绾夸俊鎭�
+ sql = @"select A.route_code,B.name as route_name
+ from TMateriel_Route A
+ inner join TFlw_Rout B on A.route_code=B.code
+ where A.materiel_code=@partcode and B.is_delete<>'1' and A.is_delete<>'1'";
+ dynamicParams.Add("@partcode", list[i].partcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ // 鍚戝瓧鍏镐腑娣诲姞鏁版嵁
+ dict.Add("routedata", data);
+ // 灏嗗瓧鍏告坊鍔犲埌鍒楄〃涓�
+ dir.Add(dict);
+ }
+ }
+ else //宸ュ簭鐗�
+ {
+ for (int i = 0; i < list.Count; i++)
+ {
+ // 鍒涘缓涓�涓柊鐨勫瓧鍏�
+ Dictionary<object, object> dict = new Dictionary<object, object>();
+ //閫氳繃浜у搧缂栫爜鏌ユ壘鍏宠仈鐨勫伐搴忎俊鎭�
+ sql = @"select A.step_seq,A.step_code,S.stepname as step_name,A.unprice,A.isbott,A.isend
+ from (
+ select S.materiel_code,R.step_seq,S.step_code,S.unprice,R.isbott,R.isend from TPrteEqp_Stad S
+ inner join TMateriel_Step R on S.materiel_code=R.materiel_code and S.step_code=R.step_code
+ where S.materiel_code=@partcode
+ union all
+ select materiel_code,step_seq,step_code,'0' as unprice,isbott,isend from TMateriel_Step
+ where materiel_code=@partcode and materiel_code+step_code
+ not in(select materiel_code+step_code from TPrteEqp_Stad
+ where materiel_code=@partcode)
+ ) as A
+ left join TStep S on A.step_code=S.stepcode";
+ dynamicParams.Add("@partcode", list[i].partcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ // 鍚戝瓧鍏镐腑娣诲姞鏁版嵁
+ dict.Add("stepdata", data);
+ // 灏嗗瓧鍏告坊鍔犲埌鍒楄〃涓�
+ dir.Add(dict);
+ }
+ }
+
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛!";
+ mes.count = dir.Count;
+ mes.data = dir;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[鏍规嵁宸ヨ壓淇℃伅(宸ヨ壓璺嚎缂栫爜)鎵归噺鏌ユ壘鍏宠仈宸ュ簭闆嗗悎]
+ public static ToMessage RouteSelectStepList(List<PartRouteStepList> list)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ List<Dictionary<object, object>> dir = new List<Dictionary<object, object>>();
+ try
+ {
+ for (int i = 0; i < list.Count; i++)
+ {
+ // 鍒涘缓涓�涓柊鐨勫瓧鍏�
+ Dictionary<object, object> dict = new Dictionary<object, object>();
+ //閫氳繃宸ヨ壓璺嚎缂栫爜鏌ユ壘鍏宠仈鐨勫伐搴忎俊鎭�
+ sql = @"select A.step_seq,A.step_code,S.stepname as step_name,A.unprice,A.isbott,A.isend
+ from (
+ select S.materiel_code,R.seq as step_seq,S.step_code,S.unprice,R.first_choke as isbott,R.last_choke as isend from TPrteEqp_Stad S
+ inner join TFlw_Rtdt R on S.route_code=R.rout_code and S.step_code=R.step_code
+ where S.materiel_code=@partcode and S.route_code=@route_code
+ union all
+ select @partcode as materiel_code,B.seq as step_seq,B.step_code,'0' as unprice,B.first_choke as isbott,B.last_choke as isend from TFlw_Rout A
+ inner join TFlw_Rtdt B on A.code=B.rout_code
+ where A.code=@route_code and @partcode+A.code+B.step_code
+ not in(select materiel_code+rout_code+step_code from TPrteEqp_Stad
+ where materiel_code=@partcode and route_code=@route_code)
+ ) as A
+ left join TStep S on A.step_code=S.stepcode";
+ dynamicParams.Add("@partcode", list[i].partcode);
+ dynamicParams.Add("@route_code", list[i].routecode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ // 鍚戝瓧鍏镐腑娣诲姞鏁版嵁
+ dict.Add("stepdata", data);
+ // 灏嗗瓧鍏告坊鍔犲埌鍒楄〃涓�
+ dir.Add(dict);
+ }
+
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛!";
+ mes.data = dir;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+
#region[鑺傛媿宸ヤ环鏌ヨ]
public static ToMessage BeatRateSearch(string partcode, string routecode, string stepcode, User us, int startNum, int endNum, string prop, string order)
{
diff --git a/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs b/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
index 1d16c78..d117537 100644
--- a/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
@@ -156,7 +156,7 @@
string search = "";
try
{
- sql = @"select usercode,username from TUser where status='Y'";
+ sql = @"select usercode,username,payrate from TUser where status='Y'";
var data = DapperHelper.selectdata(sql, dynamicParams);
mes.code = "200";
mes.message = "鏌ヨ鎴愬姛!";
@@ -208,7 +208,7 @@
var dynamicParams = new DynamicParameters();
try
{
- sql = @"select usercode,username from TUser where storg_code=@torgcode";
+ sql = @"select usercode,username,payrate from TUser where storg_code=@torgcode";
dynamicParams.Add("@torgcode", torgcode);
var data = DapperHelper.selectdata(sql, dynamicParams);
mes.code = "200";
diff --git a/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs b/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs
index 6546719..02a558f 100644
--- a/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -12,7 +12,7 @@
{
public static ToMessage mes = new ToMessage(); //瀹氫箟鍏ㄥ眬杩斿洖淇℃伅瀵硅薄
- #region[杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭痌
+ #region[鍢夐┌杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭痌
public static ToMessage WorkShopProduceTopData(string wkshopcode)
{
string sql = "";
@@ -38,7 +38,7 @@
}
#endregion
- #region[杞﹂棿鐪嬫澘,涓嬪乏杩戜竴鍛ㄤ笉鑹秼鍔縘
+ #region[鍢夐┌杞﹂棿鐪嬫澘,涓嬪乏杩戜竴鍛ㄤ笉鑹秼鍔縘
public static ToMessage WorkShopProduceBottomLeftData(string wkshopcode)
{
string sql = "";
@@ -71,7 +71,7 @@
}
#endregion
- #region[杞﹂棿鐪嬫澘,涓嬪彸杩戜竴鏈堜笉鑹粺璁
+ #region[鍢夐┌杞﹂棿鐪嬫澘,涓嬪彸杩戜竴鏈堜笉鑹粺璁
public static ToMessage WorkShopProduceBottomRightData(string wkshopcode)
{
string sql = "";
@@ -331,5 +331,99 @@
return mes;
}
#endregion
+
+
+
+ #region[鍢夐┌浠撳簱鐪嬫澘宸︿笂,閲囪喘寰呭叆搴揮
+ public static ToMessage ProcureOutsourcLeftTop()
+ {
+ var sql = "";
+ try
+ {
+ sql = @"select * from h_v_JCKanBan_ProcureNotReceived";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[鍢夐┌浠撳簱鐪嬫澘宸︿笅,浜у搧浠e彂璐
+ public static ToMessage ProductConsignmentLeftBottom()
+ {
+ var sql = "";
+ try
+ {
+ sql = @"select * from h_v_JCKanBan_ProductionNotDeliver";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[鍢夐┌浠撳簱鐪嬫澘鍙充笂,杩戜竴鍛ㄩ噰璐緟鍏ュ簱鐗╂枡鎺掕TOP5]
+ public static ToMessage ProcureOutsourcRightTop()
+ {
+ var sql = "";
+ try
+ {
+ sql = @"select * from h_v_JCKanBan_ProcureNotReceivedSumTop";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[鍢夐┌浠撳簱鐪嬫澘鍙充笅,杩戜竴鍛ㄩ攢鍞緟鍙戣揣浜у搧鎺掕TOP5]
+ public static ToMessage ProductionStockedInRightBottom()
+ {
+ var sql = "";
+ try
+ {
+ sql = @"select * from h_v_JCKanBan_ProductionNotDeliverSumTop";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
}
}
diff --git a/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs
index dc28dba..643c8ed 100644
--- a/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ProductionManagementDAL.cs
@@ -1608,7 +1608,7 @@
try
{
//鐝粍鑾峰彇浜哄憳鍒楄〃
- sql = @"select usercode,username from TUser where stu_torgcode=@stu_torgcode and usergroup_code=@usergroupcode and is_delete<>'1'";
+ sql = @"select usercode,username,payrate from TUser where stu_torgcode=@stu_torgcode and usergroup_code=@usergroupcode and is_delete<>'1'";
dynamicParams.Add("@stu_torgcode", stu_torgcode);
dynamicParams.Add("@usergroupcode", usergroupcode);
var data = DapperHelper.selectdata(sql, dynamicParams);
@@ -1641,7 +1641,7 @@
dynamicParams.Add("@usercode", usercode);
}
//鐝粍鑾峰彇浜哄憳鍒楄〃
- sql = @"select usercode,username from TUser where is_delete<>'1' and usercode<>'9999'" + search;
+ sql = @"select usercode,username,payrate from TUser where is_delete<>'1' and usercode<>'9999'" + search;
dynamicParams.Add("@usercode", usercode);
var data = DapperHelper.selectdata(sql, dynamicParams);
mes.code = "200";
diff --git a/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs b/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
index ba515a2..1f03f6e 100644
--- a/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
@@ -540,24 +540,7 @@
left join TStep S on A.step_code=S.stepcode
left join TMateriel_Info P on A.materiel_code=P.partcode
left join TOrganization F on M.wkshp_code=F.torg_code
- where A.style='B' and B.style='B' and A.verify='Y' and B.usergroup_code=''
- union all
- select M.wkshp_code,F.torg_name as wkshp_name,M.saleOrderCode,A.wo_code,A.materiel_code as partcode,P.partname,P.partspec,A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,K.isend,
- M.plan_qty as task_qty,B.sqty as report_qty,isnull(A.step_price,0) as step_price,(B.sqty*isnull(A.step_price,0)) as moneys,
- B.in_person as usercode,
- STUFF((SELECT ',' + U.username
- FROM TUser U
- WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.in_person + ',') > 0
- FOR XML PATH('')), 1, 1, '') AS username,
- B.in_time as report_date
- from TK_Wrk_OutRecord A
- inner join TK_Wrk_OutRecordSub B on A.id = B.m_id
- left join TK_Wrk_Man M on A.wo_code = M.wo_code
- left join TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
- left join TStep S on A.step_code = S.stepcode
- left join TMateriel_Info P on A.materiel_code = P.partcode
- left join TOrganization F on M.wkshp_code=F.torg_code
- where A.style = 'S' and B.style = 'S' and A.verify='Y'
+ where A.style='B' and B.style='B' and B.payrate='S' and A.verify='Y' and B.usergroup_code=''
) as AA
where " + search;
var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
@@ -666,24 +649,7 @@
left join TStep S on A.step_code=S.stepcode
left join TMateriel_Info P on A.materiel_code=P.partcode
left join TOrganization F on M.wkshp_code=F.torg_code
- where A.style='B' and B.style='B' and A.verify='Y' and B.usergroup_code=''
- union all
- select M.wkshp_code,F.torg_name as wkshp_name,M.saleOrderCode,A.wo_code,A.materiel_code as partcode,P.partname,P.partspec,A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,K.isend,
- M.plan_qty as task_qty,B.sqty as report_qty,isnull(A.step_price,0) as step_price,(B.sqty*isnull(A.step_price,0)) as moneys,
- B.in_person as usercode,
- STUFF((SELECT ',' + U.username
- FROM TUser U
- WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.in_person + ',') > 0
- FOR XML PATH('')), 1, 1, '') AS username,
- B.in_time as report_date
- from TK_Wrk_OutRecord A
- inner join TK_Wrk_OutRecordSub B on A.id = B.m_id
- left join TK_Wrk_Man M on A.wo_code = M.wo_code
- left join TK_Wrk_Step K on M.wo_code=K.wo_code and A.step_code=K.step_code
- left join TStep S on A.step_code = S.stepcode
- left join TMateriel_Info P on A.materiel_code = P.partcode
- left join TOrganization F on M.wkshp_code=F.torg_code
- where A.style = 'S' and B.style = 'S' and A.verify='Y'
+ where A.style='B' and B.style='B' and B.payrate='S' and A.verify='Y' and B.usergroup_code=''
) as AA
where " + search;
DataTable data = DapperHelper.selectdata(sql, dynamicParams);
diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index 9d4975e..91e5c2b 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -104,7 +104,8 @@
// --------------鏌ヨ鎸囧畾鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
var sql = @"select A.id, A.status,A.wo,A.materiel_code as partcode,B.partname,B.partspec,A.qty,A.relse_qty,A.wkshp_code,C.torg_name as wkshp_name,
- A.stck_code,D.name as stck_name,A.saleOrderCode,A.saleOrderDeliveryDate,A.planstartdate,A.planenddate,U.username as createuser,A.createdate,A.sbid,A.clerkuser
+ A.stck_code,D.name as stck_name,A.saleOrderCode,A.saleOrderDeliveryDate,A.planstartdate,A.planenddate,U.username as createuser,A.createdate,A.sbid,A.clerkuser,
+ B.priuserdefnvc1,B.priuserdefnvc2,B.priuserdefnvc3,B.priuserdefnvc4,B.priuserdefnvc5,B.priuserdefnvc6
from TKimp_Ewo A
left join TMateriel_Info B on A.materiel_code=B.partcode
left join TOrganization C on A.wkshp_code=C.torg_code
@@ -625,7 +626,8 @@
// --------------鏌ヨ鎸囧畾鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.route_code,R.name as route_name,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
- A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,A.isstep,A.clerkuser
+ A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,A.isstep,A.clerkuser,
+ B.priuserdefnvc1,B.priuserdefnvc2,B.priuserdefnvc3,B.priuserdefnvc4,B.priuserdefnvc5,B.priuserdefnvc6
from TK_Wrk_Man A
left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sbid=W.sbid
left join TMateriel_Info B on A.materiel_code=B.partcode
@@ -712,7 +714,8 @@
// --------------鏌ヨ鎸囧畾鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
- A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,S.laborbad_qty,S.materielbad_qty
+ A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,S.laborbad_qty,S.materielbad_qty,
+ B.priuserdefnvc1,B.priuserdefnvc2,B.priuserdefnvc3,B.priuserdefnvc4,B.priuserdefnvc5,B.priuserdefnvc6
from TK_Wrk_Man A
left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sbid=W.sbid
left join (select wo_code,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty from TK_Wrk_Step where (laborbad_qty+materielbad_qty)>0 group by wo_code) S on A.wo_code=S.wo_code
@@ -1053,6 +1056,305 @@
return mes;
}
#endregion
+
+ #region[MES宸ュ崟鎵归噺缁戝畾鑾峰彇宸ュ簭鏁版嵁]
+ public static ToMessage UpdateMesOrderStepListSearch(List<WorkStepList> worksteplist)
+ {
+ string sql = ""; decimal canupdate_qty = 0;
+ var dynamicParams = new DynamicParameters();
+ List<Dictionary<object, object>> dir = new List<Dictionary<object, object>>();
+ try
+ {
+ for (int i = 0; i < worksteplist.Count; i++)
+ {
+ // 鍒涘缓涓�涓柊鐨勫瓧鍏�
+ Dictionary<object, object> dict = new Dictionary<object, object>();
+
+ if (worksteplist[i].data_sources == "ERP") //鏁版嵁鏉ユ簮ERP
+ {
+
+ //鏌ヨ褰撳墠宸ュ崟鍙慨鏀规暟閲�=璁㈠崟鎬绘暟-宸蹭笅杈惧伐鍗曟�绘暟
+ sql = @"select isnull(plan_qty,0) as plan_qty from TK_Wrk_Man
+ where sourceid=@sourceid and m_po=@sourcewo and wo_code=@wocode";
+ dynamicParams.Add("@sourceid", worksteplist[i].sourceid);
+ dynamicParams.Add("@sourcewo", worksteplist[i].sourcewo);
+ dynamicParams.Add("@wocode", worksteplist[i].wocode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ //褰撳墠宸ュ崟鏁伴噺
+ canupdate_qty = decimal.Parse(data.Rows[0]["plan_qty"].ToString());
+ }
+ if (worksteplist[i].data_sources == "MES") //鏁版嵁鏉ユ簮MES
+ {
+ if (worksteplist[i].sourceid == "" || worksteplist[i].sourceid == null) //鏃犳簮鍗�
+ {
+ //鏌ヨ褰撳墠宸ュ崟鍙慨鏀规暟閲�=宸ュ崟鎬绘暟
+ sql = @"select plan_qty from TK_Wrk_Man where wo_code=@wo_code";
+ dynamicParams.Add("@wo_code", worksteplist[i].wocode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ //褰撳墠宸ュ崟宸ュ崟鏁伴噺
+ canupdate_qty = decimal.Parse(data.Rows[0]["plan_qty"].ToString());
+ }
+ else //鏈夋簮鍗�(鎶ュ簾琛ュ崟)
+ {
+ //涓嶆帶鍒� 鏍囪瘑涓�-1
+ canupdate_qty = -1;
+ }
+ }
+ //鑾峰彇宸ュ簭淇℃伅
+ sql = @"select S.wo_code,S.seq,S.step_code as stepcode,T.stepname,S.stepprice,(isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0)) as produceq_qty,
+ S.good_qty,S.ng_qty,S.laborbad_qty,S.materielbad_qty,(isnull(S.plan_qty,0)-(isnull(S.good_qty,0)+isnull(S.ng_qty,0)+isnull(S.laborbad_qty,0)+isnull(S.materielbad_qty,0))) as delive_qty,S.isbott,S.isend
+ from TK_Wrk_Step S
+ left join TStep T on S.step_code=T.stepcode
+ where S.wo_code=@wocode order by S.seq ";
+ dynamicParams.Add("@wocode", worksteplist[i].wocode);
+ var data1 = DapperHelper.selectdata(sql, dynamicParams);
+
+ // 鍚戝瓧鍏镐腑娣诲姞鏁版嵁
+ dict.Add("canupdate_qty", canupdate_qty);
+ dict.Add("stepdata", data1);
+ // 灏嗗瓧鍏告坊鍔犲埌鍒楄〃涓�
+ dir.Add(dict);
+ mes.code = "200";
+ mes.count = dir.Count;
+ mes.message = "鏌ヨ鎴愬姛";
+ mes.data = dir;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[MES宸ュ崟鏂板銆佺紪杈戞壒閲忕粦瀹氭彁浜
+ public static ToMessage AddUpdateMesOrderList(string operType, List<WorkList> json, User us)
+ {
+ string sql = "", route_code = "";
+ var dynamicParams = new DynamicParameters();
+ List<object> list = new List<object>();
+ try
+ {
+ dynamic dynObj = JObject.Parse(us.mesSetting);
+ bool route = dynObj.route;
+ if (!route) //宸ュ簭鐗�
+ {
+ route_code = null;
+ }
+ if (operType == "Add")
+ {
+ for (int i = 0; i < json.Count; i++)
+ {
+ route_code = json[i].routecode;
+ //鍐欏叆宸ュ崟琛�
+ sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,lm_user,lm_date,materiel_code,route_code,sourceid,m_po,saleOrderDeliveryDate,plan_startdate,plan_enddate,piroque,isaps,data_sources,isstep)
+ values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@lm_user,@lm_date,@materiel_code,@route_code,@sourceid,@m_po,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@orderlev,@isaps,@data_sources,@isstep)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = json[i].wocode,
+ wotype = json[i].wotype,
+ status = json[i].wostatus,
+ wkshp_code = json[i].wkshopcode,
+ plan_qty = json[i].woqty,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ materiel_code = json[i].partcode,
+ route_code = route_code,
+ sourceid = json[i].sourceid == "" ? null : json[i].sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
+ m_po = json[i].sourcewo,
+ saleOrderDeliveryDate = json[i].deliverydate,
+ plan_startdate = json[i].paystartdate,
+ plan_enddate = json[i].payenddate,
+ orderlev = "3",//浼樺厛绾э細鐗圭骇锛�1锛� 绱ф�ワ紙2锛� 姝e父锛�3锛�
+ isaps = "N", //鏄惁鎺掍骇,榛樿N Y=鏄� N=鍚�
+ data_sources = json[i].data_sources,
+ isstep = json[i].isstep //鏄惁鍏宠仈宸ュ簭
+ }
+ });
+ //鍐欏叆宸ュ簭浠诲姟琛�
+ for (int j = 0; j < json[i].WorkListSub.Count; j++)
+ {
+ sql = @"insert into TK_Wrk_Step(wo_code,seq,step_code,route_code,stepprice,plan_qty,status,isbott,isend,lm_user,lm_date)
+ values(@wo_code,@seq,@step_code,@route_code,@stepprice,@plan_qty,@status,@isbott,@isend,@lm_user,@lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = json[i].wocode,
+ seq = json[i].WorkListSub[j].stepseq,
+ step_code = json[i].WorkListSub[j].stepcode,
+ route_code = route_code,
+ stepprice = json[i].WorkListSub[j].stepprice,
+ plan_qty = json[i].woqty,
+ status = json[i].wostatus,
+ isbott = json[i].WorkListSub[j].isbott,
+ isend = json[i].WorkListSub[j].isend,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString()
+ }
+ });
+ }
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗗伐鍗�:" + json[0].wocode, us.usertype);
+ mes.code = "200";
+ mes.count = 0;
+ mes.message = "MES宸ュ崟鏂板缓鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = "MES宸ュ崟鏂板缓澶辫触!";
+ mes.data = null;
+ }
+ }
+ if (operType == "Update")
+ {
+ for (int i = 0; i < json.Count; i++)
+ {
+ //淇敼宸ュ崟琛�
+ sql = @"update TK_Wrk_Man set wotype=@wotype,wkshp_code=@wkshp_code,plan_qty=@plan_qty,lm_user=@lm_user,lm_date=@lm_date,
+ materiel_code=@materiel_code,route_code=@route_code,sourceid=@sourceid,m_po=@m_po,saleOrderDeliveryDate=@saleOrderDeliveryDate,plan_startdate=@plan_startdate,plan_enddate=@plan_enddate,isstep=@isstep
+ where wo_code=@wo_code";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = json[i].wocode,
+ wotype = json[i].wotype,
+ wkshp_code = json[i].wkshopcode,
+ plan_qty = json[i].woqty,
+ materiel_code = json[i].partcode,
+ route_code = route_code,
+ sourceid = json[i].sourceid == "" ? null : json[i].sourceid, //鏃犳簮鍗曟椂璧嬪�糔ULL
+ m_po = json[i].sourcewo,
+ saleOrderDeliveryDate = json[i].deliverydate,
+ plan_startdate = json[i].paystartdate,
+ plan_enddate = json[i].payenddate,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ isstep = json[i].isstep //鏄惁鍏宠仈宸ュ簭
+ }
+ });
+ //鍒犻櫎宸ュ崟宸ュ簭琛�
+ sql = @"delete TK_Wrk_Step where wo_code=@wo_code";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = json[i].wocode
+ }
+ });
+ //鍐欏叆宸ュ崟宸ュ簭琛�
+ for (int j = 0; j < json[i].WorkListSub.Count; j++)
+ {
+ sql = @"insert into TK_Wrk_Step(wo_code,seq,step_code,route_code,stepprice,plan_qty,status,isbott,isend,lm_user,lm_date)
+ values(@wo_code,@seq,@step_code,@route_code,@stepprice,@plan_qty,@status,@isbott,@isend,@lm_user,@lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo_code = json[i].wocode,
+ seq = json[i].WorkListSub[j].stepseq,
+ step_code = json[i].WorkListSub[j].stepcode,
+ route_code = route_code,
+ stepprice = json[i].WorkListSub[j].stepprice,
+ plan_qty = json[i].woqty,
+ status = json[i].wostatus,
+ isbott = json[i].WorkListSub[j].isbott,
+ isend = json[i].WorkListSub[j].isend,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString()
+ }
+ });
+ }
+ //鍒ゆ柇婧愬ご鍗曟嵁鏄惁鏉ユ簮ERP
+ if (json[i].data_sources == "ERP")
+ {
+ //鍒ゆ柇宸ュ崟淇敼鏁伴噺宸�兼槸鍚︿负0
+ if (json[i].difference != "0")
+ {
+ string staus = "";
+ //鏌ヨ璁㈠崟鎬绘暟,宸蹭笅杈炬暟閲�
+ sql = @"select qty,relse_qty from TKimp_Ewo where id=@sourceid and wo=@sourcewo";
+ dynamicParams.Add("@sourceid", json[i].sourceid);
+ dynamicParams.Add("@sourcewo", json[i].sourcewo);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ //褰撳墠宸ュ崟鍙慨鏀规暟閲�=璁㈠崟鏁伴噺-闈炲綋鍓嶅伐鍗曟�讳笅杈惧伐鍗曟暟閲�
+ decimal qty = decimal.Parse(data0.Rows[0]["qty"].ToString());//璁㈠崟鎬绘暟
+ decimal relse_qty = decimal.Parse(data0.Rows[0]["relse_qty"].ToString());//璁㈠崟宸蹭笅杈炬�绘暟
+ relse_qty = relse_qty + decimal.Parse(json[i].difference);//鏂扮殑涓嬭揪鏁伴噺=鍘熷涓嬭揪鏁伴噺+宸��(姝h礋)
+ if (qty == relse_qty)
+ {
+ staus = "CREATED"; //鍏ㄩ儴涓嬭揪
+ }
+ else
+ {
+ staus = "CREATING";//閮ㄥ垎涓嬭揪
+ }
+ //鏇存柊璁㈠崟琛ㄧ姸鎬併�佸凡涓嬭揪鏁伴噺
+ sql = @"update TKimp_Ewo set status=@status,relse_qty=@relse_qty where id=@sourceid and wo=@sourcewo";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ status = staus,
+ relse_qty = relse_qty,
+ sourceid = json[i].sourceid,
+ sourcewo = json[i].sourcewo
+ }
+ });
+ }
+ }
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗗伐鍗�:" + string.Join(",", json.Select(j => j.wocode.ToString())), us.usertype);
+ mes.code = "200";
+ mes.count = 0;
+ mes.message = "淇敼鎿嶄綔鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = "淇敼鎿嶄綔澶辫触!";
+ mes.data = null;
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+
#region[MES宸ュ崟鍒犻櫎]
public static ToMessage DeleteMesOrder(string souceid, string wocode, string m_po, string orderqty, User us)
@@ -1419,7 +1721,8 @@
// --------------鏌ヨ鎸囧畾鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
- A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources
+ A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,
+ B.priuserdefnvc1,B.priuserdefnvc2,B.priuserdefnvc3,B.priuserdefnvc4,B.priuserdefnvc5,B.priuserdefnvc6
from TK_Wrk_Man A
left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code
left join TMateriel_Info B on A.materiel_code=B.partcode
@@ -1569,7 +1872,8 @@
}
//鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
- S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date
+ S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date,
+ M.priuserdefnvc1,M.priuserdefnvc2,M.priuserdefnvc3,M.priuserdefnvc4,M.priuserdefnvc5,M.priuserdefnvc6
from TK_Wrk_Step A
left join TK_Wrk_Man B on A.wo_code=B.wo_code
left join TMateriel_Info M on B.materiel_code=M.partcode
@@ -1673,7 +1977,8 @@
sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,
(select isnull(sum(fqty),0) as fqty from TK_Wrk_OutRecord where wo_code=A.wo_code and step_code=A.step_code and style='F') as fqty,
- A.laborbad_qty,A.materielbad_qty,A.plan_startdate,A.plan_enddate,B.lm_date
+ A.laborbad_qty,A.materielbad_qty,A.plan_startdate,A.plan_enddate,B.lm_date,
+ M.priuserdefnvc1,M.priuserdefnvc2,M.priuserdefnvc3,M.priuserdefnvc4,M.priuserdefnvc5,M.priuserdefnvc6
from TK_Wrk_Step A
left join TK_Wrk_Man B on A.wo_code=B.wo_code
left join TMateriel_Info M on B.materiel_code=M.partcode
@@ -1774,7 +2079,8 @@
}
//鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
sql = @"select A.id,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isend,
- S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date
+ S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date,
+ M.priuserdefnvc1,M.priuserdefnvc2,M.priuserdefnvc3,M.priuserdefnvc4,M.priuserdefnvc5,M.priuserdefnvc6
from TK_Wrk_Step A
left join TK_Wrk_Man B on A.wo_code=B.wo_code
left join TMateriel_Info M on B.materiel_code=M.partcode
@@ -1811,7 +2117,7 @@
{
//1.鏍规嵁宸ュ崟+宸ュ簭鏌ユ壘褰撳墠宸ュ簭鏄惁棣栭亾宸ュ簭
sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,
- A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,A.isbott,A.isend
+ A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,A.isbott,A.isend
from TK_Wrk_Step A
left join TStep T on A.step_code=T.stepcode
left join TK_Wrk_Man M on A.wo_code=M.wo_code
@@ -1941,7 +2247,7 @@
#endregion
#region[鐢熶骇寮�鎶ュ伐,鎶ュ伐鎻愪氦]
- public static ToMessage SavaMesOrderStepReport(string mesordercode, string partcode, string stepseq, string stepcode, string stepprice, string eqpcode, string inbarcode, string reckway, string usergroupcode, string reportuser, string taskqty, string startqty, string reportqty, List<ReportDefectList> defectobjs, string remarks, User us)
+ public static ToMessage SavaMesOrderStepReport(string mesordercode, string partcode, string stepseq, string stepcode, string stepprice, string eqpcode, string inbarcode, string reckway, string usergroupcode, string reportuser,string payrate, string taskqty, string startqty, string reportqty, List<ReportDefectList> defectobjs, string remarks, User us)
{
var sql = "";
decimal ngqty = 0;
@@ -2038,8 +2344,8 @@
list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, step_price = stepprice, eqpcode = eqpcode, partcode = partcode, taskqty = taskqty, startqty = startqty, reportqty = reportqty, ngqty = ngqty, style = "B", lm_user = us.usercode, lm_date = date, inbarcode = inbarcode } });
//鍐欏叆瀛愯〃
- sql = @"insert into TK_Wrk_RecordSub(m_id,eqp_code,report_person,report_date,report_qty,reckway,usergroup_code,ratio,ng_qty,style,lm_user,lm_date)
- values(@m_id,@eqp_code,@report_person,@report_date,@report_qty,@reckway,@usergroup_code,@ratio,@ng_qty,@style,@lm_user,@lm_date)";
+ sql = @"insert into TK_Wrk_RecordSub(m_id,eqp_code,payrate,report_person,report_date,report_qty,reckway,usergroup_code,ratio,ng_qty,style,lm_user,lm_date)
+ values(@m_id,@eqp_code,@payrate,@report_person,@report_date,@report_qty,@reckway,@usergroup_code,@ratio,@ng_qty,@style,@lm_user,@lm_date)";
list.Add(new
{
str = sql,
@@ -2047,6 +2353,7 @@
{
m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
eqp_code = eqpcode,
+ payrate= payrate,
report_person = reportuser,
report_date = date,
report_qty = reportqty,
@@ -2082,8 +2389,8 @@
list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, step_price = stepprice, eqpcode = eqpcode, partcode = partcode, taskqty = taskqty, startqty = startqty, reportqty = reportqty, ngqty = ngqty, style = "B", lm_user = us.usercode, lm_date = date, inbarcode = inbarcode } });
//鍐欏叆瀛愯〃
- sql = @"insert into TK_Wrk_RecordSub(m_id,eqp_code,report_person,report_date,report_qty,reckway,usergroup_code,ratio,ng_qty,style,lm_user,lm_date)
- values(@m_id,@eqp_code,@report_person,@report_date,@report_qty,@reckway,@usergroup_code,@ratio,@ng_qty,@style,@lm_user,@lm_date)";
+ sql = @"insert into TK_Wrk_RecordSub(m_id,eqp_code,payrate,report_person,report_date,report_qty,reckway,usergroup_code,ratio,ng_qty,style,lm_user,lm_date)
+ values(@m_id,@eqp_code,@payrate,@report_person,@report_date,@report_qty,@reckway,@usergroup_code,@ratio,@ng_qty,@style,@lm_user,@lm_date)";
list.Add(new
{
str = sql,
@@ -2091,6 +2398,7 @@
{
m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
eqp_code = eqpcode,
+ payrate= payrate,
report_person = reportuser,
report_date = date,
report_qty = reportqty,
diff --git a/VueWebCoreApi/Models/WorkData/PartRouteList.cs b/VueWebCoreApi/Models/WorkData/PartRouteList.cs
new file mode 100644
index 0000000..febb476
--- /dev/null
+++ b/VueWebCoreApi/Models/WorkData/PartRouteList.cs
@@ -0,0 +1,15 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace VueWebCoreApi.Models.WorkData
+{
+ public class PartRouteList
+ {
+ /// <summary>
+ /// 浜у搧缂栫爜
+ /// </summary>
+ public string partcode { get; set; }
+ }
+}
diff --git a/VueWebCoreApi/Models/WorkData/PartRouteStepList.cs b/VueWebCoreApi/Models/WorkData/PartRouteStepList.cs
new file mode 100644
index 0000000..1832498
--- /dev/null
+++ b/VueWebCoreApi/Models/WorkData/PartRouteStepList.cs
@@ -0,0 +1,19 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace VueWebCoreApi.Models.WorkData
+{
+ public class PartRouteStepList
+ {
+ /// <summary>
+ /// 浜у搧缂栫爜
+ /// </summary>
+ public string partcode { get; set; }
+ /// <summary>
+ /// 宸ヨ壓璺嚎缂栫爜
+ /// </summary>
+ public string routecode { get; set; }
+ }
+}
diff --git a/VueWebCoreApi/Models/WorkData/WorkStepList.cs b/VueWebCoreApi/Models/WorkData/WorkStepList.cs
new file mode 100644
index 0000000..04bbd83
--- /dev/null
+++ b/VueWebCoreApi/Models/WorkData/WorkStepList.cs
@@ -0,0 +1,27 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace VueWebCoreApi.Models.WorkData
+{
+ public class WorkStepList
+ {
+ /// <summary>
+ /// 婧愬崟id
+ /// </summary>
+ public string sourceid { get; set; }
+ /// <summary>
+ /// 婧愬崟鍗曞彿
+ /// </summary>
+ public string sourcewo { get; set; }
+ /// <summary>
+ /// 宸ュ崟鍙�
+ /// </summary>
+ public string wocode { get; set; }
+ /// <summary>
+ /// 鏁版嵁鏉ユ簮锛欵RP/MES
+ /// </summary>
+ public string data_sources { get; set; }
+ }
+}
--
Gitblit v1.9.3