コード例 #1
0
    // 单据退回
    public String returnDocument()
    {
        String   docCode = Request.Params["docCode"];
        UserInfo user    = (UserInfo)Session["user"];

        return(ApprovalFlowManage.returnDocument("net_sales", docCode, user));
    }
コード例 #2
0
    private string approval()
    {
        string   id             = Request.Form["docCode"];
        string   approvalResult = Request.Form["approvalResult"];
        UserInfo userInfo       = (UserInfo)Session["user"];
        string   msg            = ApprovalFlowManage.ApproveDocument("demand_apply_report", id, userInfo, approvalResult, "",
                                                                     "http://yelioa.top//mDemandApplyReportApproval.aspx?type=0&docCode=" + id, "http://yelioa.top//mDemandApplyReportAppRoval.aspx?type=1&docCode=" + id, "http://yelioa.top/mDemandApplyReport.aspx",
                                                                     "AirlZ8lfY50d1KGDklHPQcLV2RUFAdrhD-WXU23cA-w", "DemandApplyReport", "1000013");

        if (msg == "审批流程结束")
        {
            if (!ApprovalFlowManage.EndDemandApprove(id).Contains("操作成功"))
            {
                msg += ",添加审批时间失败";
            }

            // 把数据添加到货需日表中
            string insertSql = string.Format("insert into purchase_daily_report (docNo,batchNo,date,code,purchaseNumber) " +
                                             "values ('{0}','',now(),(select productCode code from demand_apply_report where id = '{0}'),(select deliverNumber purchaseNumber from demand_apply_report where id = '{0}'))", id);

            SqlHelper.Exce(insertSql);
        }
        JObject jObject = new JObject();

        jObject.Add("msg", jObject);
        return(jObject.ToString());
    }
コード例 #3
0
    private string returnReimburse()
    {
        string   docCode  = Request.Form["docCode"];
        UserInfo userInfo = (UserInfo)Session["user"];

        ApprovalFlowManage.returnDocument("yl_reimburse", docCode, userInfo);
        return(null);
    }
コード例 #4
0
    private String submitNetSalesNumOfReportSales()
    {
        String   docCode = Request.Form["docCode"];
        UserInfo user    = (UserInfo)Session["user"];

        return(ApprovalFlowManage.SubmitDocument("net_sales", docCode, user,
                                                 "http://yelioa.top/mNetSalesApproval.aspx?type=others", "http://yelioa.top/mNetSalesApproval.aspx?type=mine",
                                                 "PyO4Il3bIxyuFquBAGrrr76GVcUbIN5NPpxNGAja-4U", "netSales", "1000002"));
    }
コード例 #5
0
    // 开始审批
    private String beginApproval()
    {
        UserInfo user             = (UserInfo)Session["user"];
        String   approvalResult   = Request.Form["ApprovalResult"].ToString();
        String   approvalOpinions = Request.Form["ApprovalOpinions"].ToString();
        String   docCodes         = Request.Form["docCodes[]"] != null ?
                                    Request.Form["docCodes[]"].ToString() : Request.Form["docCodes"].ToString();

        String[] docCodeArray = docCodes.Split(',');
        String   netSalesNum  = Request.Form["netSalesNum"].ToString();

        if (docCodeArray.Length < 1)
        {
            return("单据为空,无法进行审批");
        }
        string msg = "";

        for (int i = 0; i < docCodeArray.Length; i++)
        {
            String docCode   = docCodeArray[i];
            String returnMsg = ApprovalFlowManage.ApproveDocument("net_sales", docCode, user, approvalResult, approvalOpinions,
                                                                  "http://yelioa.top/mNetSalesApproval.aspx?type=mine", "http://yelioa.top/mNetSalesApproval.aspx?type=his", "http://yelioa.top/mNetSalesUpload.aspx",
                                                                  "PyO4Il3bIxyuFquBAGrrr76GVcUbIN5NPpxNGAja-4U", "netSales", "1000002");
            if (i != 0)
            {
                msg += ",";
            }
            if (returnMsg.Contains("出错"))
            {
                msg += ("单号为" + docCode + "的单据审批出错");
            }
            else if (returnMsg.Contains("结束"))
            {
                // 审批流程结束后,需要把纯销数据更新到flow_statistic表中
                string tempMsg = NetSalesInfoSrv.updateNetSalesAndStockAfterApproval(docCode);

                if ("更新成功".Equals(tempMsg))
                {
                    msg += ("单号为" + docCode + "的单据审批流程结束");
                }
                else
                {
                    msg += ("单号为" + docCode + "的单据审批流程结束失败!");
                }
            }
            else if ("当前用户无审批权限!".Equals(returnMsg))
            {
                msg += ("单号为" + docCode + "的单据已被其他人审批,请知悉!");
            }
            else
            {
                msg += ("单号为" + docCode + "的单据审批成功");
            }
        }
        return(msg);
    }
コード例 #6
0
    private string approval()
    {
        string   id             = Request.Form["docCode"];
        string   approvalResult = Request.Form["approvalResult"];
        UserInfo userInfo       = (UserInfo)Session["user"];
        string   msg            = ApprovalFlowManage.ApproveDocument("deliver_apply_report", id, userInfo, approvalResult, "",
                                                                     "http://yelioa.top//mDeliverApplyReportAppRoval.aspx?type=0&docCode=" + id, "http://yelioa.top//mDeliverApplyReportAppRoval.aspx?type=1&docCode=" + id, "http://yelioa.top/mDeliverApplyReport.aspx",
                                                                     "vvsnJs9JYf8AisLWOE4idJbdR1QGc7roIcUtN6P2Lhc", "DeliverApplyReport", "1000009");

        if (msg == "审批流程结束")
        {
            if (!ApprovalFlowManage.EndDeliverApprove(id).Contains("操作成功"))
            {
                msg += ",添加审批时间失败";
            }
        }
        JObject jObject = new JObject();

        jObject.Add("msg", jObject);
        return(jObject.ToString());
    }
コード例 #7
0
    private string approve()
    {
        UserInfo userInfo = (UserInfo)Session["user"];

        string type    = Request.Form["type"];
        string result  = Request.Form["result"];
        string opinion = Request.Form["opinion"];
        string docCode = Request.Form["docCode"];

        JObject jobject = new JObject
        {
            { "msg", "ok" },
            { "code", 200 },
        };

        // 首先判断是否有权限审批 防止重复点击
        string sql = string.Format("select 1 from {1} t1 left join approval_approver t2 on t1.docCode = t2.docCode and (t1.level = t2.level) " +
                                   "left join users t3 on t2.approverId = t3.userId where t2.approverId = '{0}' and t1.status = '审批中' and t1.docCode = '{2}'", userInfo.userId.ToString(), type, docCode);

        DataSet ds = SqlHelper.Find(sql);

        if (ds.Tables[0].Rows.Count == 0)
        {
            jobject["msg"]  = "没有权限审批";
            jobject["code"] = 500;

            return(jobject.ToString());
        }

        string msg = ApprovalFlowManage.ApproveDocument(type, docCode, userInfo, result, opinion,
                                                        "http://yelioa.top/mCompanyFee.aspx", "http://yelioa.top/mCompanyFeeApproval.aspx",
                                                        "http://yelioa.top/mCompanyFee.aspx", "vbmKxak1-a5Ty1cEBJzUFa1OR9f0V4Yh5j0sJq2-e9o", "mCompanyFeeApproval", "1000023");

        jobject["msg"] = msg;

        return(jobject.ToString());
    }
コード例 #8
0
    private string approvalReimburse()
    {
        string docCode          = Request.Form["docCode"];
        string ApprovalResult   = Request.Form["ApprovalResult"];
        string ApprovalOpinions = Request.Form["ApprovalOpinions"];

        UserInfo userInfo = (UserInfo)Session["user"];

        string    sql  = "select * from yl_reimburse where id = " + docCode;
        DataTable dt   = SqlHelper.Find(sql).Tables[0];
        string    code = dt.Rows[0]["code"].ToString();

        // 查询这一级的审批人是否是该用户
        DataSet checkApproverDt = ReimbursementManage.checkApprover(code, userInfo.userId.ToString());

        string msg = "";

        if (checkApproverDt == null || checkApproverDt.Tables[0] == null ||
            checkApproverDt.Tables[0].Columns.Count == 0 || checkApproverDt.Tables[0].Rows.Count == 0)
        {
            msg = "当前用户无审批权限";
            return(JsonHelper.SerializeObject(msg));
        }

        //// 若提交时间超过当月25号 则不允许审批
        // DateTime submitTime = Convert.ToDateTime(dt.Rows[0]["apply_time"]);
        // DateTime theTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-25" + " 00:00:00");

        // if (submitTime > theTime)
        // {
        //     msg = "该单据超过25号提交,暂无法审批!";
        //     return JsonHelper.SerializeObject(msg);
        // }

        //if (ApprovalResult == "同意" && dt.Rows[0]["IsOverBudget"].ToString() != "1")
        //{
        //    JObject j = ReimbursementManage.IsOverBudget(dt.Rows[0]["fee_department"].ToString(), dt.Rows[0]["fee_detail"].ToString(), Convert.ToDouble(dt.Rows[0]["fee_amount"].ToString()), DateTime.Now);

        //    if (msg.Contains("预算余额不足"))
        //    {
        //        return JsonHelper.SerializeObject(msg);
        //    }
        //}
        if (ApprovalResult == "同意" && dt.Rows[0]["isOverBudget"].ToString() != "1")
        {
            JObject res = ReimbursementManage.IsOverBudget(dt.Rows[0]["fee_department"].ToString(), dt.Rows[0]["fee_detail"].ToString(), Convert.ToDouble(dt.Rows[0]["fee_amount"].ToString())
                                                           , Convert.ToDateTime(dt.Rows[0]["apply_time"].ToString()));

            if (res == null || Convert.ToDouble(res["budget"]) < Convert.ToDouble(res["hasApprove"]) + Convert.ToDouble(dt.Rows[0]["fee_amount"].ToString()))
            {
                return(JsonHelper.SerializeObject("预算余额不足"));
            }
        }

        msg = ApprovalFlowManage.ApproveDocument("yl_reimburse", docCode, userInfo, ApprovalResult, ApprovalOpinions,
                                                 "http://yelioa.top/mMySubmittedReimburse.aspx?docCode=" + code, "http://yelioa.top/mMobileReimbursement.aspx?docCode=" + code, "http://yelioa.top/mMySubmittedReimburse.aspx?docCode=" + code, "UM0i5TXSIqQIOWk-DmUlfTqBqvZAfbZdGGDKiFZ-nRk", "yl_reimburse", "1000006");

        if ("审批流程结束".Equals(msg) || "审批拒绝!".Equals(msg))
        {
            // 清除approval_process表中内容
            MobileReimburseManage.clearApprovalProcess(docCode);
            // 更新审批时间
            MobileReimburseManage.updateApprovalTimeAndResultAndOpinion(docCode, ApprovalResult, ApprovalOpinions);

            // 删除关联差旅申请
            sql += string.Format("delete from wf_form_差旅申请 where reimburseCode = '{0}';", code);

            // 删除关联借款单 并把借款单的金额还原
            dt = SqlHelper.Find(string.Format("select * from yl_reimburse_loan where ReimburseCode = '{0}'", code)).Tables[0];

            sql += string.Format("delete from yl_reimburse_loan where ReimburseCode = '{0}';", code);

            foreach (DataRow dr in dt.Rows)
            {
                decimal amount   = Decimal.Parse(dr["amount"].ToString());
                string  tempCode = dr["docCode"].ToString();

                sql += string.Format("update wf_form_借款单 set remainAmount = remainAmount + {0} where docCode = '{1}';", amount, tempCode);
            }
            SqlHelper.Exce(sql);
        }
        return(JsonHelper.SerializeObject(msg));
    }
コード例 #9
0
    public static string insertDemandApplyReport(string hospitalName, string netSales, string stock,
                                                 string productName, string agentName, string spec, string unit, string applyNumber, string remark, UserInfo userInfo, List <string> approverList, List <string> informerList)
    {
        // 通过产品名 规格 单位来确定产品代码
        DataSet productDs = DemandApplyReportSrv.findProductCode(productName, spec, unit);

        string productCode = "";

        if (productDs != null && productDs.Tables[0].Rows.Count > 0)
        {
            productCode = productDs.Tables[0].Rows[0][0].ToString();
        }

        // 通过医院名来确定医院代码
        DataSet hospitalDs = DemandApplyReportSrv.findHospitalCode(hospitalName);

        string hospitalCode = "";

        if (hospitalDs != null && hospitalDs.Tables[0].Rows.Count > 0)
        {
            hospitalCode = hospitalDs.Tables[0].Rows[0][0].ToString();
        }

        // 通过代理商名称来确定代理商编码
        DataSet agentDs = DeliverApplyReportSrv.findAgentCode(agentName);

        string agentCode = "";

        if (agentDs != null && agentDs.Tables[0].Rows.Count > 0)
        {
            agentCode = agentDs.Tables[0].Rows[0][0].ToString();
        }

        string data = DemandApplyReportSrv.insertDemandApplyReport(hospitalCode, productCode, agentCode, applyNumber, remark, userInfo, netSales, stock);
        string id   = JsonHelper.DeserializeJsonToObject <JObject>(data)["Id"].ToString();

        // 新增审批人到审批流程表中
        List <JObject> list = new List <JObject>();

        for (int i = 0; i < approverList.Count; i++)
        {
            JObject jO = new JObject();
            jO.Add("index", i);
            jO.Add("userId", approverList[i]);

            list.Add(jO);
        }

        MobileReimburseSrv.insertApprovalProcess(id, list, "demand_apply_report");

        DataSet maxIdDt = DemandApplyReportSrv.findMaxId();
        string  docCode = maxIdDt.Tables[0].Rows[0][0].ToString();

        // 审批单提交
        ApprovalFlowManage.SubmitDocument("demand_apply_report", docCode, userInfo,
                                          "http://yelioa.top//mDemandApplyReportAppRoval.aspx?type=0&docCode=" + docCode, "http://yelioa.top//mDemandApplyReportAppRoval.aspx?type=1&docCode=" + docCode,
                                          "AirlZ8lfY50d1KGDklHPQcLV2RUFAdrhD-WXU23cA-w", "DemandApplyReport", "1000013");

        // 新增知悉人到表
        DemandApplyReportSrv.insertInformer(docCode, informerList);

        return("提交成功");
    }
コード例 #10
0
    //public static string findSpecAndUnit(string name)
    //{
    //    DataSet ds = DeliverApplyReportSrv.findSpecAndUnit(name);

    //    if (ds == null || ds.Tables[0].Rows.Count == 0)
    //        return null;

    //    DataTable specDt = new DataTable();
    //    specDt.Columns.Add("value", Type.GetType("System.String"));
    //    specDt.Columns.Add("target", Type.GetType("System.String"));

    //    DataTable unitDt = new DataTable();
    //    unitDt.Columns.Add("value", Type.GetType("System.String"));
    //    unitDt.Columns.Add("target", Type.GetType("System.String"));

    //    List<string> specList = new List<string>();
    //    List<string> unitList = new List<string>();

    //    foreach (DataRow row in ds.Tables[0].Rows)
    //    {
    //        if (row["specification"] != null && !specList.Contains(row["specification"].ToString()))
    //        {
    //            DataRow specDr = specDt.NewRow();
    //            specDr["value"] = row["specification"];
    //            specDr["target"] = row["specification"];

    //            specDt.Rows.Add(specDr);

    //            specList.Add(row["specification"].ToString());
    //        }

    //        if (row["unit"] != null && !unitList.Contains(row["unit"].ToString()))
    //        {
    //            DataRow unitDr = unitDt.NewRow();
    //            unitDr["value"] = row["unit"];
    //            unitDr["target"] = row["unit"];

    //            unitDt.Rows.Add(unitDr);

    //            unitList.Add(row["unit"].ToString());
    //        }
    //    }

    //    JObject jObject = new JObject();

    //    jObject.Add("specJson", JsonHelper.DataTable2Json(specDt));
    //    jObject.Add("unitJson", JsonHelper.DataTable2Json(unitDt));

    //    return jObject.ToString();
    //}

    public static string insertDeliverApplyReport(string deliverType, string hospitalName,
                                                  string productName, string agentName, string spec, string unit, string applyNumber, string remark, UserInfo userInfo,
                                                  List <string> approverList, List <string> informerList, List <string> uploadFileUrlsList,
                                                  string stock, string netSales, string period, string isStockReceiptTogether, string deliverAddress, string deliverName, string deliverPhone)
    {
        // 通过产品名 规格 单位来确定产品代码
        DataSet productDs = DeliverApplyReportSrv.findProductCode(productName, spec, unit);

        string productCode = "";

        if (productDs != null && productDs.Tables[0].Rows.Count > 0)
        {
            productCode = productDs.Tables[0].Rows[0][0].ToString();
        }

        // 通过医院名来确定医院代码
        DataSet hospitalDs = DeliverApplyReportSrv.findHospitalCode(hospitalName);

        string hospitalCode = "";

        if (hospitalDs != null && hospitalDs.Tables[0].Rows.Count > 0)
        {
            hospitalCode = hospitalDs.Tables[0].Rows[0][0].ToString();
        }

        // 通过代理商名称来确定代理商编码
        DataSet agentDs = DeliverApplyReportSrv.findAgentCode(agentName);

        string agentCode = "";

        if (agentDs != null && agentDs.Tables[0].Rows.Count > 0)
        {
            agentCode = agentDs.Tables[0].Rows[0][0].ToString();
        }

        string data = DeliverApplyReportSrv.insertDeliverApplyReport(deliverType, hospitalCode, productCode, agentCode, applyNumber,
                                                                     remark, userInfo, stock, netSales, period, isStockReceiptTogether, deliverAddress, deliverName, deliverPhone);

        string id = JsonHelper.DeserializeJsonToObject <JObject>(data)["Id"].ToString();

        // 新增审批人到审批流程表中
        List <JObject> list = new List <JObject>();

        if (Double.Parse(applyNumber) > ((Double.Parse(netSales) / 30 * Double.Parse(period)) - Double.Parse(stock)))
        {
            approverList.Insert(1, "100000645");
        }

        for (int i = 0; i < approverList.Count; i++)
        {
            JObject jO = new JObject();

            jO.Add("index", i);
            jO.Add("userId", approverList[i]);

            list.Add(jO);
        }

        MobileReimburseSrv.insertApprovalProcess(id, list, "deliver_apply_report");

        // 审批单提交
        ApprovalFlowManage.SubmitDocument("deliver_apply_report", id, userInfo,
                                          "http://yelioa.top//mDeliverApplyReportAppRoval.aspx?type=0&docCode=" + id, "http://yelioa.top//mDeliverApplyReportAppRoval.aspx?type=1&docCode=" + id,
                                          "vvsnJs9JYf8AisLWOE4idJbdR1QGc7roIcUtN6P2Lhc", "DeliverApplyReport", "1000009");

        // 新增知悉人到表
        DeliverApplyReportSrv.insertInformer(id, informerList);

        if (uploadFileUrlsList != null && uploadFileUrlsList.Count > 0)
        {
            DeliverApplyReportSrv.insertAttachement(id, uploadFileUrlsList);
        }

        //// 新增一条记录到审批记录表中
        //DeliverApplyReportSrv.insertDeliverAppyReportRecord("0", userInfo.wechatUserId, userInfo.wechatUserId, "发货申请单提交", "");

        //// 给待审批人发送消息
        //WxNetSalesHelper wxNetSalesHelper = new WxNetSalesHelper();

        //wxNetSalesHelper.GetJsonAndSendWxMsg(approverIds, "请及时审批 提交人为:" + userInfo.userName
        //    + "的发货申请单,谢谢!", "http://yelioa.top/mNetSalesApproval.aspx?type=others");
        //// 给提交人发送消息
        //wxNetSalesHelper.GetJsonAndSendWxMsg(userInfo.wechatUserId, "您的发货申请单已提交,请点击查看", "http://yelioa.top/mNetSalesApproval.aspx?type=mine");

        return("提交人");
    }