| | |
| | | using System.Net.NetworkInformation; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Information; |
| | | using SqlSugar; |
| | | using StackExchange.Profiling.Internal; |
| | | using WIDESEA_ISerialPortRepository; |
| | | using WIDESEA_SerialPortRepository; |
| | |
| | | } |
| | | |
| | | |
| | | //ä¿åæ¨¡æ¿ |
| | | /// <summary> |
| | | /// ä¿å模æ¿å¹¶æäº¤ |
| | | /// ææ¨¡æ¿idçæ¶åå°±è¿å模æ¿çå¼ï¼æ´æ°æéæ©æ¨¡æ¿çå¼å¹¶å°ä»»å¡æ´¾åä¸å» |
| | | /// æ²¡ææ¨¡æ¿idçæ¶åï¼å°±å建ä¸ä¸ªæ¨¡æ¿ï¼å
±ä¸æ¬¡ä½¿ç¨ |
| | | /// </summary> |
| | | /// <param name="njtakeDTO"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent Submtandsave(NjtakeDTO njtakeDTO) |
| | | { |
| | | try |
| | | { |
| | | //æ´å
·æ¨¡æ¿idæ¥æ¥è¯¢æ¯å¦åå¨è¯¥æ¡æ°æ® |
| | | // 1. æ¥è¯¢æ¨¡æ¿è¡¨ & ä»»å¡è¡¨ |
| | | var existtepm = _templateRepository.QueryFirst(i => i.TemplateID == njtakeDTO.Tpid); |
| | | var Temp = new Dt_Template(); //å¦æä½ è¦æ´æ°é£ä¹è¦å
æ¾å°ï¼å¦åä½ è¿æ ·æ¯å建ä¸ä¸ªæ°ç对象 |
| | | //å¦ææ²¡ææ¨¡æ¿idé£ä¹å°±ä¹é´åå»ºæ¨¡æ¿ |
| | | if (existtepm == null) |
| | | var task = BaseDal.QueryFirst(i => i.NJtaskID == njtakeDTO.Njtakeid); |
| | | |
| | | if (task == null) |
| | | { |
| | | |
| | | Temp.TemplateName = njtakeDTO.takename; |
| | | Temp.TakeName = njtakeDTO.takename; |
| | | Temp.jiShuYuan = njtakeDTO.jishuyuan; |
| | | Temp.gongZhang = njtakeDTO.gongzhang; |
| | | Temp.zhiJianYuan_Dq = njtakeDTO.zhijianyuan_dq; |
| | | Temp.zhiJianYuan_Lc = njtakeDTO.zhijianyuan_lc; |
| | | Temp.zhiJianYuan_Dg = njtakeDTO.zhijianyuan_dg; |
| | | Temp.liJu_Dg = njtakeDTO.liju_dg; |
| | | Temp.liJu_Dq = njtakeDTO.liju_dq; |
| | | Temp.liJu_Lc = njtakeDTO.liju_lc; |
| | | Temp.fuZhu_Dg = njtakeDTO.fuzhu_dg; |
| | | Temp.fuZhu_Dq = njtakeDTO.fuzhu_dq; |
| | | Temp.fuZhu_Lc = njtakeDTO.fuzhu_lc; |
| | | |
| | | return new WebResponseContent { Status = false, Message = "æ²¡ææ¾å°ä»»å¡" }; |
| | | } |
| | | //妿æå°±å¨æ¨¡æ¿ä¸è¿è¡æ´æ¹ |
| | | |
| | | //2.ç¡®å®æ¯æ°å»ºæ¨¡æ¿è¿æ¯æ´æ°å·²ææ¨¡æ¿ |
| | | bool isNewTemplate = existtepm == null; |
| | | if (isNewTemplate) |
| | | { |
| | | existtepm = new Dt_Template |
| | | { |
| | | TemplateName = njtakeDTO.takename, |
| | | TakeName = njtakeDTO.takename, |
| | | jiShuYuan = njtakeDTO.jishuyuan, |
| | | gongZhang = njtakeDTO.gongzhang, |
| | | zhiJianYuan_Dq = njtakeDTO.zhijianyuan_dq, |
| | | zhiJianYuan_Lc = njtakeDTO.zhijianyuan_lc, |
| | | zhiJianYuan_Dg = njtakeDTO.zhijianyuan_dg, |
| | | liJu_Dg = njtakeDTO.liju_dg, |
| | | liJu_Dq = njtakeDTO.liju_dq, |
| | | liJu_Lc = njtakeDTO.liju_lc, |
| | | fuZhu_Dg = njtakeDTO.fuzhu_dg, |
| | | fuZhu_Dq = njtakeDTO.fuzhu_dq, |
| | | fuZhu_Lc = njtakeDTO.fuzhu_lc |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | existtepm.zhiJianYuan_Dq = njtakeDTO.zhijianyuan_dq; |
| | |
| | | existtepm.fuZhu_Dg = njtakeDTO.fuzhu_dg; |
| | | existtepm.fuZhu_Dq = njtakeDTO.fuzhu_dq; |
| | | existtepm.fuZhu_Lc = njtakeDTO.fuzhu_lc; |
| | | |
| | | } |
| | | //å
æ ¹æ®id夿æ¯å¦æè¯¥ä»»å¡ |
| | | var task = BaseDal.QueryFirst(i => i.NJtaskID == njtakeDTO.Njtakeid); |
| | | if (task == null) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "æ²¡ææ¾å°" }; |
| | | } |
| | | |
| | | // 3. æ´æ°ä»»å¡è¡¨ |
| | | task.Taskstatus = 1;//已派工 |
| | | |
| | | if (existtepm == null) |
| | | { |
| | | |
| | | task.TakeName = njtakeDTO.takename; |
| | | task.jiShuYuan = njtakeDTO.jishuyuan; |
| | | task.zhiJianYuan_DG = njtakeDTO.zhijianyuan_dg; |
| | | task.zhiJianYuan_DQ = njtakeDTO.zhijianyuan_dq; |
| | | task.zhiJianYuan_LC = njtakeDTO.zhijianyuan_lc; |
| | | task.gongZhang = njtakeDTO.gongzhang; |
| | | task.liJu_DG = njtakeDTO.liju_dg; |
| | | task.liJu_DQ = njtakeDTO.liju_dq; |
| | | task.liJu_LC = njtakeDTO.liju_lc; |
| | | task.fuZhu_DG = njtakeDTO.fuzhu_dg; |
| | | task.fuZhu_DQ = njtakeDTO.fuzhu_dq; |
| | | task.fuZhu_LC = njtakeDTO.fuzhu_lc; |
| | | task.dispatchTime = DateTime.Now; |
| | | task.startTime = DateTime.Now; |
| | | } |
| | | else |
| | | { |
| | | task.TakeName = existtepm.TakeName; //仿¨¡æ¿ä¸æ¿å¼ |
| | | task.jiShuYuan = existtepm.jiShuYuan; |
| | | task.zhiJianYuan_DG = njtakeDTO.zhijianyuan_dg; |
| | | task.zhiJianYuan_DQ = njtakeDTO.zhijianyuan_dq; |
| | | task.zhiJianYuan_LC = njtakeDTO.zhijianyuan_lc; |
| | | task.gongZhang = existtepm.gongZhang; |
| | | task.liJu_DG = njtakeDTO.liju_dg; |
| | | task.liJu_DQ = njtakeDTO.liju_dq; |
| | | task.liJu_LC = njtakeDTO.liju_lc; |
| | | task.fuZhu_DG = njtakeDTO.fuzhu_dg; |
| | | task.fuZhu_DQ = njtakeDTO.fuzhu_dq; |
| | | task.fuZhu_LC = njtakeDTO.fuzhu_lc; |
| | | task.dispatchTime = DateTime.Now; |
| | | task.startTime = DateTime.Now; |
| | | } |
| | | ApplyTemplateToTask(task, existtepm, isNewTemplate, njtakeDTO); |
| | | |
| | | |
| | | // æå
¥å°ä»»å¡åå²è¡¨ |
| | | // 4. æå
¥åå²è®°å½ |
| | | var history = new Dt_NJtakeHistory |
| | | { |
| | | taskID = task.id, |
| | |
| | | confirmTime_DQ = task.confirmTime_DQ |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | List<Dt_Putake> listp = new List<Dt_Putake>(); |
| | | |
| | | // å®ä¹ä»»å¡æè§£çç»ä¿¡æ¯ |
| | | var groups = new[] |
| | | // 5. æå
¥ä»»å¡åè§£æ°æ® |
| | | var listp = new List<Dt_Putake> |
| | | { |
| | | new { Grouptype= "çµæ°",Pustatus=0,Zhijianyuan = task.zhiJianYuan_DQ, Lijuzouyeyuan = task.liJu_DQ, Fuzyuan = task.fuZhu_DQ }, |
| | | new { Grouptype = "æºæ¢°",Pustatus=0, Zhijianyuan = task.zhiJianYuan_LC, Lijuzouyeyuan = task.liJu_LC, Fuzyuan = task.fuZhu_LC }, |
| | | new { Grouptype = "å°æ²",Pustatus=0, Zhijianyuan = task.zhiJianYuan_DG, Lijuzouyeyuan = task.liJu_DG, Fuzyuan = task.fuZhu_DG } |
| | | new Dt_Putake { Njtakeid = task.NJtaskID, takename = task.TakeName, jishuyuan = task.jiShuYuan, gonzhang = task.gongZhang, Grouptype = "çµæ°", Pustatus = 0, zhijianyuan = task.zhiJianYuan_DQ, lijuzouyeyuan = task.liJu_DQ, fuzyuan = task.fuZhu_DQ, Dispatchtime = task.dispatchTime }, |
| | | new Dt_Putake { Njtakeid = task.NJtaskID, takename = task.TakeName, jishuyuan = task.jiShuYuan, gonzhang = task.gongZhang, Grouptype = "æºæ¢°", Pustatus = 0, zhijianyuan = task.zhiJianYuan_LC, lijuzouyeyuan = task.liJu_LC, fuzyuan = task.fuZhu_LC, Dispatchtime = task.dispatchTime }, |
| | | new Dt_Putake { Njtakeid = task.NJtaskID, takename = task.TakeName, jishuyuan = task.jiShuYuan, gonzhang = task.gongZhang, Grouptype = "å°æ²", Pustatus = 0, zhijianyuan = task.zhiJianYuan_DG, lijuzouyeyuan = task.liJu_DG, fuzyuan = task.fuZhu_DG, Dispatchtime = task.dispatchTime } |
| | | }; |
| | | |
| | | // 6. äºå¡æäº¤ |
| | | _unitOfWorkManage.BeginTran(); |
| | | |
| | | // éè¿å¾ªç¯å建对象 |
| | | foreach (var g in groups) |
| | | if (isNewTemplate) |
| | | { |
| | | listp.Add(new Dt_Putake |
| | | { |
| | | Njtakeid = task.NJtaskID, |
| | | takename = task.TakeName, |
| | | jishuyuan = task.jiShuYuan, |
| | | gonzhang = task.gongZhang, |
| | | |
| | | zhijianyuan = g.Zhijianyuan, |
| | | lijuzouyeyuan = g.Lijuzouyeyuan, |
| | | fuzyuan = g.Fuzyuan, |
| | | Grouptype=g.Grouptype, |
| | | Pustatus=g.Pustatus, |
| | | Dispatchtime=task.dispatchTime, |
| | | }); |
| | | } |
| | | |
| | | |
| | | _unitOfWorkManage.BeginTran();//å¼å¯äºå¡ï¼å¨å¢å æ¹æ¥åï¼ä¸å¡åï¼ |
| | | |
| | | if (existtepm == null)//妿ä¸åå¨id |
| | | { |
| | | |
| | | _templateRepository.AddData(Temp);//æ·»å æ¨¡æ¿ |
| | | |
| | | //db.Insertable(task).ExecuteCommand(); |
| | | BaseDal.UpdateData(task);//å°æ¨¡æ¿è¡¨ä¸ä¿®æ¹çæå
¥è¿ä»»å¡è¡¨ä¸ |
| | | |
| | | // db.Insertable(history).ExecuteCommand(); |
| | | _nJtakeHistoryRepository.AddData(history);// æå
¥åå²è®°å½ |
| | | |
| | | _putakeRepository.AddData(listp);//ä¸å䏿¡ä»»å¡åè§£è¡¨æ°æ® |
| | | // return new WebResponseContent { Status = true, Message = "ä¸åäºä»»å¡å¹¶ä¿åäºæ¨¡æ¿"}; |
| | | _templateRepository.AddData(existtepm); |
| | | } |
| | | else |
| | | { |
| | | |
| | | //è·åå¹¶è¿åæå
¥è®°å½çèªå¢ä¸»é®å¼ï¼è¯¥å¼è¢«åå¨å¨ templatID åéä¸ |
| | | //int templatID = _templateRepository.Db.Insertable(Temp).ExecuteReturnIdentity(); |
| | | //task.tempID = templatID; |
| | | |
| | | //ä¿®æ¹æ¨¡æ¿è¡¨ |
| | | _templateRepository.UpdateData(existtepm); |
| | | |
| | | //å°æ¨¡æ¿å·æå
¥è¿æ¡ä»»å¡è¡¨ä¸ |
| | | task.tempID = existtepm.TemplateID; |
| | | |
| | | BaseDal.UpdateData(task);//å°ä»»å¡è¡¨ä¸ç人åæå
¥è¿ä»»å¡è¡¨ä¸ |
| | | |
| | | |
| | | _nJtakeHistoryRepository.AddData(history);// æå
¥åå²è®°å½ |
| | | |
| | | _putakeRepository.AddData(listp);//ä¸å䏿¡ä»»å¡åè§£è¡¨æ°æ® |
| | | |
| | | } |
| | | _unitOfWorkManage.CommitTran();//æäº¤äºå¡ |
| | | |
| | | BaseDal.UpdateData(task); |
| | | _nJtakeHistoryRepository.AddData(history); |
| | | _putakeRepository.AddData(listp); |
| | | |
| | | _unitOfWorkManage.CommitTran(); |
| | | |
| | | return new WebResponseContent { Status = true, Data = task }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | //db.Ado.RollbackTran(); // åæ»äºå¡ |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return new WebResponseContent { Status = false, Message = "æ·»å 失败ï¼" + ex.Message }; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡è¡¨åºç¨æ¨¡æ¿ä¿¡æ¯ |
| | | /// </summary> |
| | | private void ApplyTemplateToTask(Dt_NjTask task, Dt_Template template, bool isNewTemplate, NjtakeDTO njtakeDTO) |
| | | { |
| | | if (isNewTemplate) //模æ¿idæ¯å¦æï¼é»è®¤ä¸ºnull |
| | | { |
| | | task.TakeName = njtakeDTO.takename; |
| | | task.gongZhang = njtakeDTO.gongzhang; |
| | | } |
| | | else |
| | | { |
| | | task.TakeName = template.TakeName; |
| | | task.gongZhang = template.gongZhang; |
| | | } |
| | | |
| | | task.jiShuYuan = template.jiShuYuan; |
| | | task.zhiJianYuan_DG = njtakeDTO.zhijianyuan_dg; |
| | | task.zhiJianYuan_DQ = njtakeDTO.zhijianyuan_dq; |
| | | task.zhiJianYuan_LC = njtakeDTO.zhijianyuan_lc; |
| | | task.liJu_DG = njtakeDTO.liju_dg; |
| | | task.liJu_DQ = njtakeDTO.liju_dq; |
| | | task.liJu_LC = njtakeDTO.liju_lc; |
| | | task.fuZhu_DG = njtakeDTO.fuzhu_dg; |
| | | task.fuZhu_DQ = njtakeDTO.fuzhu_dq; |
| | | task.fuZhu_LC = njtakeDTO.fuzhu_lc; |
| | | } |
| | | |
| | | |
| | | //ä¸ä¿åæ¨¡æ¿ |
| | |
| | | } |
| | | } |
| | | |
| | | //æ´å
·idæ´æ° |
| | | //æ ¹æ®idæ´æ° |
| | | public WebResponseContent PuNjtake(PutNjtDTO putNjtDTO) |
| | | { |
| | | try |
| | |
| | | return new WebResponseContent { Status = false, Message = "æ¥è¯¢å¤±è´¥ï¼" + ex.Message }; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | |