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)
| | |
| | | using VueWebCoreApi.DLL.BLL; |
| | | using VueWebCoreApi.Models; |
| | | using VueWebCoreApi.Models.RolePermission; |
| | | using VueWebCoreApi.Models.WorkData; |
| | | using VueWebCoreApi.Tools; |
| | | using static VueWebCoreApi.Models.RolePermission.RolePermissionSava; |
| | | |
| | |
| | | } |
| | | #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> |
| | | /// èæå·¥ä»·æ¥è¯¢ |
| | |
| | | ToMessage mes = new ToMessage(); |
| | | RedisCommon redis = new RedisCommon(); |
| | | |
| | | #region[车é´çæ¿,ä¸ç产信æ¯] |
| | | #region[å驰车é´çæ¿,ä¸ç产信æ¯] |
| | | /// <summary> |
| | | /// 车é´çæ¿,ä¸çäº§ä¿¡æ¯ |
| | | /// å驰车é´çæ¿,ä¸çäº§ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="wkshopcode">车é´ç¼ç </param> |
| | | /// <returns></returns> |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region[车é´çæ¿,ä¸å·¦è¿ä¸å¨ä¸è¯è¶å¿] |
| | | #region[å驰车é´çæ¿,ä¸å·¦è¿ä¸å¨ä¸è¯è¶å¿] |
| | | /// <summary> |
| | | /// 车é´çæ¿,ä¸å·¦è¿ä¸å¨ä¸è¯è¶å¿ |
| | | /// å驰车é´çæ¿,ä¸å·¦è¿ä¸å¨ä¸è¯è¶å¿ |
| | | /// </summary> |
| | | /// <param name="wkshopcode">车é´ç¼ç </param> |
| | | /// <returns></returns> |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region[车é´çæ¿,ä¸å³è¿ä¸æä¸è¯ç»è®¡] |
| | | #region[å驰车é´çæ¿,ä¸å³è¿ä¸æä¸è¯ç»è®¡] |
| | | /// <summary> |
| | | /// 车é´çæ¿,ä¸å³è¿ä¸æä¸è¯ç»è®¡ |
| | | /// å驰车é´çæ¿,ä¸å³è¿ä¸æä¸è¯ç»è®¡ |
| | | /// </summary> |
| | | /// <param name="wkshopcode">车é´ç¼ç </param> |
| | | /// <returns></returns> |
| | |
| | | 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 |
| | | } |
| | | } |
| | |
| | | [ApiExplorerSettings(GroupName = "å·¥å管ç")] |
| | | [ApiController] |
| | | [Route("api/[controller]")] |
| | | [ChannelActionFilter] |
| | | //[ChannelActionFilter] |
| | | public class WorkOrderController : Controller |
| | | { |
| | | //å®ä¹å
¨å±ä¿¡æ¯è¿ååé |
| | |
| | | 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> |
| | |
| | | string reckway = obj["reckway"].ToString(); //计件æ¹å¼(çç»:groupã个人:person) |
| | | string usergroupcode = obj["usergroupcode"].ToString(); //çç»ç¼ç |
| | | string reportuser = obj["reportuser"].ToString(); //æ¥å·¥äººå |
| | | string payrate = obj["payrate"].ToString(); //èªèµç±»åï¼S(计件)ï¼T(计æ¶)ï¼M(æ) |
| | | 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 |
| | |
| | | using VueWebCoreApi.DLL.DAL; |
| | | using VueWebCoreApi.Models; |
| | | using VueWebCoreApi.Models.RolePermission; |
| | | using VueWebCoreApi.Models.WorkData; |
| | | using VueWebCoreApi.Tools; |
| | | using static VueWebCoreApi.Models.RolePermission.RolePermissionSava; |
| | | |
| | |
| | | } |
| | | #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) |
| | | { |
| | |
| | | { |
| | | 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); |
| | |
| | | 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 |
| | | } |
| | | } |
| | |
| | | } |
| | | #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) |
| | | { |
| | |
| | | #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 |
| | | |
| | |
| | | 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; |
| | |
| | | } |
| | | #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) |
| | | { |
| | |
| | | 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 = "æ¥è¯¢æå!"; |
| | |
| | | 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"; |
| | |
| | | { |
| | | public static ToMessage mes = new ToMessage(); //å®ä¹å
¨å±è¿åä¿¡æ¯å¯¹è±¡ |
| | | |
| | | #region[车é´çæ¿,ä¸ç产信æ¯] |
| | | #region[å驰车é´çæ¿,ä¸ç产信æ¯] |
| | | public static ToMessage WorkShopProduceTopData(string wkshopcode) |
| | | { |
| | | string sql = ""; |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region[车é´çæ¿,ä¸å·¦è¿ä¸å¨ä¸è¯è¶å¿] |
| | | #region[å驰车é´çæ¿,ä¸å·¦è¿ä¸å¨ä¸è¯è¶å¿] |
| | | public static ToMessage WorkShopProduceBottomLeftData(string wkshopcode) |
| | | { |
| | | string sql = ""; |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region[车é´çæ¿,ä¸å³è¿ä¸æä¸è¯ç»è®¡] |
| | | #region[å驰车é´çæ¿,ä¸å³è¿ä¸æä¸è¯ç»è®¡] |
| | | public static ToMessage WorkShopProduceBottomRightData(string wkshopcode) |
| | | { |
| | | string sql = ""; |
| | |
| | | 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[åé©°ä»åºçæ¿å·¦ä¸,产å代åè´§] |
| | | 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 |
| | | } |
| | | } |
| | |
| | | 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); |
| | |
| | | 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"; |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | // --------------æ¥è¯¢æå®æ°æ®-------------- |
| | | 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 |
| | |
| | | // --------------æ¥è¯¢æå®æ°æ®-------------- |
| | | 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 |
| | |
| | | // --------------æ¥è¯¢æå®æ°æ®-------------- |
| | | 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 |
| | |
| | | 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, //æ æºåæ¶èµå¼NULL |
| | | m_po = json[i].sourcewo, |
| | | saleOrderDeliveryDate = json[i].deliverydate, |
| | | plan_startdate = json[i].paystartdate, |
| | | plan_enddate = json[i].payenddate, |
| | | orderlev = "3",//ä¼å
级ï¼ç¹çº§ï¼1ï¼ ç´§æ¥ï¼2ï¼ æ£å¸¸ï¼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, //æ æºåæ¶èµå¼NULL |
| | | 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);//æ°çä¸è¾¾æ°é=åå§ä¸è¾¾æ°é+å·®å¼(æ£è´) |
| | | 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) |
| | |
| | | // --------------æ¥è¯¢æå®æ°æ®-------------- |
| | | 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 |
| | |
| | | } |
| | | //æ ¹æ®æ¡ä»¶æ¥è¯¢å·¥åå·¥åºä»»å¡(èªå¶å·¥åº) |
| | | 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 |
| | |
| | | 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 |
| | |
| | | } |
| | | //æ ¹æ®æ¡ä»¶æ¥è¯¢å·¥åå·¥åºä»»å¡(èªå¶å·¥åº) |
| | | 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 |
| | |
| | | #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; |
| | |
| | | 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, |
| | |
| | | { |
| | | m_id = int.Parse(dt.Rows[0]["ID"].ToString()), |
| | | eqp_code = eqpcode, |
| | | payrate= payrate, |
| | | report_person = reportuser, |
| | | report_date = date, |
| | | report_qty = reportqty, |
| | |
| | | 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, |
| | |
| | | { |
| | | m_id = int.Parse(dt.Rows[0]["ID"].ToString()), |
| | | eqp_code = eqpcode, |
| | | payrate= payrate, |
| | | report_person = reportuser, |
| | | report_date = date, |
| | | report_qty = reportqty, |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using 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; } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using 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; } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using 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> |
| | | /// æ°æ®æ¥æºï¼ERP/MES |
| | | /// </summary> |
| | | public string data_sources { get; set; } |
| | | } |
| | | } |