Day 9— 物品借用纪录系统 (1) 基础建构

今天我们要来制作新的专题:物品借用纪录微服务!

在学校,尤其是行政处室,最常出现的状况应该就是「借物」这件事情。

不过我想应该各种单位应该都是啦~毕竟资源有限嘛,不可能每个东西都买,只好问问看其他单位有没有「刚好」就有这种东西,而我们就「借」回来使用一下!

但是最困扰的是,可能每次借出去时,说好要还,但是最後大家都变成刘备,借了荆州但是死都不还…

这时候,有一个记录系统,会提醒你对方该还东西,还会自动发信给对方,这样对於我们这些金鱼上身的行政来说,这就是一大福音啊!

所以我们就来做这个「物品借用纪录系统」专题吧!


首先我们一样来建立一下简易流程图:

从这里面我们知道我们需要几个东西:

  • 申请者的 email
  • 申请者借用的物品及数量
  • 申请者预计归还时间
  • 其他你可能需要的资讯

有了这些後我们就可以制作表单以及建立试算表:

建立完成後一如往常填写 Demo 资料并在最後一栏插入 Check Box:

这些都完成後从利用 Day4 说明的方法打开 GAS 编辑器并重新命名:

这样前置就完成罗~


接下来我们先来实作打勾後就寄出「已经归还确认信件」吧!

首先我们先建构好主要的函式:

然後建立 SendMail() 函式:

function onItemReturn() {
  const ReturnItemCheckBoxCol = 7;
  const TheCheckCell = SpreadsheetApp.getActiveRange();
  if (TheCheckCell.getColumn() != ReturnItemCheckBoxCol) {
    return;
  }
  if (TheCheckCell.isChecked()) {
    const TheSheet = SpreadsheetApp.getActiveSheet();
    const TheSheetDataRange = TheSheet.getDataRange();
    const TheRow = TheCheckCell.getRow();
    const TheData = {
      email: TheSheetDataRange.getCell(TheRow, 2).getValue(),
      name: TheSheetDataRange.getCell(TheRow, 3).getValue(),
      itemName: TheSheetDataRange.getCell(TheRow, 4).getValue(),
      itemCount: TheSheetDataRange.getCell(TheRow, 5).getValue(),
      expireAt: TheSheetDataRange.getCell(TheRow, 6).getValue()
    };
    SendMail(TheData);
  }
}

然後到「触发条件」来设定「文件内容变更时」会触发 onItemReturn() 函式:

然後设定完权限开放:

接着我们测试一下:

大功告成!


今天我们就很简单的先把基础的内容建构完毕!

明天我们就要来把整个流程给完成罗~

敬请期待明天的内容!

今日作业:

把整个表单建起来吧!

记得作作业喔~


关於兔兔们:


我:今天应该够简单了吧?
学生:真的满简单的…(小声)简单到我觉得很偷懒
我:哪有偷懒啊!?我只是把…(小声)先前的内容…(更小声)重打一遍…
学生:老师偷懒啦!!!!

<<:  英雄列表范例:新增英雄

>>:  DAY9 Kotlin 基础 Repeat语法

Day-30 终於完赛!祝各位游戏愉快!

诚如我昨天所说的、漫长的 30 天终於要在今天结束了、所以那个、这篇完全是凑数用的。 先让我插一张首...

信任与安全感

前言 今天想跟大家讨论这个在团队内外之间都可能面对的「信任」问题。信任这件事,几乎大家都能理解它的重...

[DAY 11] PageBreakItem

基本上试题(Item)的部分都差不多介绍完了 接下来是出多份考卷的主要部分---PageBreak ...

D24 - 彭彭的课程# Python 网路连线程序、公开资料串接(2)

好的今天要开始来底霸个了QQ 昨天发生了第一个问题看一个实在是问号 昨天看了error code大概...

RESTful API 在 Amazon Linux 2 上传图片实作-Day 07

RESTful API 在 Amazon Linux 2 上传图片实作-Day 07 RESTful...