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

📄 tas530_02.pas

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 PAS
📖 第 1 页 / 共 5 页
字号:
implementation

uses CommFun, HwSelData, SYSDATA, TasComm;

{$R *.dfm}

//检查输入的执行人员是否合法(用编辑格式)
function CheckPerson(APersonID:string):Boolean;
var
  AStringList:TStringList;
  I:Integer;
  S:string;
begin
  Result:=True;
  if APersonID='' then Exit;
  AStringList:=TStringList.Create;
  for I:=1 to Length(APersonID) do
  begin
    if Copy(APersonID,I,1)=',' then
    begin
      AStringList.Add(trim(S));
      S:='';
    end else
      S:=S+Copy(APersonID,I,1);
    if (I=Length(APersonID)) and (S<>'') then AStringList.Add(trim(S));
  end;
  for I:=0 to AStringList.Count-1 do
  begin
    if AStringList[I]='' then
    begin
      Result:=False;
      AStringList.Free;
      Exit;
    end;
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select 1 from HRM150 where H150_002='+''''+AStringList[I]+'''');
    SYSDM.qryQuery.Open;
    if SYSDM.qryQuery.IsEmpty then
    begin
      Result:=False;
      AStringList.Free;
      Exit;
    end;
  end;
  AStringList.Free;
end;

//设置按钮状态
procedure TTas530_02Form.SetButtonState(AInsUpd:Boolean);
begin
  ActFirst.Enabled:=not AInsUpd;
  ActPrior.Enabled:=not AInsUpd;
  ActNext.Enabled:=not AInsUpd;
  ActLast.Enabled:=not AInsUpd;
  ActInsert.Enabled:=(ARights[2]='Y') and (not AInsUpd);
  ActUpdate.Enabled:=(ARights[3]='Y') and (not AInsUpd);
  ActDelete.Enabled:=(ARights[4]='Y') and (not AInsUpd);
  ActSave.Enabled:=AInsUpd;
  ActCancel.Enabled:=AInsUpd;
  ActRefresh.Enabled:=not AInsUpd;
  ActLocate.Enabled:=not AInsUpd;
  ActSearch.Enabled:=not AInsUpd;
  ActPrint.Enabled:=(ARights[5]='Y') and (not AInsUpd);
  ActExit.Enabled:=True;
  gbInfo.Enabled:=AInsUpd;
  gbCust.Enabled:=AInsUpd;
  gbDetail.Enabled:=AInsUpd;
  wwDBGrid1.Enabled:=AInsUpd;
  wwDBGrid2.Enabled:=AInsUpd;
  wwDBGrid3.Enabled:=AInsUpd;
end;

procedure TTas530_02Form.SetInterface;
var
  S:string;
begin
  Caption:=GetDBString('TAS53002001');  //任务进度汇报
  ActFirst.Caption:=GetDBString('COM00005001');  //最前
  ActPrior.Caption:=GetDBString('COM00005002');  //上移
  ActNext.Caption:=GetDBString('COM00005003');  //下移
  ActLast.Caption:=GetDBString('COM00005004');  //最后
  ActInsert.Caption:=GetDBString('COM00005005');  //新增
  ActUpdate.Caption:=GetDBString('COM00005006');  //修改
  ActDelete.Caption:=GetDBString('COM00005007');  //删除
  ActSave.Caption:=GetDBString('COM00005008');  //保存
  ActCancel.Caption:=GetDBString('COM00005009');  //取消
  ActRefresh.Caption:=GetDBString('COM00005010');  //刷新
  ActLocate.Caption:=GetDBString('COM00005011');  //查找
  ActSearch.Caption:=GetDBString('COM00005012');  //查询
  ActPrint.Caption:=GetDBString('COM00005013');  //打印
  ActExit.Caption:=GetDBString('COM00005015');  //退出

  ActFirst.Hint:=GetDBString('COM00005001',2);  //移到第一条记录
  ActPrior.Hint:=GetDBString('COM00005002',2);  //移到上一条记录
  ActNext.Hint:=GetDBString('COM00005003',2);  //移到下一条记录
  ActLast.Hint:=GetDBString('COM00005004',2);  //移到最后一条记录
  ActInsert.Hint:=GetDBString('COM00005005',2);  //新增一条记录
  ActUpdate.Hint:=GetDBString('COM00005006',2);  //修改当前记录
  ActDelete.Hint:=GetDBString('COM00005007',2);  //删除当前记录
  ActSave.Hint:=GetDBString('COM00005008',2);  //保存编辑的记录
  ActCancel.Hint:=GetDBString('COM00005009',2);  //取消编辑的记录
  ActRefresh.Hint:=GetDBString('COM00005010',2);  //取得最新的数据
  ActLocate.Hint:=GetDBString('COM00005011',2);  //快速定位记录
  ActSearch.Hint:=GetDBString('COM00005012',2);  //按条件查询数据
  ActPrint.Hint:=GetDBString('COM00005013',2);  //将数据打印出来
  ActExit.Hint:=GetDBString('COM00005015',2);  //关闭当前窗口

  gbInfo.Caption:=GetDBString('TAS53002002');  //基本信息
  gbCust.Caption:=GetDBString('TAS53002003');  //客户产品
  gbDetail.Caption:=GetDBString('TAS53002004');  //汇报内容
  lblCode.Caption:=GetDBString('TAS53002005');  //汇报编号
  lblWork.Caption:=GetDBString('TAS53002006');  //工单编号
  lblTasks.Caption:=GetDBString('TAS53002007');  //任务编号
  lblPriority.Caption:=GetDBString('TAS53002008');  //优先级别
  lblName.Caption:=GetDBString('TAS53002009');  //任务名称
  lblClass.Caption:=GetDBString('TAS53002010');  //任务类别
  lblPercent.Caption:=GetDBString('TAS53002011');  //完工比率
  lblPerson.Caption:=GetDBString('TAS53002012');  //执行人员
  lblDays.Caption:=GetDBString('TAS53002013');  //汇报工时
  lblDate.Caption:=GetDBString('TAS53002014');  //起止日期
  lblVendor.Caption:=GetDBString('TAS53002015');  //协助公司
  lblSupport.Caption:=GetDBString('TAS53002016');  //协助人员
  lblSupportDays.Caption:=GetDBString('TAS53002017');  //协助工时
  lblCust.Caption:=GetDBString('TAS53002018');  //客户编号
  lblPhone.Caption:=GetDBString('TAS53002019');  //电话号码
  lblAddress.Caption:=GetDBString('TAS53002020');  //客户地址
  lblContact.Caption:=GetDBString('TAS53002021');  //联系人员
  lblPost.Caption:=GetDBString('TAS53002022');  //职务名称
  lblEmail.Caption:=GetDBString('TAS53002023');  //电子邮箱
  lblItem.Caption:=GetDBString('TAS53002024');  //产品编号
  lblMacNo.Caption:=GetDBString('TAS53002025');  //机身编号
//  lblModel.Caption:=GetDBString('TAS53002026');  //规格型号
//  lblItemClass.Caption:=GetDBString('TAS53002027');  //产品类别
  lblMaker.Caption:=GetDBString('TAS53002028');  //制造商号
  lblMakerName.Caption:=GetDBString('TAS53002029');  //制造商名
  lblDetails.Caption:=GetDBString('TAS53002031');  //汇报内容
  lblDelay.Caption:=GetDBString('TAS53002032');  //拖期原因
  lblContinue.Caption:=GetDBString('TAS53002033');  //后续处理
  lblCreateDate.Caption:=GetDBString('TAS53002034');  //制单日期
  lblCreateBy.Caption:=GetDBString('TAS53002035');  //制单人员
  lblUpdateDate.Caption:=GetDBString('TAS53002036');  //修改日期
  lblUpdateBy.Caption:=GetDBString('TAS53002037');  //修改人员
//  bbtnOk.Caption:=GetDBString('TAS53002038');  //确定(&O)
//  bbtnExit.Caption:=GetDBString('TAS53002039');  //退出(&X)

  tsReport.Caption:=GetDBString('TAS53002046');  //汇报内容
  tsHours.Caption:=GetDBString('TAS53002047');  //工时信息
  tsItems.Caption:=GetDBString('TAS53002048');  //零件信息
  qryTas530T530_001.DisplayLabel:=GetDBString('TAS53002050');  //汇报编号
  qryTas530T530_002.DisplayLabel:=GetDBString('TAS53002051');  //工单编号
  qryTas530T510_001.DisplayLabel:=GetDBString('TAS53002052');  //任务编号
  qryTas530T510_005.DisplayLabel:=GetDBString('TAS53002053');  //优先级别
  qryTas530T510_002.DisplayLabel:=GetDBString('TAS53002054');  //任务名称
  qryTas530T100_002.DisplayLabel:=GetDBString('TAS53002055');  //任务类别
  qryTas530T530_003.DisplayLabel:=GetDBString('TAS53002056');  //完工比率
  qryTas530T520_019.DisplayLabel:=GetDBString('TAS53002057');  //执行人员
  qryTas530T530_004.DisplayLabel:=GetDBString('TAS53002058');  //汇报工时
  qryTas530T530_007.DisplayLabel:=GetDBString('TAS53002059');  //时间单位
  qryTas530T530_005.DisplayLabel:=GetDBString('TAS53002060');  //开始日期
  qryTas530T530_006.DisplayLabel:=GetDBString('TAS53002061');  //结束日期
  qryTas530W150_002.DisplayLabel:=GetDBString('TAS53002062');  //协助公司编号
  qryTas530W150_003.DisplayLabel:=GetDBString('TAS53002063');  //协助公司名称
  qryTas530T530_017.DisplayLabel:=GetDBString('TAS53002064');  //协助人员
  qryTas530T530_018.DisplayLabel:=GetDBString('TAS53002065');  //协助工时
  qryTas530O150_002.DisplayLabel:=GetDBString('TAS53002066');  //客户编号
  qryTas530O150_003.DisplayLabel:=GetDBString('TAS53002067');  //客户名称
  qryTas530O150_005.DisplayLabel:=GetDBString('TAS53002068');  //电话号码
  qryTas530O150_012.DisplayLabel:=GetDBString('TAS53002069');  //客户地址
  qryTas530O151_002.DisplayLabel:=GetDBString('TAS53002070');  //联系人员
  qryTas530O151_004.DisplayLabel:=GetDBString('TAS53002071');  //职务名称
  qryTas530O150_007.DisplayLabel:=GetDBString('TAS53002072');  //电子邮箱
  qryTas530I150_002.DisplayLabel:=GetDBString('TAS53002073');  //产品编号
  qryTas530I150_003.DisplayLabel:=GetDBString('TAS53002074');  //产品名称
  qryTas530T510_018.DisplayLabel:=GetDBString('TAS53002075');  //机身编号
  qryTas530I150_004.DisplayLabel:=GetDBString('TAS53002076');  //规格型号
  qryTas530I120_003.DisplayLabel:=GetDBString('TAS53002077');  //产品类别
  qryTas530M150_002.DisplayLabel:=GetDBString('TAS53002078');  //制造商号
  qryTas530M150_003.DisplayLabel:=GetDBString('TAS53002079');  //制造商名
  qryTas530T530_015.DisplayLabel:=GetDBString('TAS53002080');  //原因说明
  qryTas530T530_009.DisplayLabel:=GetDBString('TAS53002081');  //拖期原因
  qryTas530T530_010.DisplayLabel:=GetDBString('TAS53002082');  //后续处理
  qryTas530T530_011.DisplayLabel:=GetDBString('TAS53002083');  //制单日期
  qryTas530T530_012.DisplayLabel:=GetDBString('TAS53002084');  //制单人员
  qryTas530T530_013.DisplayLabel:=GetDBString('TAS53002085');  //修改日期
  qryTas530T530_014.DisplayLabel:=GetDBString('TAS53002086');  //修改人员

  adsTas531.Close;
  adsTas531.CreateDataSet;
  wwDBGrid1.ColumnByName('FPerson').DisplayLabel:=GetDBString('TAS53002087');    //执行人员
  wwDBGrid1.ColumnByName('FDate').DisplayLabel:=GetDBString('TAS53002088');      //汇报日期
  wwDBGrid1.ColumnByName('FFromTime').DisplayLabel:=GetDBString('TAS53002089');  //开始时间
  wwDBGrid1.ColumnByName('FToTime').DisplayLabel:=GetDBString('TAS53002090');    //完成时间
  wwDBGrid1.ColumnByName('FHours').DisplayLabel:=GetDBString('TAS53002091');     //工作时数(H)
  wwDBGrid1.ColumnByName('FOT').DisplayLabel:=GetDBString('TAS53002092');        //加班时数(H)
  wwDBGrid1.ColumnByName('FEndTime').DisplayLabel:=GetDBString('TAS53002093');   //下车时间
  wwDBGrid1.ColumnByName('FStartTime').DisplayLabel:=GetDBString('TAS53002094'); //乘车时间
  wwDBGrid1.ColumnByName('FTripHour').DisplayLabel:=GetDBString('TAS53002095');  //车程时间(H)
  wwDBGrid1.ColumnByName('FRemark').DisplayLabel:=GetDBString('TAS53002096');    //备注说明

  qryTas532.Close;
  qryTas532.Open;
  wwDBGrid2.ColumnByName('I150_002').DisplayLabel:=GetDBString('TAS53002097');  //零件编号
  wwDBGrid2.ColumnByName('I150_003').DisplayLabel:=GetDBString('TAS53002098');  //零件名称
  wwDBGrid2.ColumnByName('I150_004').DisplayLabel:=GetDBString('TAS53002099');  //规格型号
  wwDBGrid2.ColumnByName('T532_003').DisplayLabel:=GetDBString('TAS53002100');  //数量
  wwDBGrid2.ColumnByName('T532_004').DisplayLabel:=GetDBString('TAS53002101');  //状态
  wwDBGrid2.ColumnByName('T532_005').DisplayLabel:=GetDBString('TAS53002102');  //备注

  adsTas533.Close;
  adsTas533.CreateDataSet;
  tsQty.Caption:=GetDBString('TAS53002116');  //计费信息
  wwDBGrid3.ColumnByName('FItemID').DisplayLabel:=GetDBString('TAS53002117');    //产品编号
  wwDBGrid3.ColumnByName('FItemName').DisplayLabel:=GetDBString('TAS53002118');  //产品名称
  wwDBGrid3.ColumnByName('FItemSpec').DisplayLabel:=GetDBString('TAS53002119');  //规格型号
  wwDBGrid3.ColumnByName('FUnitName').DisplayLabel:=GetDBString('TAS53002120');  //计量单位
  wwDBGrid3.ColumnByName('FQty').DisplayLabel:=GetDBString('TAS53002121');       //发货数量
  wwDBGrid3.ColumnByName('FRemark').DisplayLabel:=GetDBString('TAS53002122');    //备注说明
  wwDBGrid3.ColumnByName('FItemPrice').DisplayLabel:=GetDBString('TAS53002046');       //销售单价
  wwDBGrid3.ColumnByName('FTotal').DisplayLabel:=GetDBString('TAS53002047');           //销售总额

  qryHrm150H150_002.DisplayLabel:=GetDBString('TAS53002106');  //员工编号
  qryHrm150H150_003.DisplayLabel:=GetDBString('TAS53002107');  //员工姓名

  qryInv150I150_002.DisplayLabel:=GetDBString('TAS53002110');  //零件编号
  qryInv150I150_003.DisplayLabel:=GetDBString('TAS53002111');  //零件名称
  qryInv150I150_004.DisplayLabel:=GetDBString('TAS53002112');  //规格型号

  mmiAdd1.Caption:=GetDBString('TAS53002113');  //新增(&I)
  mmiEdit1.Caption:=GetDBString('TAS53002114');  //修改(&U)
  mmiDel1.Caption:=GetDBString('TAS53002115');  //删除(&E)

  mmiAdd2.Caption:=mmiAdd1.Caption;  //新增(&I)
  mmiEdit2.Caption:=mmiEdit1.Caption;  //修改(&U)
  mmiDel2.Caption:=mmiDel1.Caption;  //删除(&E)

  AIsAutoCode:=GetAutoCoding('TAS530');
  edtCode.Enabled:=GetIsModifyCoding('TAS530');
  if edtCode.Enabled then edtCode.Color:=AEnableColor else edtCode.Color:=ADisableColor;

  AUnit[0]:=GetDBString('TAS53002040');  //时
  AUnit[1]:=GetDBString('TAS53002041');  //天
  AUnit[2]:=GetDBString('TAS53002042');  //周
  AUnit[3]:=GetDBString('TAS53002043');  //月
  cbUnit.Clear;
  cbUnit.Items.Add(AUnit[0]);  //时
  cbUnit.Items.Add(AUnit[1]);  //天
  cbUnit.Items.Add(AUnit[2]);  //周
  cbUnit.Items.Add(AUnit[3]);  //月
  cbUnit.ItemIndex:=1;  //天

  qryTas520.FieldByName('T520_001').DisplayLabel:=GetDBString('TAS53002006');  //工单编号
  qryTas520.FieldByName('T520_002').DisplayLabel:=GetDBString('TAS53002007');  //任务编号
  qryTas520.FieldByName('T510_002').DisplayLabel:=GetDBString('TAS53002009');  //任务名称
  qryOrd150.FieldByName('O150_002').DisplayLabel:=GetDBString('TAS53002044');  //客户编号
  qryOrd150.FieldByName('O150_003').DisplayLabel:=GetDBString('TAS53002045');  //客户名称

  adsTas110.Close;
  adsTas110.FieldDefs.Clear;
  adsTas110.FieldDefs.Add('FSelected',ftBoolean,0);
  adsTas110.FieldDefs.Add('T110_001',ftInteger,0);
  adsTas110.FieldDefs.Add('T110_002',ftInteger,0);
  adsTas110.FieldDefs.Add('T110_003',ftWideString,30);
  adsTas110.FieldDefs.Add('T110_004',ftInteger,0);
  adsTas110.FieldDefs.Add('T110_005',ftBoolean,0);
  adsTas110.CreateDataSet;

  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select * from TAS110 where T110_005<>0');
  SYSDM.qryQuery.Open;
  while not SYSDM.qryQuery.Eof do
  begin
    adsTas110.Append;
    adsTas110.FieldByName('FSelected').Value:=False;
    adsTas110.FieldByName('T110_001').Value:=SYSDM.qryQuery.FieldByName('T110_001').Value;
    adsTas110.FieldByName('T110_002').Value:=SYSDM.qryQuery.FieldByName('T110_002').Value;
    adsTas110.FieldByName('T110_003').Value:=SYSDM.qryQuery.FieldByName('T110_003').Value;
    adsTas110.FieldByName('T110_004').Value:=SYSDM.qryQuery.FieldByName('T110_004').Value;
    adsTas110.FieldByName('T110_005').Value:=SYSDM.qryQuery.FieldByName('T110_005').Value;
    adsTas110.Post;
    SYSDM.qryQuery.Next;
  end;

  cbContinue.Clear;
  qryTas120.Close;
  qryTas120.SQL.Clear;
  qryTas120.SQL.Add('select * from TAS120 where T120_001<>1 and T120_001<>4');
  qryTas120.Open;
  while not qryTas120.Eof do
  begin
    cbContinue.Items.Add(qryTas120.FieldByName('T120_003').AsString);
    qryTas120.Next;
  end;
  cbContinue.ItemIndex:=1; //完成状态

  PageControl1.ActivePageIndex:=0;

  //时间单位	0=时,1=天,2=周,3=月
  S:=GetSysParams('TAS0001');
  if S<>'' then cbUnit.ItemIndex:=StrToInt(S);
  //允许单据录入时更改时间单位
  cbUnit.Enabled:=GetSysParams('TAS0005')='Y';
  if cbUnit.Enabled then cbUnit.Color:=AEnableColor else cbUnit.Color:=ADisableColor;

  AIsHours:=GetSysParams('TAS0015')='Y'; //任务汇报时,是否录入详细的工时信息
  AIsItems:=GetSysParams('TAS0016')='Y'; //任务汇报时,是否录入详细的零件信息

  tsHours.TabVisible:=AIsHours;
  tsItems.TabVisible:=AIsItems;
  edtDays.Enabled:=not tsHours.TabVisible;
  edtFromDate.Enabled:=not tsHours.TabVisible;
  edtToDate.Enabled:=not tsHours.TabVisible;
  if edtDays.Enabled then edtDays.Color:=AEnableColor else edtDays.Color:=ADisableColor;
  if edtFromDate.Enabled then edtFromDate.Color:=AEnableColor else edtFromDate.Color:=ADisableColor;
  if edtToDate.Enabled then edtToDate.Color:=AEnableColor else edtToDate.Color:=ADisableColor;
end;

//设置原因说明的显示数据
procedure TTas530_02Form.SetReasonByReaID(AReasonNo:string);
var
  AStringList:TStringList;
  I:Integer;
  S:String;
begin
  adsTas110.First;
  while not adsTas110.Eof do
  begin
    adsTas110.Edit;
    adsTas110.FieldByName('FSelected').Value:=False;
    adsTas110.Post;
    adsTas110.Next;
  end;
  if AReasonNo='' then Exit;
  AStringList:=TStringList.Create;
  for I:=1 to Length(AReasonNo) do
  begin
    if Copy(AReasonNo,I,1)='[' then
      S:=''
    else if Copy(AReasonNo,I,1)=']' then
    begin
      AStringList.Add(trim(S));
      S:='';
    end else

⌨️ 快捷键说明

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