Пример #1
0
    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);
        }
    }
Пример #2
0
    /*
     * <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);
        }
    }
Пример #3
0
    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 (任务名称 == "第三次粗车")
        {
            任务名称 = "第四次粗车";
        }
    }
Пример #4
0
    //权限检测,与派工有关 //备用暂不用。
    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工序计划内无此对象");
        }
    }
Пример #5
0
    /*
     * <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);
        }
    }
Пример #6
0
    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);
    }
Пример #7
0
    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);
        }
    }
Пример #8
0
    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;
        //}
    }
Пример #9
0
    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);
    }
Пример #10
0
    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);
    }
Пример #11
0
 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;
     }
 }
Пример #12
0
    /*
     * <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);
        }
    }