315 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			315 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Web.Http; | |||
|  | using BLL; | |||
|  | using Model; | |||
|  | 
 | |||
|  | namespace Mvc.Controllers | |||
|  | { | |||
|  |     public class JointCheckController : ApiController | |||
|  |     { | |||
|  | 
 | |||
|  | 
 | |||
|  |         // | |||
|  |         // 质量共检 | |||
|  |         // GET: /Draw/ | |||
|  |         [HttpGet] | |||
|  |         public ResponseData<List<Check_JointCheck>> Index(string projectId, int index, int page, string name = null) | |||
|  |         { | |||
|  |             ResponseData<List<Check_JointCheck>> res = new ResponseData<List<Check_JointCheck>>(); | |||
|  | 
 | |||
|  |             res.successful = true; | |||
|  |             res.resultValue = BLL.JointCheckService.GetListDataForApi(name, projectId, index, page); | |||
|  |             return res; | |||
|  |         } | |||
|  | 
 | |||
|  |         [HttpGet] | |||
|  |         public ResponseData<List<Check_JointCheck>> Search(string projectId, int index, int page, string name = null, string code = null, string unitId = null, string proposeUnitId = null, string type = null, string dateA = null, string dateZ = null, string state = null) | |||
|  |         { | |||
|  |             ResponseData<List<Check_JointCheck>> res = new ResponseData<List<Check_JointCheck>>(); | |||
|  | 
 | |||
|  |             res.successful = true; | |||
|  |             res.resultValue = BLL.JointCheckService.GetListDataForApi(name, code, unitId, proposeUnitId, type, dateA, dateZ, projectId, state, index, page); | |||
|  |             return res; | |||
|  |         } | |||
|  | 
 | |||
|  |         // | |||
|  |         // 质量共检 | |||
|  |         // GET: /Draw/ | |||
|  |         [HttpGet] | |||
|  |         public ResponseData<Check_JointCheck> GetJointCheck(string id) | |||
|  |         { | |||
|  |             ResponseData<Check_JointCheck> res = new ResponseData<Check_JointCheck>(); | |||
|  |             Check_JointCheck jc = BLL.JointCheckService.GetJointCheckForApi(id); | |||
|  |             res.successful = true; | |||
|  |             res.resultValue = BeanUtil.CopyOjbect<Check_JointCheck>(jc, true); | |||
|  |             return res; | |||
|  |         } | |||
|  | 
 | |||
|  |         [HttpGet] | |||
|  |         public ResponseData<List<Check_JointCheckApprove>> GetApproveByJcid(string id, string detailId) | |||
|  |         { | |||
|  |             ResponseData<List<Check_JointCheckApprove>> res = new ResponseData<List<Check_JointCheckApprove>>(); | |||
|  |             res.successful = true; | |||
|  |             res.resultValue = BLL.JointCheckApproveService.getListDataByJcidForApi(id, detailId); | |||
|  |             return res; | |||
|  | 
 | |||
|  |         } | |||
|  |         [HttpGet] | |||
|  |         public ResponseData<Check_JointCheckApprove> getCurrApproveByDetailId(string id) | |||
|  |         { | |||
|  |             ResponseData<Check_JointCheckApprove> res = new ResponseData<Check_JointCheckApprove>(); | |||
|  | 
 | |||
|  |             res.successful = true; | |||
|  |             res.resultValue = BeanUtil.CopyOjbect<Check_JointCheckApprove>(BLL.JointCheckApproveService.getCurrApproveByDetailIdForApi(id), true); | |||
|  |             return res; | |||
|  |         } | |||
|  |         [HttpGet] | |||
|  |         public ResponseData<List<Check_JointCheckApprove>> GetCurrApproveById(string id) | |||
|  |         { | |||
|  |             ResponseData<List<Check_JointCheckApprove>> res = new ResponseData<List<Check_JointCheckApprove>>(); | |||
|  | 
 | |||
|  |             res.successful = true; | |||
|  |             res.resultValue = BLL.JointCheckApproveService.getCurrApproveForApi(id); | |||
|  |             return res; | |||
|  |         } | |||
|  |         [HttpGet] | |||
|  |         public ResponseData<Check_JointCheckApprove> GetCurrApproveByJoinCheckId(string id) | |||
|  |         { | |||
|  |             ResponseData<Check_JointCheckApprove> res = new ResponseData<Check_JointCheckApprove>(); | |||
|  | 
 | |||
|  |             res.successful = true; | |||
|  |             res.resultValue = BLL.JointCheckApproveService.getCurrApproveByJoinCheckIdForApi(id); | |||
|  |             return res; | |||
|  |         } | |||
|  | 
 | |||
|  |         [HttpGet] | |||
|  |         public ResponseData<List<View_Check_JointCheckDetail>> GetJointCheckDetail(string id) | |||
|  |         { | |||
|  |             ResponseData<List<View_Check_JointCheckDetail>> res = new ResponseData<List<View_Check_JointCheckDetail>>(); | |||
|  |             res.successful = true; | |||
|  |             res.resultValue = BLL.JointCheckDetailService.getListDataForApi(id); | |||
|  |             return res; | |||
|  | 
 | |||
|  |         } | |||
|  |         [HttpGet] | |||
|  |         public ResponseData<string> delJointCheckDetail(string id) | |||
|  |         { | |||
|  |             ResponseData<string> res = new ResponseData<string>(); | |||
|  |             res.successful = true; | |||
|  |             BLL.JointCheckDetailService.DeleteJointCheckDetailById(id); | |||
|  |             res.resultValue = id; | |||
|  |             return res; | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         [HttpPost] | |||
|  |         public ResponseData<string> AddJointCheckDetail([FromBody]Model.Check_JointCheckDetail CheckControl) | |||
|  |         { | |||
|  |             ResponseData<string> res = new ResponseData<string>(); | |||
|  |             try | |||
|  |             { | |||
|  |                 if (string.IsNullOrEmpty(CheckControl.JointCheckDetailId)) | |||
|  |                 { | |||
|  | 
 | |||
|  |                     CheckControl.JointCheckDetailId = Guid.NewGuid().ToString(); | |||
|  |                     CheckControl.CreateDate = DateTime.Now; | |||
|  | 
 | |||
|  |                     BLL.JointCheckDetailService.AddJointCheckDetailForApi(CheckControl); | |||
|  | 
 | |||
|  |                     //BLL.AttachFileService.updateAttachFile(CheckControl.ReAttachUrl, CheckControl.JointCheckDetailId + "r", Const.JointCheckMenuId); | |||
|  |                     //BLL.AttachFileService.updateAttachFile(CheckControl.AttachUrl, CheckControl.JointCheckDetailId, Const.JointCheckMenuId); | |||
|  |                     SaveAttachFile(CheckControl.JointCheckDetailId + "r", BLL.Const.JointCheckMenuId, CheckControl.ReAttachUrl); | |||
|  |                     SaveAttachFile(CheckControl.JointCheckDetailId, BLL.Const.JointCheckMenuId, CheckControl.AttachUrl); | |||
|  |                     res.resultValue = CheckControl.JointCheckDetailId; | |||
|  | 
 | |||
|  |                     res.successful = true; | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     BLL.JointCheckDetailService.UpdateJointCheckDetailForApi(CheckControl); | |||
|  |                     res.resultValue = CheckControl.JointCheckDetailId; | |||
|  |                     //BLL.AttachFileService.updateAttachFile(CheckControl.ReAttachUrl, CheckControl.JointCheckDetailId + "r", Const.JointCheckMenuId); | |||
|  |                     //BLL.AttachFileService.updateAttachFile(CheckControl.AttachUrl, CheckControl.JointCheckDetailId, Const.JointCheckMenuId); | |||
|  |                     SaveAttachFile(CheckControl.JointCheckDetailId + "r", BLL.Const.JointCheckMenuId, CheckControl.ReAttachUrl); | |||
|  |                     SaveAttachFile(CheckControl.JointCheckDetailId, BLL.Const.JointCheckMenuId, CheckControl.AttachUrl); | |||
|  |                     res.successful = true; | |||
|  |                 } | |||
|  |             } | |||
|  |             catch (Exception e) | |||
|  |             { | |||
|  |                 res.resultHint = e.StackTrace; | |||
|  |                 res.successful = false; | |||
|  |             } | |||
|  |             return res; | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         public static void SaveAttachFile(string dataId, string menuId, string url) | |||
|  |         { | |||
|  |             Model.ToDoItem toDoItem = new Model.ToDoItem | |||
|  |             { | |||
|  |                 MenuId = menuId, | |||
|  |                 DataId = dataId, | |||
|  |                 UrlStr = url, | |||
|  |             }; | |||
|  |             APIUpLoadFileService.SaveAttachUrl(toDoItem); | |||
|  |         } | |||
|  | 
 | |||
|  |         [HttpPost] | |||
|  |         // 共检--添加 | |||
|  |         public ResponseData<string> AddJointCheck([FromBody]Model.Check_JointCheck CheckControl) | |||
|  |         { | |||
|  |             ResponseData<string> res = new ResponseData<string>(); | |||
|  |             try | |||
|  |             { | |||
|  |                 if (string.IsNullOrEmpty(CheckControl.JointCheckId)) | |||
|  |                 { | |||
|  |                     var project = BLL.ProjectService.GetProjectByProjectId(CheckControl.ProjectId); | |||
|  |                     string projectCode = string.Empty; | |||
|  |                     string prefix = string.Empty; | |||
|  |                     if (project != null) | |||
|  |                     { | |||
|  |                         projectCode = project.ProjectCode; | |||
|  |                     } | |||
|  |                     prefix = projectCode + "-GJ-"; | |||
|  |                     CheckControl.JointCheckCode = BLL.SQLHelper.RunProcNewId("SpGetNewCode3", "dbo.Check_JointCheck", "JointCheckCode", prefix); | |||
|  |                     CheckControl.JointCheckId = Guid.NewGuid().ToString(); | |||
|  |                     BLL.JointCheckService.AddJointCheckForApi(CheckControl); | |||
|  |                     res.resultValue = CheckControl.JointCheckId; | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     BLL.JointCheckService.UpdateJointCheckForApi(CheckControl); | |||
|  |                     res.resultValue = CheckControl.JointCheckId; | |||
|  |                 } | |||
|  |             } | |||
|  |             catch (Exception e) | |||
|  |             { | |||
|  |                 res.successful = false; | |||
|  |             } | |||
|  |             res.successful = true; | |||
|  |             return res; | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         [HttpPost] | |||
|  |         public ResponseData<string> AddApprove([FromBody]Model.Check_JointCheckApprove approve) | |||
|  |         { | |||
|  |             ResponseData<string> res = new ResponseData<string>(); | |||
|  |             try | |||
|  |             { | |||
|  |                 //Model.Check_JointCheck CheckControl = new Model.Check_JointCheck(); | |||
|  |                 //CheckControl.JointCheckId = approve.JointCheckId; | |||
|  |                 //CheckControl.State = approve.ApproveType; | |||
|  |                 //BLL.JointCheckService.UpdateJointCheckForApi(CheckControl); | |||
|  |                 Check_JointCheckDetail joinCheckDetail = new Check_JointCheckDetail();// BLL.JointCheckDetailService.GetJointCheckDetailByJointCheckDetailIdForApi(approve.JointCheckDetailId); | |||
|  |                 joinCheckDetail.State = approve.ApproveType; | |||
|  |                 joinCheckDetail.HandleMan = approve.ApproveMan; | |||
|  |                 joinCheckDetail.SaveHandleMan = ""; | |||
|  |                 joinCheckDetail.JointCheckDetailId = approve.JointCheckDetailId; | |||
|  |                 BLL.JointCheckDetailService.UpdateJointCheckDetailForApi(joinCheckDetail); | |||
|  | 
 | |||
|  |                 var joinCheckDetailList = BLL.JointCheckDetailService.GetListsForApi(approve.JointCheckId); | |||
|  |                 bool isFinished = true; | |||
|  |                 bool isEditing = true; | |||
|  |                 foreach (var item in joinCheckDetailList) | |||
|  |                 { | |||
|  |                     if ("6" != item.State) isFinished = false; | |||
|  |                     if ("1" != item.State) isEditing = false; | |||
|  |                 } | |||
|  | 
 | |||
|  |                 var joinCheck = BLL.JointCheckService.GetJointCheckForApi(approve.JointCheckId); | |||
|  |                 Check_JointCheck cj = new Check_JointCheck(); | |||
|  |                 cj.JointCheckId = joinCheck.JointCheckId; | |||
|  |                 if (approve.ApproveType != "1") | |||
|  |                 { | |||
|  |                     if (isFinished) | |||
|  |                     { | |||
|  |                         cj.State = "6"; | |||
|  |                     } | |||
|  |                     else if (isEditing) | |||
|  |                     { | |||
|  |                         cj.State = "1"; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         cj.State = "Z"; | |||
|  | 
 | |||
|  |                     } | |||
|  |                     BLL.JointCheckService.UpdateJointCheckForApi(cj); | |||
|  |                 } else | |||
|  |                 { | |||
|  |                     cj.State = "1"; | |||
|  |                     BLL.JointCheckService.UpdateJointCheckForApi(cj); | |||
|  |                 } | |||
|  |                 res.resultValue = BLL.JointCheckApproveService.AddJointCheckApproveForApi(approve); | |||
|  | 
 | |||
|  |             } | |||
|  |             catch (Exception e) | |||
|  |             { | |||
|  |                 res.successful = false; | |||
|  |                 res.resultValue = e.Message; | |||
|  |             } | |||
|  |             res.successful = true; | |||
|  |             return res; | |||
|  | 
 | |||
|  |         } | |||
|  |         [HttpPost] | |||
|  |         public ResponseData<string> UpdateApprove([FromBody]Model.Check_JointCheckApprove approve) | |||
|  |         { | |||
|  |             ResponseData<string> res = new ResponseData<string>(); | |||
|  |             try | |||
|  |             { | |||
|  |                 approve.ApproveDate = DateTime.Now; | |||
|  |                 var resApprove = BLL.JointCheckApproveService.UpdateJointCheckApproveForApi(approve); | |||
|  | 
 | |||
|  |                 if (approve.ApproveType == "1") | |||
|  |                 { | |||
|  |                     var jointCheck = BLL.JointCheckService.GetJointCheckForApi(resApprove.JointCheckId); | |||
|  |                     var jointCheckDetails = BLL.JointCheckDetailService.getListDataForApi(resApprove.JointCheckId); | |||
|  |                     List<Model.Sys_User> seeUsers = new List<Model.Sys_User>(); | |||
|  |                     foreach (var a in jointCheckDetails) | |||
|  |                     { | |||
|  |                         a.JointCheckId = approve.JointCheckId; | |||
|  |                         if (string.IsNullOrEmpty(approve.JointCheckId)) | |||
|  |                         { | |||
|  |                             seeUsers.AddRange(BLL.UserService.GetSeeUserList2(jointCheck.ProjectId, jointCheck.UnitId, a.CNProfessionalCode, a.UnitWorkId.ToString(), approve.ApproveMan)); | |||
|  |                         } | |||
|  |                     } | |||
|  |                     if (string.IsNullOrEmpty(approve.JointCheckId)) | |||
|  |                     { | |||
|  |                         seeUsers = seeUsers.Distinct().ToList(); | |||
|  |                         foreach (var seeUser in seeUsers) | |||
|  |                         { | |||
|  |                             Model.Check_JointCheckApprove approves = new Model.Check_JointCheckApprove(); | |||
|  |                             approves.JointCheckId = approve.JointCheckId; | |||
|  |                             approves.ApproveMan = seeUser.UserId; | |||
|  |                             approves.ApproveType = "S"; | |||
|  |                             BLL.JointCheckApproveService.AddJointCheckApproveForApi(approve); | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             catch (Exception e) | |||
|  |             { | |||
|  |                 res.successful = false; | |||
|  |             } | |||
|  |             res.successful = true; | |||
|  |             return res; | |||
|  |         } | |||
|  |         [HttpGet] | |||
|  |         public ResponseData<string> see(string dataId, string userId) | |||
|  |         { | |||
|  |             ResponseData<string> res = new ResponseData<string>(); | |||
|  |             res.successful = true; | |||
|  |             BLL.JointCheckApproveService.See(dataId, userId); | |||
|  |             return res; | |||
|  |         } | |||
|  |     } | |||
|  | } |