protected void UpdateSalaryJC(Schema me, H3.SmartForm.SubmitSmartFormResponse response, string 工序名称, string 任务类别) { //JGJL=加工记录 //var 工序名称 = "精车"; var ID = me.PostValue("ID"); var scmJGJL = new Schema(me.Engine, "加工任务记录"); var rows = scmJGJL.ClearFilter() .And("ID", "=", ID) .And("工序名称", "=", 工序名称) .And("检验结果", "=", "合格") .GetList(); foreach (var row in rows) { scmJGJL.CurrentRow = row; var 单件拟定工时 = Convert.ToDouble(scmJGJL.Cell("单件拟定工时")); var 加工数量 = Convert.ToDouble(scmJGJL.Cell("加工数量")); var 工价 = 28; var 加工难度 = 1; var 加工人员 = scmJGJL.Cell("加工人员"); var 设备名称 = scmJGJL.Cell("设备名称"); var 部门名称 = scmJGJL.Cell("部门名称"); var 检验结果 = scmJGJL.Cell("检验结果"); var 任务名称 = scmJGJL.Cell("任务名称"); var 总工时 = 单件拟定工时 * 加工数量; var 计件工资 = 总工时 * 工价 * 加工难度; var 工艺下屑重量 = Convert.ToDouble(scmJGJL.Cell("工艺下屑重量")); var 总下屑量 = 工艺下屑重量 * 加工数量;//* 分配比例; var 补刀金额 = 计件工资 * 0.0875; var 总工作量 = 0; var scmGZ = new Schema(me.Engine, "任务绩效表"); scmGZ.GetNew(); scmGZ.CellAny("工序名称", 工序名称); scmGZ.CellAny("任务名称", 任务名称); scmGZ.CellAny("ID", ID); scmGZ.CellAny("检验结果", 检验结果); scmGZ.CellAny("加工人员", 加工人员); scmGZ.CellAny("部门名称", 部门名称); scmGZ.CellAny("设备名称", 设备名称); scmGZ.CellAny("单件拟定工时", 单件拟定工时); scmGZ.CellAny("加工数量", 加工数量); scmGZ.CellAny("总工时", 总工时); scmGZ.CellAny("工价", 工价); scmGZ.CellAny("计件工资", 计件工资); scmGZ.CellAny("工艺下屑重量", 工艺下屑重量); scmGZ.CellAny("总下屑量", 总下屑量); scmGZ.CellAny("总工作量", 总工作量); scmGZ.CellAny("补刀金额", 补刀金额); scmGZ.Create(true); } }
/* * <summary> * 关于发起异常之后节点的显示与隐藏,包含“确认调整意见”,“审批确认”节点。 * Param: Schema me 本参数是本工序表单的对象 * 方法的入口参数; * Version:1.0 * Date:2021/6/9 * Author:zzx * </summary> */ protected void abnormalStep(string code, H3.SmartForm.SubmitSmartFormResponse response) { me.CurrentRow = this.Request.BizObject; var startException = me["发起异常"] + string.Empty; if (startException == "是") { //createLog(me, postValue); } if (code == "Activity55") { //updateLog(me, postValue); } if (code == "Activity56") { me["发起异常"] = "否"; me["异常描述"] = "操作错误,重新选择节点"; me["异常类别"] = "安全异常"; me.Update(false); } }
protected void AutoUpdateTask(Schema me, H3.SmartForm.SubmitSmartFormResponse response) { var row = me.GetRow(Request.BizObjectId); var 任务名称 = me.PostValue("任务名称"); if (任务名称 == null || 任务名称 == "") { 任务名称 = "第一次粗车"; } else if (任务名称 == "第一次粗车") { 任务名称 = "第二次粗车"; } else if (任务名称 == "第二次粗车") { 任务名称 = "第三次粗车"; } else if (任务名称 == "第三次粗车") { 任务名称 = "第四次粗车"; } }
//权限检测,与派工有关 //备用暂不用。 protected void AutherCheck(H3.SmartForm.SubmitSmartFormResponse response) { try { bool flag = false; //是否发起异常 string YesNo = this.Request.BizObject["F0000075"] as string; if (YesNo != "否") { return; }//是否发起异常 string Active = this.Request.ActivityCode; //待上机节点 if (Active == "Activity14") { //ID //H3.DataModel.BizObject ABCD = FormTools.GetABCD(); //粗车人员 //string[] ABCDWorkers = ((string[])ABCD["F0000129"]); //string thePat = this.Request.WorkItem.Participant; //foreach (string item in ABCDWorkers) //{ // if (item == thePat) // { // flag = true; // } //} //if (!flag) //{ // response.Message = "本工件加工权限已修改,无此工件的加工权限"; //} } } catch (Exception ex) { response.Errors.Add("ABCD工序计划内无此对象"); } }
/* * <summary> * 关于发起异常之后节点的显示与隐藏,包含“确认调整意见”,“审批确认”节点。 * Param: Schema me 本参数是本工序表单的对象 * 方法的入口参数; * Version:1.0 * Date:2021/6/9 * Author:zzx * </summary> */ protected void abnormalStep(Schema me, H3.SmartForm.SmartFormPostValue postValue, H3.SmartForm.SubmitSmartFormResponse response) { var row = me.GetRow(this.Request.BizObjectId); // var postValue = me.CurrentPostValue; var Code = this.Request.ActivityCode; var actName = this.Request.ActivityTemplate.DisplayName; //发起异常 var startException = this.Request.BizObject["F0000045"] + string.Empty; if (startException == "是") { createLog(me, postValue); } if (Code == "Activity87") { updateLog(me, postValue); } if (Code == "Activity88") { me.Cell("发起异常", "否"); // me.Cell("转至工步", "待转运 "); me.Cell("异常描述", "操作错误,重新选择节点 "); me.Cell("异常类别", "安全异常 "); me.Update(false); } }
protected override void OnSubmit(string actionName, H3.SmartForm.SmartFormPostValue postValue, H3.SmartForm.SubmitSmartFormResponse response) { me.CurrentPostValue = postValue; string activityCode = this.Request.ActivityCode; //活动节点编码 if (activityCode == ActivityRK && actionName == "Submit") { dp.FillPerson(me, ProcessName); } if (activityCode == ActivityXJ && actionName == "Submit") { dp.FillPerson(me, ProcessName); } if (activityCode == ActivitySJ && actionName == "Submit") { me["工人"] = this.Request.ParticipantId; } updatePR(activityCode, actionName); //发起异常 是 if (me["发起异常"] == "是") { me["OwnerId"] = this.Request.UserContext.UserId; } base.OnSubmit(actionName, postValue, response); //多阶段加工新方案升级机加工任务记录 UpdateRecordForm(actionName, activityCode); if (activityCode == ActivityJY && actionName == "Submit") { Salary slr = new Salary(me.Engine, me.PostValue("ID")); slr.Save(ProcessName, false); } abnormalStep(me, postValue, response); }
protected void UpdateSalaryCC(Schema me, H3.SmartForm.SubmitSmartFormResponse response, string 工序名称, string 任务类别) { //JGJL=加工记录 //var 工序名称 = "粗车"; var ID = me.PostValue("ID"); var scmJGJL = new Schema(me.Engine, "加工任务记录"); var rows = scmJGJL.ClearFilter() .And("ID", "=", ID) .And("工序名称", "=", 工序名称) .And("检验结果", "=", "合格") .GetList(); foreach (var row in rows) { scmJGJL.CurrentRow = row; var 单件拟定工时 = Convert.ToDouble(scmJGJL.Cell("单件拟定工时")); var 加工数量 = Convert.ToDouble(scmJGJL.Cell("加工数量")); var 工价 = 28; var 加工难度 = 1; var 加工人员 = scmJGJL.Cell("加工人员"); var 设备名称 = scmJGJL.Cell("设备名称"); var 部门名称 = scmJGJL.Cell("部门名称"); var 检验结果 = scmJGJL.Cell("检验结果"); var 任务名称 = scmJGJL.Cell("任务名称"); var 总工时 = 单件拟定工时 * 加工数量; var 总工资 = 总工时 * 工价 * 加工难度; var 分配比例 = 1.0; var smRow = scmJGJL.ClearFilter() .And("ID", "=", ID) .And("工序名称", "=", 工序名称) .And("任务名称", "=", "四面见光") .GetFirst(); if (smRow != null) { 分配比例 = 0.8; } var 工艺下屑重量 = Convert.ToDouble(scmJGJL.Cell("工艺下屑重量")); var 总下屑量 = 工艺下屑重量 * 加工数量 * 分配比例; var 外径 = Convert.ToDouble(scmJGJL.Cell("外径")); var 补助标准 = 外径 >= 0 && 外径 < 4000 ? 18 : (外径 >= 4000 && 外径 < 5000 ? 23 : (外径 >= 5000 && 外径 < 6000 ? 30 : 30)); var 补刀金额 = 补助标准 * 总下屑量 / 1000; var 总工作量 = 0; var scmGZ = new Schema(me.Engine, "任务绩效表"); scmGZ.GetNew(); scmGZ.CellAny("工序名称", 工序名称); scmGZ.CellAny("任务名称", 任务名称); scmGZ.CellAny("ID", ID); scmGZ.CellAny("检验结果", 检验结果); scmGZ.CellAny("加工人员", 加工人员); scmGZ.CellAny("部门名称", 部门名称); scmGZ.CellAny("设备名称", 设备名称); scmGZ.CellAny("单件拟定工时", 单件拟定工时); scmGZ.CellAny("总工时", 总工时); scmGZ.CellAny("加工数量", 加工数量); scmGZ.CellAny("工价", 工价); scmGZ.CellAny("总工资", 总工资); scmGZ.CellAny("工艺下屑重量", 工艺下屑重量); scmGZ.CellAny("总下屑量", 总下屑量); scmGZ.CellAny("总工作量", 总工作量); scmGZ.CellAny("补刀金额", 补刀金额); scmGZ.Create(true); } }
protected void UpdateSalary(Schema me, H3.SmartForm.SubmitSmartFormResponse response, string 任务名称) { var 工序名称 = me.PostValue("当前工序"); //var 任务名称 = me.PostValue("任务名称"); var 订单号 = me.PostValue("订单号"); var 产品编号 = me.PostValue("订单规格号"); var 规格号 = 产品编号.Split('-')[1]; var 工件号 = me.PostValue("工件号"); var 轧制方式 = me.PostValue("轧制方式"); var 加工者 = me.PostValue("第一加工者"); var 加工设备 = me.PostValue("第一设备"); var 设备类型 = me.PostValue("设备类型1"); var 加工数量 = Convert.ToDouble(me.PostValue("加工量1")); var pro = new ProductTime(me.Engine); var 拟定工时 = pro.GetTime(订单号, 规格号, 工件号, 设备类型, "粗车", 轧制方式); var 工价 = 28.0; var 粗车工资 = 拟定工时 * 加工数量 * 工价 * 1.0; var slyScm = new Schema(me.Engine, "任务绩效表"); var smRow = slyScm.ClearFilter() .And("产品编号", "=", 产品编号) .And("工件号", "=", 工件号) .And("工序名称", "=", 工序名称) .And("任务名称", "=", "四面见光") .GetFirst(); var 分配比例 = 1.0; if (smRow != null) { 分配比例 = 0.8; } var 工艺下屑重量 = pro.Dust; var 实际下屑重量 = 工艺下屑重量 * 加工数量 * 分配比例; var 实际用时 = 拟定工时 * 加工数量; var 外径 = pro.OutsideDiameter; var 补助标准 = 外径 >= 0 && 外径 < 4000 ? 18 : (外径 >= 4000 && 外径 < 5000 ? 23 : (外径 >= 5000 && 外径 < 6000 ? 30 : 30)); var 补刀金额 = 补助标准 * 实际下屑重量 / 1000; //粗车补刀金额 var existRow = slyScm.ClearFilter() .And("产品编号", "=", 产品编号) .And("工件号", "=", 工件号) .And("工序名称", "=", 工序名称) .And("任务名称", "=", 任务名称) .GetFirst(); if (existRow == null) { slyScm.GetNew(); } slyScm.Cell("工序名称", 工序名称); slyScm.Cell("任务名称", 任务名称); slyScm.Cell("产品编号", 产品编号); slyScm.Cell("工件号", 工件号); slyScm.Cell("加工者", 加工者); slyScm.Cell("加工设备", 加工设备); slyScm.CellAny("拟定工时", 拟定工时); slyScm.CellAny("实际用时", 实际用时); slyScm.CellAny("加工数量", 加工数量); slyScm.CellAny("工价", 工价); slyScm.CellAny("工资", 粗车工资); slyScm.CellAny("工艺下屑重量", 工艺下屑重量); slyScm.CellAny("实际下屑重量", 实际下屑重量); slyScm.CellAny("补刀金额", 补刀金额); if (existRow == null) { slyScm.Create(true); } else { slyScm.Update(true); } //switch (工价) //{ // case 分配比例: // break; // default: // break; //} }
protected override void OnSubmit(string actionName, H3.SmartForm.SmartFormPostValue postValue, H3.SmartForm.SubmitSmartFormResponse response) { me.CurrentPostValue = postValue; string code = this.Request.ActivityCode; //活动节点编码 updatePR(code, actionName); if (code == ActivityRK && actionName == ActionSubmit) { dp.FillPerson(me, ProcessName); } if (code == ActivityXJ && actionName == ActionSubmit) { dp.FillPerson(me, ProcessName); } if (code == ActivitySJ && actionName == ActionSubmit) { me["工人"] = this.Request.ParticipantId; //this.Request.BizObject[F0000073]=this.Request.ParticipantId; } base.OnSubmit(actionName, postValue, response); //多阶段加工新方案升级机加工任务记录 UpdateRecordForm(actionName, code); if (code == ActivityJY && actionName == "Submit") { Salary slr = new Salary(me.Engine, me.PostValue("ID")); slr.Save(ProcessName, false); } //异常工步节点日志 abnormalStep(code, response); }
protected override void OnSubmit(string actionName, H3.SmartForm.SmartFormPostValue postValue, H3.SmartForm.SubmitSmartFormResponse response) { me.CurrentPostValue = postValue; mustHaveAName(actionName, postValue, response); updatePR(activityCode, actionName); me.CurrentRow = this.Request.BizObject; Dispatcher(activityCode, actionName); ProcessRecord(activityCode, actionName);//加工记录 base.OnSubmit(actionName, postValue, response); //多阶段加工新方案升级机加工任务记录 UpdateRecordForm(actionName, activityCode); if (activityCode == ActivityJY && actionName == "Submit") { Salary slr = new Salary(me.Engine, me.PostValue("ID")); slr.Save(ProcessName); slr.Save("四面光"); } abnormalStep(me, postValue, response); }
private void mustHaveAName(string actionName, H3.SmartForm.SmartFormPostValue postValue, H3.SmartForm.SubmitSmartFormResponse response) { if (this.Request.BizObject["F0000075"] == "是") { this.Request.BizObject["OwnerId"] = this.Request.UserContext.UserId; } }
/* * <summary> * 关于发起异常之后节点中内容的显示与隐藏及默认值,包含“确认调整意见”,“审批确认”节点。 * Param: Schema me 本参数是本工序表单的对象 * 方法的入口参数; * Version:1.0 * Date:2021/6/9 * Author:zzx */ protected void abnormalStep(Schema me, H3.SmartForm.SmartFormPostValue postValue, H3.SmartForm.SubmitSmartFormResponse response) { var row = me.GetRow(this.Request.BizObjectId); // var postValue = me.CurrentPostValue; var Code = this.Request.ActivityCode; var actName = this.Request.ActivityTemplate.DisplayName; //发起异常 var startException = this.Request.BizObject["F0000075"] + string.Empty; if (startException == "是") { createLog(me, postValue); } if (Code == "Activity92") //??? { createLog(me, postValue); } if (Code == "Activity93") { me["发起异常"] = "否"; me["异常描述"] = "操作错误,重新选择节点"; me["异常类别"] = "安全异常"; me.Update(false); } }