private void btnBatch_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow item in dataGridView1.SelectedRows)
            {
                if (item.Cells["单据状态"].Value.ToString() != "已完成")
                {
                    m_lnqDelivery         = new P_DeliveryInspection();
                    m_lnqDelivery.DJH     = item.Cells["单据号"].Value.ToString();
                    m_lnqDelivery.Verdict = "合格";
                    m_lnqDelivery.Remark  = txtRemark.Text;

                    if (!m_serverDeliveryInSpection.UpdateDeliveryInspection(m_lnqDelivery, out m_err))
                    {
                        MessageDialog.ShowPromptMessage(m_err);
                    }
                    else
                    {
                        string strStorage = "";

                        if (m_serverDeliveryInSpection.IsExamine(m_lnqDelivery.DJH, out strStorage))
                        {
                            m_billMessageServer.PassFlowMessage(m_lnqDelivery.DJH,
                                                                string.Format("{0} 号营销入库单,请仓管员确认", m_lnqDelivery.DJH),
                                                                m_billMessageServer.GetRoleStringForStorage(strStorage).ToString(), true);
                        }
                    }
                }
            }

            MessageDialog.ShowPromptMessage("执行成功");

            RefreshDataGirdView(m_serverDeliveryInSpection.GetDeliveryInspection(checkBillDateAndStatus1.dtpStartTime.Value,
                                                                                 checkBillDateAndStatus1.dtpEndTime.Value, checkBillDateAndStatus1.cmbBillStatus.Text));
        }
예제 #2
0
        /// <summary>
        /// 仓管确认事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAffirm_Click(object sender, EventArgs e)
        {
            if (m_intDJID != 0 && m_strDJZTFlag == "已检验")
            {
                DataTable dtTemp = (DataTable)dgv_Main.DataSource;

                for (int i = 0; i < dtTemp.Rows.Count; i++)
                {
                    if (!m_serverProductCode.IsFitCount(Convert.ToInt32(dtTemp.Rows[i]["CPID"]),
                                                        Convert.ToInt32(dtTemp.Rows[i]["Count"]), m_strDJH))
                    {
                        MessageBox.Show("请对产品设置流水号,并保证产品数量与流水号数一致", "提示");
                        return;
                    }
                }

                if (m_findSellIn.AffrimBill(m_intDJID, CE_MarketingType.退库, (DataTable)dgv_Main.DataSource, out m_err))
                {
                    MessageBox.Show("确认完毕!", "提示");

                    #region 发送知会消息

                    List <string> noticeRoles = new List <string>();

                    string strDept = m_serverDepartment.GetDeptInfoFromPersonnelInfo(
                        m_findSellIn.GetBill(m_strDJH, m_intDJID).Rows[0]["LRRY"].ToString()).Rows[0]["DepartmentCode"].ToString();

                    noticeRoles.AddRange(m_billMessageServer.GetDeptDirectorRoleName(strDept));
                    noticeRoles.Add(CE_RoleEnum.质量工程师.ToString());
                    noticeRoles.Add(m_billMessageServer.GetRoleStringForStorage(cmbStorage.Text).ToString());

                    m_billMessageServer.EndFlowMessage(txtSellID.Text,
                                                       string.Format("{0} 号营销退库单已经处理完毕", txtSellID.Text),
                                                       noticeRoles, null);

                    #endregion 发送知会消息

                    m_billNoControl.UseBill(txtSellID.Text);
                    this.Close();
                }
                else
                {
                    MessageDialog.ShowErrorMessage(m_err);
                    return;
                }
            }
            else if (m_intDJID != 0)
            {
                MessageBox.Show("请重新确认单据状态!", "提示");
                return;
            }
            else
            {
                MessageBox.Show("单据ID无效,请重新确认!", "提示");
                return;
            }
        }
        private void 批准通过ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lblBillStatus.Text == "等待财务批准")
            {
                UpdateStatus(lblBillStatus.Text);

                string msg = string.Format("{0} 号库房盘点单已由分管领导批准,请仓管确认", m_lnqCheck.DJH);

                m_billMessageServer.PassFlowMessage(m_lnqCheck.DJH, msg,
                                                    m_billMessageServer.GetRoleStringForStorage(cmbStorage.Text).ToString(), true);
            }
            else
            {
                MessageDialog.ShowPromptMessage("请重新确认单据状态");
            }
        }
        private void 批准退货ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!CheckSelectedRow())
            {
                return;
            }

            if (lblBillStatus.Text != MaterialRejectBillBillStatus.等待财务审核.ToString())
            {
                MessageDialog.ShowPromptMessage("请选择要财务审核的记录后再进行此操作");
                return;
            }

            string billNo = txtBill_ID.Text;

            if (!m_billServer.FinanceAuthorizeBill(billNo, BasicInfo.LoginName, out m_queryResult, out m_error))
            {
                MessageDialog.ShowErrorMessage(m_error);
                return;
            }

            MessageDialog.ShowPromptMessage("已经批准,等待仓管确认!");

            m_billMessageServer.PassFlowMessage(billNo, string.Format("【供应商】:{0}  【退货原因】: {1}   ※※※ 等待【仓管】处理",
                                                                      txtProvider.Text, txtReason.Text),
                                                m_billMessageServer.GetRoleStringForStorage(cmbStorage.Text));

            RefreshDataGridView(m_queryResult);

            PositioningRecord(billNo);
        }
예제 #5
0
        private void 批准通过ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lbDJZT.Text == "等待确认出库")
            {
                UpdateBill();

                #region 发送知会消息

                List <string> noticeRoles = new List <string>();


                string strDept = m_serverDepartment.GetDeptInfoFromPersonnelInfo(
                    m_serverUse.GetBill(m_lnqBill.DJH).SQR).Rows[0]["DepartmentCode"].ToString();
                noticeRoles.AddRange(m_billMessageServer.GetDeptDirectorRoleName(strDept));

                noticeRoles.Add(m_billMessageServer.GetRoleStringForStorage(cmbStorage.Text).ToString());

                m_msgPromulgator.EndFlowMessage(m_lnqBill.DJH,
                                                string.Format("{0} 号样品耗用单已经处理完毕", m_lnqBill.DJH),
                                                noticeRoles, null);

                #endregion 发送知会消息
            }
            else
            {
                MessageDialog.ShowPromptMessage("请重新确认单据状态");
                return;
            }
        }
예제 #6
0
        private void 批准退库ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!CheckSelectedRow())
            {
                return;
            }

            if (lblBillStatus.Text != MaterialReturnedInTheDepotBillStatus.等待质检批准.ToString())
            {
                MessageDialog.ShowPromptMessage("请选择要质检批准的记录后再进行此操作");
                return;
            }

            string billNo = txtBill_ID.Text;

            if (!m_billServer.QualityAuthorizeBill(billNo, BasicInfo.LoginName, out m_queryResult, out m_error))
            {
                MessageDialog.ShowErrorMessage(m_error);
                return;
            }

            MessageDialog.ShowPromptMessage("已经批准,等待仓管确认!");

            string msg = string.Format("【用途】:{0}  【退库类别】:{1} 【申请人】:{2}  ※※※ 等待【仓管员】处理",
                                       txtPurpose.Text, cmbType.Text, txtProposer.Text);

            PassFlowMessage(billNo, msg, m_billMessageServer.GetRoleStringForStorage(dataGridView1.CurrentRow.Cells["库房名称"].Value.ToString()));
            RefreshDataGridView(m_queryResult);
            PositioningRecord(billNo);
        }
        private void 单据审核ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lbDJZT.Text == "等待主管审核")
            {
                DataForMessage("等待主管审核");

                m_billMessageServer.PassFlowMessage(m_lnqIslation.DJH,
                                                    string.Format("{0}号不合格品隔离处置单已提交,请等待仓管调出",
                                                                  m_lnqIslation.DJH), m_billMessageServer.GetRoleStringForStorage(cmbStorage.Text).ToString(), true);
            }
            else
            {
                MessageBox.Show("请重新确认单据状态", "提示");
            }

            PositioningRecord(m_lnqIslation.DJH);
        }
예제 #8
0
        private void sQE处理结果提交ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow.Cells["单据状态"].Value.ToString() == "等待SQE处理")
            {
                if (!UpdateForBill())
                {
                    return;
                }

                m_billMessageServer.PassFlowMessage(m_lnqAffirm.DJH,
                                                    string.Format("{0} 号样品确认申请单,请仓管确认入库", m_lnqAffirm.DJH),
                                                    m_billMessageServer.GetRoleStringForStorage(m_lnqAffirm.StorageID).ToString(), true);
            }
            else
            {
                MessageDialog.ShowErrorMessage("请重新确认单据状态");
            }
        }
예제 #9
0
 /// <summary>
 /// 批准
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnCheck_Click(object sender, EventArgs e)
 {
     if (m_strDJZTFlag == "已检测")
     {
         if (m_serverCannibalize.CheckBill(txtSellID.Text,
                                           txtRemarkAll.Text, out m_err))
         {
             string msg = string.Format("{0} 号库房调拨单已由财务批准,请仓管确认", txtSellID.Text);
             m_billMessageServer.PassFlowMessage(txtSellID.Text, msg,
                                                 m_billMessageServer.GetRoleStringForStorage(cmbInStorage.Text).ToString(), true);
             MessageBox.Show("财务批准通过!", "提示");
             this.Close();
         }
     }
     else
     {
         MessageBox.Show("请重新确认单据状态", "提示");
     }
 }
        private void 检验结果提交ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lbDJZT.Text == "等待检验结果")
            {
                if (Convert.ToDecimal(txtDeclareCount.Text) !=
                    (decimal)NudQC_BF.Value
                    + (decimal)NudQC_HG.Value
                    + (decimal)NudQC_RB.Value
                    + (decimal)NudQC_TH.Value)
                {
                    MessageBox.Show("【合格数 + 让步数 + 退货数 + 报废数 = 挑返数】 请重新确认", "提示");
                    return;
                }

                View_S_CheckOutInDepotBill bill = m_serverCheckOutInDepot.GetBill(m_lnqReturn.InDepotBillID);
                DataForMessage();

                #region 发送知会消息

                List <string> noticeRoles = new List <string>();
                noticeRoles.Add(CE_RoleEnum.检验员.ToString());
                noticeRoles.Add(CE_RoleEnum.采购员.ToString());
                noticeRoles.Add(CE_RoleEnum.SQE组员.ToString());

                m_msgPromulgator.EndFlowMessage(dataGridView1.CurrentRow.Cells["单据号"].Value.ToString(),
                                                string.Format("{0} 号挑选返工返修单已经处理完毕",
                                                              dataGridView1.CurrentRow.Cells["单据号"].Value.ToString()),
                                                noticeRoles, null);

                StringBuilder sb = new StringBuilder();
                sb.AppendFormat("{0} 号报检入库单已经进行挑返, 等待仓库入库, ", txtBill_ID.Text);
                sb.AppendFormat("此单据涉及物品:(图号[{0}],名称[{1}],规格[{2}]", txtCode.Text, txtName.Text, txtSpec.Text);

                m_msgPromulgatorInDept.PassFlowMessage(m_lnqReturn.InDepotBillID, sb.ToString(),
                                                       m_msgPromulgator.GetRoleStringForStorage(bill.库房代码).ToString(), true);

                #endregion 发送知会消息
            }
            else
            {
                MessageBox.Show("请重新确认单据状态", "提示");
            }

            PositioningRecord(m_lnqReturn.DJH);
        }
        /// <summary>
        /// 修改关联的隔离单的单据状态
        /// </summary>
        /// <param name="context">数据上下文</param>
        /// <param name="billNo">退货单号</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>修改成功返回True,修改失败返回False</returns>
        private bool UpdateIsolationBillStatus(DepotManagementDataContext context, string billNo, out string error)
        {
            error = null;

            try
            {
                var varData1 = from a in context.S_MaterialListRejectBill
                               where a.Bill_ID == billNo
                               select a;

                foreach (S_MaterialListRejectBill item1 in varData1)
                {
                    var varData = from a in context.S_IsolationManageBill
                                  where a.GoodsID == item1.GoodsID &&
                                  a.BatchNo == item1.BatchNo &&
                                  a.Provider == item1.Provider &&
                                  a.DJZT == "等待采购退货"
                                  select a;

                    if (varData.Count() > 0)
                    {
                        foreach (var item in varData)
                        {
                            S_IsolationManageBill lnqIsolation = item;
                            lnqIsolation.DJZT = "等待仓管调入";

                            string strMsg = string.Format("{0}号不合格品隔离处置单,请仓管处理", billNo.ToString());

                            m_billMessageServer.PassFlowMessage(billNo, strMsg,
                                                                m_billMessageServer.GetRoleStringForStorage(lnqIsolation.StorageID).ToString(), true);
                        }
                    }
                }

                return(true);
            }
            catch (Exception exce)
            {
                error = exce.Message;
                return(false);
            }
        }
예제 #12
0
        /// <summary>
        /// 修改关联的隔离单的单据状态
        /// </summary>
        /// <param name="context">上下文数据集</param>
        /// <param name="billNo">自制件退货单据号</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>操作成功返回True,操作失败返回False</returns>
        private bool UpdateIsolationBillStatus(DepotManagementDataContext context, string billNo, out string error)
        {
            error = null;

            try
            {
                var varData = from a in context.S_IsolationManageBill
                              where a.AssociateRejectBillID == billNo
                              select a;

                if (varData.Count() > 0)
                {
                    foreach (var item in varData)
                    {
                        S_IsolationManageBill lnqIsolation = item;

                        if (lnqIsolation.DJZT != "等待采购退货")
                        {
                            error = "请重新确认退货物品所关联的隔离单单据状态";
                            return(false);
                        }

                        lnqIsolation.DJZT = "等待仓管调入";

                        string strMsg = string.Format("{0}号不合格品隔离处置单,请仓管处理", billNo.ToString());

                        m_billMessageServer.PassFlowMessage(billNo, strMsg,
                                                            m_billMessageServer.GetRoleStringForStorage(lnqIsolation.StorageID).ToString(), true);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }
        /// <summary>
        /// 更新普通入库单的单据状态
        /// </summary>
        /// <param name="ctx">LINQ数据上下文</param>
        /// <param name="frockProving">工装验证报告单的数据集</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>操作成功返回True,操作失败返回False</returns>
        bool UpdateOrdinaryInDepotBillStatus(DepotManagementDataContext ctx, S_FrockProvingReport frockProving, out string error)
        {
            error = null;
            try
            {
                var varData = from a in ctx.S_FrockProvingReport
                              where a.ConnectBillNumber == frockProving.ConnectBillNumber
                              select a;

                foreach (var item in varData)
                {
                    if (item.DJZT != "单据已完成")
                    {
                        return(true);
                    }
                }

                var varOrdinary = from a in ctx.S_OrdinaryInDepotBill
                                  where a.Bill_ID == frockProving.ConnectBillNumber
                                  select a;

                if (varOrdinary.Count() != 1)
                {
                    error = "数据以空或者不唯一";
                    return(false);
                }
                else
                {
                    bool blflag = false;

                    var varOrdinaryGoods = from a in ctx.S_OrdinaryInDepotGoodsBill
                                           where a.Bill_ID == frockProving.ConnectBillNumber
                                           select a;

                    foreach (var itemGoods in varOrdinaryGoods)
                    {
                        var varFrockReport = from a in ctx.S_FrockProvingReport
                                             where a.ConnectBillNumber == frockProving.ConnectBillNumber &&
                                             a.GoodsID == itemGoods.GoodsID
                                             select a;

                        int intAmount = 0;

                        foreach (var itemReport in varFrockReport)
                        {
                            if ((bool)itemReport.IsInStock)
                            {
                                intAmount++;
                            }
                            else
                            {
                                var varFrockStandingBook = from a in ctx.S_FrockStandingBook
                                                           where a.FrockNumber == itemReport.FrockNumber &&
                                                           a.GoodsID == itemReport.GoodsID
                                                           select a;

                                ctx.S_FrockStandingBook.DeleteAllOnSubmit(varFrockStandingBook);
                            }
                        }

                        itemGoods.Amount = intAmount;
                        itemGoods.Price  = Convert.ToDecimal(intAmount) * Convert.ToDecimal(itemGoods.UnitPrice);

                        if (Convert.ToDecimal(itemGoods.Amount) > 0)
                        {
                            blflag = true;
                        }
                    }

                    if (blflag)
                    {
                        varOrdinary.Single().BillStatus = "等待入库";

                        m_billMessageServer.PassFlowMessage(varOrdinary.Single().Bill_ID,
                                                            string.Format("【订单号】:{0} 【物品申请人】:{1}   ※※※ 等待【工艺人员】处理",
                                                                          varOrdinary.Single().OrderBill_ID, UniversalFunction.GetPersonnelName(varOrdinary.Single().Proposer)),
                                                            m_billMessageServer.GetRoleStringForStorage(varOrdinary.Single().StorageID).ToString(), true);
                    }
                    else
                    {
                        varOrdinary.Single().BillStatus = "已报废";
                        m_billMessageServer.DestroyMessage(varOrdinary.Single().Bill_ID);
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }
        /// <summary>
        /// 修改销售清单
        /// </summary>
        /// <param name="marketPartBill">销售清单主表信息</param>
        /// <param name="marketPritList">销售清单子表信息</param>
        /// <param name="role">操作角色</param>
        /// <param name="error">错误信息</param>
        /// <returns>修改成功返回True否则返回False</returns>
        public bool UpdateData(S_MarketingPartBill marketPartBill, List <View_S_MarketintPartList> marketPritList, string role, out string error)
        {
            error = "";

            try
            {
                DataTable dt = m_findSellIn.GetBill(marketPartBill.AssociatedBillNo, 0);

                DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext;

                var result = from a in dataContxt.S_MarketingPartBill
                             where a.BillNo == marketPartBill.BillNo && a.AssociatedBillNo == marketPartBill.AssociatedBillNo
                             select a;

                error = "判断角色";

                if (result.Count() > 0)
                {
                    S_MarketingPartBill bill = result.Single();

                    switch (role)
                    {
                    case "销售主管":
                        bill.YX_Auditor   = marketPartBill.YX_Auditor;
                        bill.YX_AuditTime = marketPartBill.YX_AuditTime;
                        bill.Status       = marketPartBill.Status;

                        SystemLog_MarketPart YXAuditorlog = new SystemLog_MarketPart();

                        YXAuditorlog.BillNo  = marketPartBill.BillNo;
                        YXAuditorlog.Content = marketPartBill.YX_AuditTime + "销售主管【"
                                               + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.YX_Auditor).Name + "】审核";
                        YXAuditorlog.Recorder   = marketPartBill.YX_Auditor;
                        YXAuditorlog.RecordTime = Convert.ToDateTime(marketPartBill.YX_AuditTime);

                        dataContxt.SystemLog_MarketPart.InsertOnSubmit(YXAuditorlog);

                        if (dt != null && dt.Rows.Count > 0)
                        {
                            if (m_findSellIn.AuditingBill(Convert.ToInt32(dt.Rows[0]["ID"].ToString()), marketPartBill.Remark, out error))
                            {
                                string storage = dt.Rows[0]["storageID"].ToString();

                                m_billMessageServer.BillType = "营销出库单";
                                m_billMessageServer.PassFlowMessage(marketPartBill.AssociatedBillNo,
                                                                    string.Format("{0} 号营销出库单,请财务审核", marketPartBill.AssociatedBillNo),
                                                                    BillFlowMessage_ReceivedUserType.角色, CE_RoleEnum.会计.ToString());

                                error = error + "/n" + "主管审核成功";
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            error = "找不到营销出库单【" + marketPartBill.AssociatedBillNo + "】";
                            return(false);
                        }

                        break;

                    case "销售":
                        bill.Recorder           = marketPartBill.Recorder;
                        bill.RecordTime         = marketPartBill.RecordTime;
                        bill.Status             = marketPartBill.Status;
                        bill.CiteTerminalClient = marketPartBill.CiteTerminalClient;
                        bill.IsCarLoad          = marketPartBill.IsCarLoad;

                        if (bill.ClientID != marketPartBill.ClientID)
                        {
                            bill.Remark = marketPartBill.Remark;

                            SystemLog_MarketPart log = new SystemLog_MarketPart();

                            log.BillNo  = marketPartBill.BillNo;
                            log.Content = marketPartBill.RecordTime + "销售人员【"
                                          + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.Recorder).Name + "】修改客户,将"
                                          + m_clientServer.GetClientName(result.Single().ClientID) + "修改为:"
                                          + m_clientServer.GetClientName(bill.ClientID) + "】";
                            log.Recorder   = marketPartBill.Recorder;
                            log.RecordTime = marketPartBill.RecordTime;

                            dataContxt.SystemLog_MarketPart.InsertOnSubmit(log);
                        }
                        else
                        {
                            bill.Remark = marketPartBill.Remark;

                            SystemLog_MarketPart log = new SystemLog_MarketPart();

                            log.BillNo  = marketPartBill.BillNo;
                            log.Content = marketPartBill.RecordTime + "销售人员【"
                                          + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.Recorder).Name + "】确认";
                            log.Recorder   = marketPartBill.Recorder;
                            log.RecordTime = marketPartBill.RecordTime;

                            dataContxt.SystemLog_MarketPart.InsertOnSubmit(log);
                        }

                        bill.ClientID = marketPartBill.ClientID;
                        dataContxt.SubmitChanges();

                        foreach (View_S_MarketintPartList item in marketPritList)
                        {
                            var resultList = from c in dataContxt.S_MarketintPartList
                                             where c.BillNo == item.单据号 && c.GoodsID == item.GoodsID && c.BatchNo == item.批次号
                                             select c;

                            if (resultList.Count() > 0)
                            {
                                S_MarketintPartList list = resultList.Single();

                                if (list.SellUnitPrice != item.销售单价)
                                {
                                    SystemLog_MarketPart log = new SystemLog_MarketPart();

                                    log.BillNo  = marketPartBill.BillNo;
                                    log.Content = marketPartBill.RecordTime + "销售人员【"
                                                  + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.Recorder).Name
                                                  + "】修改销售单价,将" + item.物品名称 + "销售单价" + resultList.Single().SellUnitPrice
                                                  + "修改为:" + item.销售单价 + "】";
                                    log.Recorder   = marketPartBill.Recorder;
                                    log.RecordTime = marketPartBill.RecordTime;

                                    dataContxt.SystemLog_MarketPart.InsertOnSubmit(log);
                                    dataContxt.SubmitChanges();
                                }

                                list.Reamrk          = item.备注;
                                list.SellUnitPrice   = item.销售单价;
                                list.UnitPrice       = item.最低定价;
                                list.AssemblyCarCode = item.主机厂代码;
                                list.AssemblyCarName = item.主机厂物品名称;

                                dataContxt.SubmitChanges();
                            }
                        }

                        var resultMarketing = from c in dataContxt.S_MarketingBill
                                              where c.DJH == marketPartBill.AssociatedBillNo
                                              select c;

                        if (resultMarketing.Count() > 0)
                        {
                            S_MarketingBill marketing = resultMarketing.Single();

                            marketing.DJZT_FLAG = "已保存";

                            m_billMessageServer.BillType = "营销出库单";
                            m_billMessageServer.PassFlowMessage(marketPartBill.AssociatedBillNo,
                                                                string.Format("{0} 号营销出库单,请主管审核", marketPartBill.AssociatedBillNo),
                                                                BillFlowMessage_ReceivedUserType.角色, CE_RoleEnum.营销主管.ToString());
                        }
                        else
                        {
                            error = "找不到营销出库单【" + marketPartBill.AssociatedBillNo + "】";
                            return(false);
                        }

                        break;

                    case "财务":
                        bill.CW_Auditor   = marketPartBill.CW_Auditor;
                        bill.CW_AuditTime = marketPartBill.CW_AuditTime;
                        bill.Status       = marketPartBill.Status;

                        if (bill.ClientID != marketPartBill.ClientID)
                        {
                            SystemLog_MarketPart log = new SystemLog_MarketPart();

                            log.BillNo  = marketPartBill.BillNo;
                            log.Content = marketPartBill.CW_AuditTime + "财务人员【"
                                          + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.CW_Auditor).Name
                                          + "】修改客户,将" + m_clientServer.GetClientName(result.Single().ClientID)
                                          + "修改为:" + m_clientServer.GetClientName(bill.ClientID) + "】";
                            log.Recorder   = marketPartBill.CW_Auditor;
                            log.RecordTime = Convert.ToDateTime(marketPartBill.CW_AuditTime);

                            dataContxt.SystemLog_MarketPart.InsertOnSubmit(log);
                        }
                        else
                        {
                            SystemLog_MarketPart log = new SystemLog_MarketPart();

                            log.BillNo  = marketPartBill.BillNo;
                            log.Content = marketPartBill.CW_AuditTime + "财务人员【"
                                          + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.CW_Auditor).Name + "】审核";
                            log.Recorder   = marketPartBill.CW_Auditor;
                            log.RecordTime = Convert.ToDateTime(marketPartBill.CW_AuditTime);

                            dataContxt.SystemLog_MarketPart.InsertOnSubmit(log);
                        }

                        bill.ClientID = marketPartBill.ClientID;
                        bill.Remark   = marketPartBill.Remark;

                        foreach (View_S_MarketintPartList item in marketPritList)
                        {
                            var resultList = from c in dataContxt.S_MarketintPartList
                                             where c.BillNo == item.单据号 && c.GoodsID == item.GoodsID && c.BatchNo == item.批次号 &&
                                             c.Provider == item.供应商
                                             select c;

                            if (resultList.Count() > 0)
                            {
                                S_MarketintPartList list = resultList.Single();

                                if (list.SellUnitPrice != item.销售单价)
                                {
                                    SystemLog_MarketPart log = new SystemLog_MarketPart();

                                    log.BillNo  = marketPartBill.BillNo;
                                    log.Content = marketPartBill.CW_AuditTime + "财务人员【"
                                                  + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.CW_Auditor).Name
                                                  + "】修改销售单价,将销售单价" + resultList.Single().SellUnitPrice + "修改为:"
                                                  + item.销售单价 + "】";
                                    log.Recorder   = marketPartBill.CW_Auditor;
                                    log.RecordTime = Convert.ToDateTime(marketPartBill.CW_AuditTime);

                                    dataContxt.SystemLog_MarketPart.InsertOnSubmit(log);
                                }

                                list.Reamrk        = item.备注;
                                list.SellUnitPrice = item.销售单价;
                            }
                        }

                        if (dt != null && dt.Rows.Count > 0)
                        {
                            if (dt.Rows[0]["DJZT_FLAG"].ToString() == "等待财务审核")
                            {
                                if (m_findSellIn.RetrialBill(marketPartBill.AssociatedBillNo, marketPartBill.Remark, out error))
                                {
                                    string storage = dt.Rows[0]["storageID"].ToString();

                                    m_billMessageServer.BillType = "营销出库单";
                                    m_billMessageServer.PassFlowMessage(marketPartBill.AssociatedBillNo,
                                                                        string.Format("{0} 号营销出库单,请仓管员确认", marketPartBill.AssociatedBillNo),
                                                                        m_billMessageServer.GetRoleStringForStorage(storage).ToString(), true);
                                }
                                else
                                {
                                    return(false);
                                }
                            }
                        }
                        else
                        {
                            error = "找不到营销出库单【" + marketPartBill.AssociatedBillNo + "】";
                            return(false);
                        }

                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    error = "未找到相关单据";
                    return(false);
                }

                dataContxt.SubmitChanges();
                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }
        private void 采购员提交单据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lblBillStatus.Text != OrdinaryInDepotBillStatus.新建单据.ToString())
            {
                MessageDialog.ShowPromptMessage("您现在不是处于新建单据状态,无法提交");
                return;
            }

            if (!CheckSelectedRow())
            {
                return;
            }

            if (!CheckDataItem())
            {
                return;
            }

            if (!CheckUserOperation(dataGridView1.SelectedRows[0]))
            {
                return;
            }

            string billNo = txtBill_ID.Text;

            if (!m_goodsServer.IsExist(billNo))
            {
                MessageDialog.ShowPromptMessage("您还未设置物品清单,无法提交");
                return;
            }

            IPersonnelInfoServer      server = ServerModuleFactory.GetServerModule <IPersonnelInfoServer>();
            OrdinaryInDepotBillStatus status;
            CE_RoleEnum role;

            string flowMsg = null;
            string msg     = null;


            if (txtMaterialType.Text == CE_GoodsType.工装.ToString())
            {
                msg     = "成功提交,等待工艺人员检验!";
                role    = CE_RoleEnum.未知;//工艺人员要求不看信息
                status  = OrdinaryInDepotBillStatus.等待工装验证报告;
                flowMsg = string.Format("【订单号】:{0} 【物品申请人】:{1}   ※※※ 等待【工艺人员】处理",
                                        txtOrderFormNumber.Text, txtProposer.Text);
            }
            else
            {
                if (chkQualityAffirmance.Checked)
                {
                    msg     = "成功提交,等待质量验收!";
                    role    = CE_RoleEnum.检验员;
                    status  = OrdinaryInDepotBillStatus.等待质检;
                    flowMsg = string.Format("【订单号】:{0} 【物品申请人】:{1}   ※※※ 等待【质检员】处理",
                                            txtOrderFormNumber.Text, txtProposer.Text);
                }
                else
                {
                    msg     = "成功提交,等待仓管入库!";
                    role    = m_billMessageServer.GetRoleStringForStorage(cmbStorage.Text);
                    status  = OrdinaryInDepotBillStatus.等待入库;
                    flowMsg = string.Format("【订单号】:{0} 【物品申请人】:{1}   ※※※ 等待【仓管员】处理",
                                            txtOrderFormNumber.Text, txtProposer.Text);
                }
            }

            if (!m_billServer.SubmitNewBill(billNo, status, out m_queryResult, out m_error))
            {
                MessageDialog.ShowErrorMessage(m_error);
                return;
            }

            m_billMessageServer.DestroyMessage(billNo);
            SendNewFlowMessage(billNo, role, flowMsg);
            RefreshDataGridView(m_queryResult);
            PositioningRecord(billNo);

            MessageDialog.ShowPromptMessage(msg);
        }
예제 #16
0
        private void 提交质检信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!CheckSelectedRow())
            {
                return;
            }

            HomemadeBillStatus status = (HomemadeBillStatus)Enum.Parse(typeof(HomemadeBillStatus),
                                                                       dataGridView1.SelectedRows[0].Cells["单据状态"].Value.ToString());

            if (status != HomemadeBillStatus.等待质检 && status != HomemadeBillStatus.回退_质检信息有误)
            {
                MessageDialog.ShowPromptMessage("请选择等待质检的记录后再进行此操作");
                return;
            }

            dateTime_CheckTime.Value = ServerTime.Time;

            if (dateTime_CheckTime.Value < dateTime_BillTime.Value)
            {
                dateTime_CheckTime.Focus();
                MessageDialog.ShowPromptMessage("检验入库时间必须 >= 自制件时间");
                return;
            }

            if (txtQualityInfo.Text == "")
            {
                txtQualityInfo.Focus();
                MessageDialog.ShowPromptMessage("质量信息不能为空");
                return;
            }

            if (txtCheckoutReportID.Text == "")
            {
                txtCheckoutReportID.Focus();
                MessageDialog.ShowPromptMessage("检验报告编号不能为空");
                return;
            }

            if (numEligibleCount.Value + numConcessionCount.Value + numReimbursementCount.Value
                + numDeclareWastrelCount.Value != numDeclareCount.Value)
            {
                numEligibleCount.Focus();
                MessageDialog.ShowPromptMessage("合格数 + 让步数 + 退货数 + 报废数 之和不等于自制件数量");
                return;
            }

            if (txtChecker.Text == "")
            {
                txtChecker.Focus();
                MessageDialog.ShowPromptMessage("检验人员不能为空");

                return;
            }

            S_HomemadePartBill qualityInfo = new S_HomemadePartBill();

            qualityInfo.Checker                = txtChecker.Text;
            qualityInfo.QualityInputer         = BasicInfo.LoginName;
            qualityInfo.CheckoutJoinGoods_Time = dateTime_CheckTime.Value;
            qualityInfo.CheckoutReport_ID      = txtCheckoutReportID.Text;
            qualityInfo.QualityInfo            = txtQualityInfo.Text;
            qualityInfo.EligibleCount          = Convert.ToInt32(numEligibleCount.Value);
            qualityInfo.ConcessionCount        = Convert.ToInt32(numConcessionCount.Value);
            qualityInfo.ReimbursementCount     = Convert.ToInt32(numReimbursementCount.Value);
            qualityInfo.DeclareWastrelCount    = Convert.ToInt32(numDeclareWastrelCount.Value);
            qualityInfo.BillStatus             = HomemadeBillStatus.等待入库.ToString();

            string billNo = txtBill_ID.Text;

            if (!m_billServer.SubmitQualityInfo(billNo, qualityInfo, out m_findBill, out m_err))
            {
                MessageDialog.ShowErrorMessage(m_err);
                return;
            }

            MessageDialog.ShowPromptMessage("成功提交,等待仓管将零件入库!");

            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("物品【{0}】,批次号【{1}】  ※※※ 等待【仓管员】处理", txtName.Text, txtBatchNo.Text);

            PassFlowMessage(sb.ToString(),
                            m_msgPromulgator.GetRoleStringForStorage(cmbStorage.Text));
            RefreshDataGridView(m_findBill);
            PositioningRecord(billNo);
        }