📄 tas530_02.pas
字号:
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 + -