⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mrp_qry_newuprightmrp_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 4 页
字号:
  if Trim(AdoQry_Main.fieldbyname('trace').asstring)='父项计划需求' then
     traceType:=3;
  requiredate:=AdoQry_Main.fieldbyname('releasedate').asstring;
  if uppercase(copy(AdoQry_Main.fieldbyname('Ordernoandlineno').asstring,1,1))='P' then
   begin
     Orderno:=AdoQry_Main.fieldbyname('Ordernoandlineno').asstring;
     Orderlineno:=copy(Orderno,pos('-',Orderno)+1,length(Orderno)-pos('-',Orderno));
     Orderno:=copy(Orderno,1,pos('-',Orderno)-1);
        if Frm_Mrp_Qry_UpRightMrp_D_Po=nil then
          begin
           Frm_Mrp_Qry_UpRightMrp_D_Po:=TFrm_Mrp_Qry_UpRightMrp_D_Po.Create(Self);
           Frm_Mrp_Qry_UpRightMrp_D_Po.Orderno:=Orderno;
           Frm_Mrp_Qry_UpRightMrp_D_Po.Orderlineno:=Orderlineno;
           Frm_Mrp_Qry_UpRightMrp_D_Po.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
           Frm_Mrp_Qry_UpRightMrp_D_Po.InitForm(AdoQry_Main.Connection,True);
          end
        else Frm_Mrp_Qry_UpRightMrp_D_Po.Show;
   end
  else
  if uppercase(copy(AdoQry_Main.fieldbyname('Ordernoandlineno').asstring,1,1))='M' then
   begin
     Orderno:=AdoQry_Main.fieldbyname('Ordernoandlineno').asstring;
     Orderlineno:=copy(Orderno,pos('-',Orderno)+1,length(Orderno)-pos('-',Orderno));
     Orderno:=copy(Orderno,1,pos('-',Orderno)-1);
        if Frm_Mrp_Qry_UpRightMrp_D_Mo=nil then
          begin
           Frm_Mrp_Qry_UpRightMrp_D_Mo:=TFrm_Mrp_Qry_UpRightMrp_D_Mo.Create(Self);
           Frm_Mrp_Qry_UpRightMrp_D_Mo.Orderno:=Orderno;
           Frm_Mrp_Qry_UpRightMrp_D_Mo.Orderlineno:=Orderlineno;
           Frm_Mrp_Qry_UpRightMrp_D_Mo.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
           Frm_Mrp_Qry_UpRightMrp_D_Mo.InitForm(AdoQry_Main.Connection,True);
          end
        else Frm_Mrp_Qry_UpRightMrp_D_Mo.Show;
   end
  else
   begin
    if (traceType=1)  then
    if Frm_Mrp_Qry_UpRightMrp_D_NewMps=nil then
          begin
           Frm_Mrp_Qry_UpRightMrp_D_NewMps:=TFrm_Mrp_Qry_UpRightMrp_D_NewMps.Create(Self);
           Frm_Mrp_Qry_UpRightMrp_D_NewMps.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
           Frm_Mrp_Qry_UpRightMrp_D_NewMps.ItemCode:=ItemCode;
           Frm_Mrp_Qry_UpRightMrp_D_NewMps.lowItemPmCode:=ItemPmCode;
           requiredate:=AdoQry_Main.fieldbyname('releasedate').asstring;
           Frm_Mrp_Qry_UpRightMrp_D_NewMps.requiredate:=requiredate;
           Frm_Mrp_Qry_UpRightMrp_D_NewMps.Qclt:=Qclt;
           Frm_Mrp_Qry_UpRightMrp_D_NewMps.Mpsid:=strtoint(AdoQry_Main.fieldbyname('peggingno').asstring);
           Frm_Mrp_Qry_UpRightMrp_D_NewMps.traceType:=traceType;
           Frm_Mrp_Qry_UpRightMrp_D_NewMps.InitForm(AdoQry_Main.Connection,True);
          end
        else Frm_Mrp_Qry_UpRightMrp_D_NewMps.Show;
    if ((traceType=2) )  then
       if  Frm_Mrp_Qry_UpRightMrp_D_NewMossParent=nil then
             begin
                Frm_Mrp_Qry_UpRightMrp_D_NewMossParent:=TFrm_Mrp_Qry_UpRightMrp_D_NewMossParent.Create(Self);
                Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
                Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.Qclt:=Qclt;
                tmplowPmCode:=AdoQry_Main.fieldbyname('PmCode').asinteger;
                Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.ItemCode:=AdoQry_Main.fieldbyname('ItemCode').asstring;
         //       Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.duedate:=datetimetostr(AdoQry_Main.fieldbyname('releasedate').asdatetime);
                Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.peggingno:=AdoQry_Main.fieldbyname('peggingno').asstring;
           //     Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.strpath:=AdoQry_Main.fieldbyname('ItemCode').asstring+',';
                Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.InitForm(dbconnect,True);
             end
              else  Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.Show;

       {Mpsandmo:=existsMpsandmo(AdoQry_Main.fieldbyname('ItemCode').asstring,requiredate);
       //showmessage(inttostr(Mpsandmo));
       case Mpsandmo of
        1: if  Frm_Mrp_Enter_MoSsParent=nil then
             begin
                Frm_Mrp_Enter_MoSsParent:=TFrm_Mrp_Enter_MoSsParent.Create(Self);
                Frm_Mrp_Enter_MoSsParent.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
                Frm_Mrp_Enter_MoSsParent.Qclt:=Qclt;
                tmplowPmCode:=AdoQry_Main.fieldbyname('PmCode').asinteger;
                Frm_Mrp_Enter_MoSsParent.ItemCode:=AdoQry_Main.fieldbyname('ItemCode').asstring;
                Frm_Mrp_Enter_MoSsParent.duedate:=datetimetostr(AdoQry_Main.fieldbyname('releasedate').asdatetime);
                Frm_Mrp_Enter_MoSsParent.strpath:=AdoQry_Main.fieldbyname('ItemCode').asstring+',';
                Frm_Mrp_Enter_MoSsParent.InitForm(dbconnect,True);
             end
              else  Frm_Mrp_Enter_MoSsParent.Show;
         2:     if Frm_Mrp_Qry_UpRightMrp_D_Mps=nil then
          begin
           Frm_Mrp_Qry_UpRightMrp_D_Mps:=TFrm_Mrp_Qry_UpRightMrp_D_Mps.Create(Self);
           Frm_Mrp_Qry_UpRightMrp_D_Mps.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
          Frm_Mrp_Qry_UpRightMrp_D_Mps.ItemCode:=ItemCode;
          Frm_Mrp_Qry_UpRightMrp_D_Mps.lowItemPmCode:=ItemPmCode;
          Frm_Mrp_Qry_UpRightMrp_D_Mps.requiredate:=requiredate;
          Frm_Mrp_Qry_UpRightMrp_D_Mps.Qclt:=Qclt;
           Frm_Mrp_Qry_UpRightMrp_D_Mps.traceType:=traceType;
           Frm_Mrp_Qry_UpRightMrp_D_Mps.InitForm(AdoQry_Main.Connection,True);
          end
        else Frm_Mrp_Qry_UpRightMrp_D_Mps.Show;
         3:  if Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo=nil then
          begin
           Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo:=TFrm_Mrp_Qry_UpRightMrp_D_MpsAndMo.Create(Self);
           Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
        //  Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.ItemCode:=ItemCode;
        //  Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.lowItemPmCode:=ItemPmCode;
        //  Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.requiredate:=requiredate;
        //  Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.Qclt:=Qclt;
        //   Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.traceType:=traceType;
           Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.InitForm(AdoQry_Main.Connection,True);
          end
        else Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.Show;

       end; 
      end; }
  if traceType=3 then
  if  Frm_Mrp_Enter_NewMoSsParent=nil then
  begin
    Frm_Mrp_Enter_NewMoSsParent:=TFrm_Mrp_Enter_NewMoSsParent.Create(Self);
    Frm_Mrp_Enter_NewMoSsParent.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
    Frm_Mrp_Enter_NewMoSsParent.Qclt:=Qclt;
    tmplowPmCode:=AdoQry_Main.fieldbyname('PmCode').asinteger;
    Frm_Mrp_Enter_NewMoSsParent.peggingType:=1;
    Frm_Mrp_Enter_NewMoSsParent.ItemCode:=AdoQry_Main.fieldbyname('ItemCode').asstring;
    Frm_Mrp_Enter_NewMoSsParent.duedate:=datetimetostr(AdoQry_Main.fieldbyname('releasedate').asdatetime);
    Frm_Mrp_Enter_NewMoSsParent.strpath:=AdoQry_Main.fieldbyname('ItemCode').asstring+',';
    Frm_Mrp_Enter_NewMoSsParent.InitForm(dbconnect,True);
  end
  else  Frm_Mrp_Enter_NewMoSsParent.Show;
  if traceType=4 then
  if  Frm_Mrp_Qry_SaleOrder=nil then
  begin
    Frm_Mrp_Qry_SaleOrder:=TFrm_Mrp_Qry_SaleOrder.Create(Self);
    Frm_Mrp_Qry_SaleOrder.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
    Frm_Mrp_Qry_SaleOrder.slonoandlineno:=AdoQry_Main.fieldbyname('peggingno').asstring;
    Frm_Mrp_Qry_SaleOrder.InitForm(dbconnect,True);
  end
  else  Frm_Mrp_Qry_SaleOrder.Show;
  end;

end;

procedure TFrm_Mrp_Qry_NewUpRightMrp_D.Act_ShowGridExecute(
  Sender: TObject);
var sqltext,tmpvar:string;
begin
  inherited;
  if uppercase(copy(AdoQry_Main.fieldbyname('Ordernoandlineno').asstring,1,1))<>'P' then
    exit;
  sqltext:='select po.VendorCode  from po where po.pono='''+copy(AdoQry_Main.fieldbyname('Ordernoandlineno').asstring,1,pos('-',AdoQry_Main.fieldbyname('Ordernoandlineno').asstring)-1)+'''';

  with AdoQry_tmp do
  begin
     Close;
     sql.clear;
     sql.Add(sqltext);
     open;
     tmpvar:=fieldbyname('VendorCode').asstring;
     Close;
     sql.clear;
     sql.Add('select * from Vendor where VendorCode='+quotedstr(tmpvar));
     open;
    try
     with TFrm_Mrp_Qry_UpRightMrp_D_vd.Create(self) do
       begin
       edit1.Text:=fieldbyname('VendorName').asstring;
       edit5.Text:=fieldbyname('VendorAddress').asstring;
       edit3.Text:=fieldbyname('VendorshortName').asstring;
       edit4.Text:=fieldbyname('Vendoremail').asstring;
       edit2.Text:=fieldbyname('Vendorfax').asstring;
       edit21.Text:=fieldbyname('Vendortel').asstring;
       maskedit1.Text:=fieldbyname('Vendorcreatetime').asstring;
       maskedit2.Text:=fieldbyname('Vendormodifytime').asstring;
       edit6.Text:=fieldbyname('Vendorbank').asstring;
       edit7.Text:=fieldbyname('Vendorbankaccno').asstring;
       edit18.Text:=floattostr(fieldbyname('Vendortaxrate_Percent').asfloat);
       edit19.Text:=fieldbyname('Vendortaxno').asstring;
       edit20.Text:=fieldbyname('Vendorcontact').asstring;
       edit11.Text:=fieldbyname('Vendorowner').asstring;
       edit12.Text:=fieldbyname('Vendorceo').asstring;
       edit8.Text:=fieldbyname('VendorremArk').asstring;
       showmodal;
     end;
    finally
      Frm_Mrp_Qry_UpRightMrp_D_vd.Free;
    end;
  end;
end;

function  TFrm_Mrp_Qry_NewUpRightMrp_D.existsMpsandmo(ItemCode:string;requiredate:string):integer;
var  bool1:boolean;
     bool2:boolean;
begin
  Result:=100;
  bool1:=ifexistsiteItemCode(ItemCode,requiredate,inttostr(getlt(ItemCode,2)));
  bool2:=existsMps(ItemCode,requiredate,inttostr(getlt(ItemCode,2)));
  if bool1 and bool2 then
   Result:=3
  else if bool1 then
  Result:=1
  else if bool2 then
  Result:=2;
  if Result=100 then
  try
    Executesql(AdoQry_tmp,'drop table #tmpopenBom,#tmpopenBomResult,#tmpopenBomResult1,#tmpuPMrpResult,#tmpuPMrpResult1',1);
  except
  end;
end;

function TFrm_Mrp_Qry_NewUpRightMrp_D.ifexistsiteItemCode(ItemCode:string;date,Qclt:string):boolean;{ Private declarations }
var AdoQry:TAdoQuery;tMpsqltext:string;
begin
  Result:=False;
  AdoQry:=TAdoQuery.Create(self);
  AdoQry.EnableBCD:=False;
  AdoQry.Connection:=dbconnect;
  try
   try Executesql(AdoQry_tmp,'drop table #tmpopenBomResult,#tmpuPMrpResult',1);
   except
   end;
  tMpsqltext:=' select top 0 MrpResult.*,Bom.Bomqty,Mrpqty=case ordinal when 2 then Orderqty when 5 then netqty end,  '
               +'  ScrAprate=convert(varchAr,Bom.BomScrAp_Percent)+''%'','
               +'  Itemflag=MrpResult.ItemCode+'' ''+Item.ItemName,  '
               +'  Item.Qclt, '
               +'  Item.Preparelt,'
               +'   Uom.UomName                           '
               +'  into #tmpuPMrpResult '
               +'   from MrpResult               '
               +' join Item on MrpResult.ItemCode=Item.ItemCode  '
               +' left outer join Uom on Item.UomCode=Uom.UomCode'
               +' join Bom on MrpResult.ItemCode=Bom.ite_ItemCode';
  Executesql(AdoQry_tmp,tMpsqltext,1);
  Bomopen(dbconnect,ItemCode);
  //tMpsqltext:='select Bom.ite_ItemCode as ItemCode,Item.Preparelt from Bom,Item where Bom.ite_ItemCode=Item.ItemCode and Bom.ItemCode='+quotedstr(ItemCode);
  tMpsqltext:='select distinct Item.ItemCode,Item.PmCode,Item.Preparelt,Item.purchldtime,Bomqty=sum(Bomqty),BomScrAprate=sum(BomScrAprate) '
             +' into #tmpopenBomResult  '
             +'  From #TmpOpenBom,Item       '
             +' where #tmpopenBom.ItemCode=Item.ItemCode '
             +'   and exists(select * from MrpResult where #tmpopenBom.ItemCode=MrpResult.ItemCode )  '

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -