发新话题
打印

本人这几天闭光,写了1.6万行代码。

我的进货入库单的录入过成如下:

当用户点饥保存按钮时:
发生一下事件:
void CFormJHRK::OnButtonSave()
{
        // TODO: Add your control notification handler code here
        OnSave();
}

bool CFormJHRK::OnSave()
{
    BeginWaitCursor();         
    GetData();//获取数据

    if(!CheckData())//检验数据
                return 0;

            CPutData put;//声明数据操作类
//初始化数据录入类

    put.m_Date=m_Date;
    put.m_Kinds="入库单";
    put.m_lIndex=m_lIndex;
    put.m_lDWID=m_lGYSID;

    if(!PutData())//保存数据
                return 0;

    EndWaitCursor();
        MessageBox("添加成功!","提示",MB_ICONINFORMATION);
    return 1;
}

TOP

bool CFormJHRK::GetData()//获得数据
{
    UpdateData(1);
    m_Date=m_OleData.Format("%Y-%m-%d");
    Total();
    return 1;
}

bool CFormJHRK::CheckData()//检验数据
{
        if(m_lGYSID<1)
        {
                MessageBox("请输入单位名称!");
            return 0;
        }

    if(m_lYGID<1)
        {
                MessageBox("请输入员工名称!");
            return 0;
        }

   if(m_lCKID<1)
        {
                MessageBox("请输入仓库名称!?");
            return 0;
        }

   if(m_dFKMoney>0)
        {
      if(m_FKAccoutID=="")
          {
            MessageBox("m_AccoutID==?");
            return 0;
          }
   }
    sql="select max(引索) as 引索 from 单据头";
    if(m_DataRun.CheckSQLResult1(sql))
        {
        m_DataRun.get1("引索",m_lIndex);
        m_lIndex++;
        }
    else
        {
        m_lIndex=1;
        }

    if(m_list.GetItemText(0,0)=="")
         {
        MessageBox("表格第一行不能为空!","警告",MB_ICONSTOP);
            return 0;
         }

   return 1;
}

TOP

bool CFormJHRK:utData()//保存数据
{
    m_DataRun.BeginTrans();//开始一个事务

        if(!PutHead())//单据头
                return 0;

    if(!PutContent())//单据,库存,库存帐本,单位帐本,应收应付
                return 0;

    if(!PutSubject())//科目,科目帐本
                return 0;

     m_DataRun.CommitTrans();
      return 1;
}

TOP

//录入单据头--包括:单据编号,建帐日期,单位编码,单位名称,等..
bool CFormJHRK:utHead()
{
     m_DataRun.add1("单据头");
     m_DataRun.put1("引索",m_lIndex);
     m_DataRun.put1("单据编号",m_DJID);
         m_DataRun.put1("单据类型",m_Kinds);
     m_DataRun.put1("日期",m_Date);
         m_DataRun.put1("摘要",m_Remark);
     m_DataRun.put1("单位ID",m_lGYSID);
     m_DataRun.put1("员工ID",m_lYGID);
     m_DataRun.put1("仓库ID",m_lCKID);
     m_DataRun.put1("开票类型ID",m_lKPLXID);
     m_DataRun.put1("备注",m_Remark1);
     m_DataRun.put1("合计数量",m_dTotalNumber);
     m_DataRun.put1("折前合计金额",m_dZQTotalMoney);
     m_DataRun.put1("合计金额",m_dTotalMoney);
     m_DataRun.put1("优惠金额",m_dYHMoney);
     m_DataRun.put1("优惠后金额",m_dYHHMoney);
     m_DataRun.put1("科目ID",m_FKAccoutID);
     m_DataRun.put1("现金银行金额",m_dFKMoney);
     m_DataRun.put1("税额",m_dTotalTax);
     m_DataRun.put1("库存商品",m_dKCGood);
     m_DataRun.put1("应收应付",m_dYFMoney);
     m_DataRun.put1("余额",m_dYFMoney);
     if(!m_DataRun.up1())
         {
       m_DataRun.RollbackTrans();//回滚事务
       MessageBox("数据录入出错!","警告",MB_ICONSTOP);
       return 0;
         }

//------------------------------------------------------
    if(m_dFKMoney>0)
        {
          m_DataRun.add1("单据");
                  m_DataRun.put1("引索",m_lIndex);
          m_DataRun.put1("日期",m_Date);
          m_DataRun.put1("单据编号",m_DJID);
              m_DataRun.put1("单据类型",m_Kinds);
                  m_DataRun.put1("结算引索",m_lIndex);//结算引索
                  m_DataRun.put1("结算金额",m_dFKMoney);
                  m_DataRun.put1("结算余额",m_dYFMoney);

            if(!m_DataRun.up1())
                        {
               m_DataRun.RollbackTrans();//回滚事务
               MessageBox("数据录入出错!","警告",MB_ICONSTOP);
               return 0;
                        }
                else
                  return 1;
        }
        else
           return 1;


//------------------------------------------------------

}

TOP

//录入单句类容

bool CFormJHRK:utContent()
{
   int n=m_list.GetItemCount();
        for(int i=0;i<n;i++)
        {
      if(m_list.GetItemText(i,0)!="")//判断次行是否为空--假如为空跳出下面的循环
          {   
         if(!GetContentData(i))//获得单据内容--m_list上的数据
                         return 0;

         SetDJMoney();//设置最后统计的价格,金额

         if(!PutDJContent())//单据
             return 0;

        if(!put.PutKCBook(m_lCKID,m_lSPID,m_dNumber,m_dTaxPrice,m_dTaxMoney))//库存,库存帐本
                 return 0;

         if(!put.PutDWBook(m_lSPID,m_dNumber,m_dTaxPrice,m_dTaxMoney))//应收应付,单位帐本
         return 0;

         if(!PutDWPrice())//单位成交价
          return 0;

         if(!PutGoodPrice())//商品成交价
          return 0;
    }//if(m_list.GetItemText(i,0)!="")
  }//for(int i=0;i<n;i++)
//------------------商品价格中更新结束----------------------

return 1;
}

TOP

bool CFormJHRK::GetContentData(int i)
{
        for(int ii=0;ii<m_list.m_nNumberOfCols;ii++)
                 {
            int m_iSubColumn=0;
            m_iSubColumn=m_list.m_iColumn[ii];
            switch(m_iSubColumn)
                        {
              case 0://商品编码
                                 // m_list.get(i,ii,m_SPID);
                  break;

                          
                  case 6://数量
                         m_list.get(i,ii,m_dNumber);
                     break;

              case 7://单价
                                    m_list.get(i,ii,m_dPrice);
                                break;

             case 8://金额
                    m_list.get(i,ii,m_dMoney);
                                break;

                      case 9://折扣%
                   m_list.get(i,ii,m_dZK);
                               break;

                      case 10://折后单价
                    m_list.get(i,ii,m_dZKPrice);
                                break;

                      case 11://折后金额
                    m_list.get(i,ii,m_dZKMoney);
                    break;

                      case 12://税率%
                    m_list.get(i,ii,m_dTaxrate);
                                break;

              case 13://税额
                    m_list.get(i,ii,m_dTax);
                          break;

              case 14://含税单价
                    m_list.get(i,ii,m_dTaxPrice);
                          break;

                      case 15://含税金额
                    m_list.get(i,ii,m_dTaxMoney);
                          break;

                      case 16://备注
                   m_list.get(i,ii,m_Remark);
                          break;

                        }//switch(m_iSubColumn)
                 }//for(int ii=0;ii<m_list.m_nNumberOfCols;ii++)

       m_lSPID=m_list.GetItemData(i);
           if(m_lSPID<1)
           {
                  MessageBox("无效商品");
          return 0;
           }
          return 1;
}

TOP

bool CFormJHRK:utDJContent()
{
//添加单据
     m_DataRun.add1("单据");
     m_DataRun.put1("引索",m_lIndex);
     m_DataRun.put1("单据类型",m_Kinds);
     m_DataRun.put1("单据编号",m_DJID);
     m_DataRun.put1("日期",m_Date);
     m_DataRun.put1("商品ID",m_lSPID);
     m_DataRun.put1("数量",m_dNumber);
     m_DataRun.put1("单价",m_dPrice);
     m_DataRun.put1("金额",m_dMoney);
     m_DataRun.put1("折扣",m_dZK);
     m_DataRun.put1("折后单价",m_dZKPrice);
         m_DataRun.put1("折后金额",m_dZKMoney);
     m_DataRun.put1("税率",m_dTaxrate);
     m_DataRun.put1("税额",m_dTax);
     m_DataRun.put1("含税单价",m_dTaxPrice);
     m_DataRun.put1("含税金额",m_dTaxMoney);
     m_DataRun.put1("备注",m_Remark2);

     if(!m_DataRun.up1())
         {
        m_DataRun.RollbackTrans();//回滚事务
        MessageBox("添加单据录入出错!","警告",MB_ICONSTOP);
        return 0;
         }
        return 1;
}

TOP

//科目录入
bool CFormJHRK:utSubject()
{

//库存商品
    if(!put.PutSubjectBook("10101",m_dKCGood))
     return 0;

//现金银行
   if(m_dFKMoney>0)
   {
        if(!put.PutSubjectBook(m_FKAccoutID,m_dFKMoney,0))
     return 0;

    if(!put.PutDWBook(m_FKAccoutID,m_dFKMoney,0))
       return 0;
   }

//对方的优惠
   if(m_dYHMoney>0)
   {
        if(!put.PutSubjectBook("1030303",m_dYHMoney,0))
     return 0;

    if(!put.PutDWBook("1030303",m_dYHMoney,0))
       return 0;
   }

//[应付款合计]
     if(!put.PutSubjectBook("10201",m_dYFMoney))
       return 0;

       return 1;
}

TOP

你的30万,15天完成1.5,还有300天的路要走哦
他第二次直接增加了10kg到197kg,这一成绩已经与世界纪录相同。果然压力过大没有成功。

TOP


很好很强大。

楼上头像MM是不是服用了多尔胶囊,以内养外,补血养颜,细腻,红润,有光泽。
欢迎加入马甲1号粉丝会的二线粉丝会,reika粉丝会。
二线粉丝成员:CodeCoolie,Mzren,5bxb,超级小菜鸟,不知道歪 ,jonssen,Vista,withy

TOP

发新话题