jiangbiao пре 1 година
родитељ
комит
fe46153e71
36 измењених фајлова са 5117 додато и 0 уклоњено
  1. 103 0
      master/src/main/java/com/ruoyi/project/production/controller/TPpeCmldefLockerController.java
  2. 161 0
      master/src/main/java/com/ruoyi/project/production/controller/TPpeMainController.java
  3. 152 0
      master/src/main/java/com/ruoyi/project/production/controller/TPpePersonController.java
  4. 103 0
      master/src/main/java/com/ruoyi/project/production/controller/TPpeStaffLockerController.java
  5. 103 0
      master/src/main/java/com/ruoyi/project/production/controller/TPpeWardrobeController.java
  6. 246 0
      master/src/main/java/com/ruoyi/project/production/domain/TPpeCmldefLocker.java
  7. 250 0
      master/src/main/java/com/ruoyi/project/production/domain/TPpeMain.java
  8. 306 0
      master/src/main/java/com/ruoyi/project/production/domain/TPpePerson.java
  9. 288 0
      master/src/main/java/com/ruoyi/project/production/domain/TPpeStaffLocker.java
  10. 204 0
      master/src/main/java/com/ruoyi/project/production/domain/TPpeWardrobe.java
  11. 65 0
      master/src/main/java/com/ruoyi/project/production/mapper/TPpeCmldefLockerMapper.java
  12. 63 0
      master/src/main/java/com/ruoyi/project/production/mapper/TPpeMainMapper.java
  13. 63 0
      master/src/main/java/com/ruoyi/project/production/mapper/TPpePersonMapper.java
  14. 66 0
      master/src/main/java/com/ruoyi/project/production/mapper/TPpeStaffLockerMapper.java
  15. 65 0
      master/src/main/java/com/ruoyi/project/production/mapper/TPpeWardrobeMapper.java
  16. 62 0
      master/src/main/java/com/ruoyi/project/production/service/ITPpeCmldefLockerService.java
  17. 61 0
      master/src/main/java/com/ruoyi/project/production/service/ITPpeMainService.java
  18. 61 0
      master/src/main/java/com/ruoyi/project/production/service/ITPpePersonService.java
  19. 63 0
      master/src/main/java/com/ruoyi/project/production/service/ITPpeStaffLockerService.java
  20. 62 0
      master/src/main/java/com/ruoyi/project/production/service/ITPpeWardrobeService.java
  21. 99 0
      master/src/main/java/com/ruoyi/project/production/service/impl/TPpeCmldefLockerServiceImpl.java
  22. 93 0
      master/src/main/java/com/ruoyi/project/production/service/impl/TPpeMainServiceImpl.java
  23. 93 0
      master/src/main/java/com/ruoyi/project/production/service/impl/TPpePersonServiceImpl.java
  24. 99 0
      master/src/main/java/com/ruoyi/project/production/service/impl/TPpeStaffLockerServiceImpl.java
  25. 99 0
      master/src/main/java/com/ruoyi/project/production/service/impl/TPpeWardrobeServiceImpl.java
  26. 137 0
      master/src/main/resources/mybatis/production/TPpeCmldefLockerMapper.xml
  27. 112 0
      master/src/main/resources/mybatis/production/TPpeMainMapper.xml
  28. 151 0
      master/src/main/resources/mybatis/production/TPpePersonMapper.xml
  29. 152 0
      master/src/main/resources/mybatis/production/TPpeStaffLockerMapper.xml
  30. 122 0
      master/src/main/resources/mybatis/production/TPpeWardrobeMapper.xml
  31. 53 0
      ui/src/api/production/cmldefLocker.js
  32. 61 0
      ui/src/api/production/main.js
  33. 53 0
      ui/src/api/production/person.js
  34. 53 0
      ui/src/api/production/staffLocker.js
  35. 53 0
      ui/src/api/production/wardrobe.js
  36. 1140 0
      ui/src/views/production/person/index.vue

+ 103 - 0
master/src/main/java/com/ruoyi/project/production/controller/TPpeCmldefLockerController.java

@@ -0,0 +1,103 @@
+package com.ruoyi.project.production.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.project.production.domain.TPpeCmldefLocker;
+import com.ruoyi.project.production.service.ITPpeCmldefLockerService;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.page.TableDataInfo;
+
+/**
+ * 自行车棚防化靴/防化服柜子Controller
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+@RestController
+@RequestMapping("/production/cmldefLocker")
+public class TPpeCmldefLockerController extends BaseController
+{
+    @Autowired
+    private ITPpeCmldefLockerService tPpeCmldefLockerService;
+
+    /**
+     * 查询自行车棚防化靴/防化服柜子列表
+     */
+    @PreAuthorize("@ss.hasPermi('production:cmldefLocker:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TPpeCmldefLocker tPpeCmldefLocker)
+    {
+        startPage();
+        List<TPpeCmldefLocker> list = tPpeCmldefLockerService.selectTPpeCmldefLockerList(tPpeCmldefLocker);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出自行车棚防化靴/防化服柜子列表
+     */
+    @PreAuthorize("@ss.hasPermi('production:cmldefLocker:export')")
+    @Log(title = "自行车棚防化靴/防化服柜子", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TPpeCmldefLocker tPpeCmldefLocker)
+    {
+        List<TPpeCmldefLocker> list = tPpeCmldefLockerService.selectTPpeCmldefLockerList(tPpeCmldefLocker);
+        ExcelUtil<TPpeCmldefLocker> util = new ExcelUtil<TPpeCmldefLocker>(TPpeCmldefLocker.class);
+        return util.exportExcel(list, "cmldefLocker");
+    }
+
+    /**
+     * 获取自行车棚防化靴/防化服柜子详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('production:cmldefLocker:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(tPpeCmldefLockerService.selectTPpeCmldefLockerById(id));
+    }
+
+    /**
+     * 新增自行车棚防化靴/防化服柜子
+     */
+    @PreAuthorize("@ss.hasPermi('production:cmldefLocker:add')")
+    @Log(title = "自行车棚防化靴/防化服柜子", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TPpeCmldefLocker tPpeCmldefLocker)
+    {
+        return toAjax(tPpeCmldefLockerService.insertTPpeCmldefLocker(tPpeCmldefLocker));
+    }
+
+    /**
+     * 修改自行车棚防化靴/防化服柜子
+     */
+    @PreAuthorize("@ss.hasPermi('production:cmldefLocker:edit')")
+    @Log(title = "自行车棚防化靴/防化服柜子", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TPpeCmldefLocker tPpeCmldefLocker)
+    {
+        return toAjax(tPpeCmldefLockerService.updateTPpeCmldefLocker(tPpeCmldefLocker));
+    }
+
+    /**
+     * 删除自行车棚防化靴/防化服柜子
+     */
+    @PreAuthorize("@ss.hasPermi('production:cmldefLocker:remove')")
+    @Log(title = "自行车棚防化靴/防化服柜子", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tPpeCmldefLockerService.deleteTPpeCmldefLockerByIds(ids));
+    }
+}

+ 161 - 0
master/src/main/java/com/ruoyi/project/production/controller/TPpeMainController.java

@@ -0,0 +1,161 @@
+package com.ruoyi.project.production.controller;
+
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.project.production.domain.TPpeCmldefLocker;
+import com.ruoyi.project.production.domain.TPpeMain;
+import com.ruoyi.project.production.domain.TPpeStaffLocker;
+import com.ruoyi.project.production.domain.TPpeWardrobe;
+import com.ruoyi.project.production.service.ITPpeCmldefLockerService;
+import com.ruoyi.project.production.service.ITPpeMainService;
+import com.ruoyi.project.production.service.ITPpeStaffLockerService;
+import com.ruoyi.project.production.service.ITPpeWardrobeService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 员工PPE检查记录Controller
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+@RestController
+@RequestMapping("/production/main")
+public class TPpeMainController extends BaseController {
+    @Autowired
+    private ITPpeMainService tPpeMainService;
+    @Autowired
+    private ITPpeStaffLockerService tPpeStaffLockerService;
+    @Autowired
+    private ITPpeCmldefLockerService tPpeCmldefLockerService;
+    @Autowired
+    private ITPpeWardrobeService tPpeWardrobeService;
+
+    /**
+     * 查询员工PPE检查记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('production:main:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TPpeMain tPpeMain) {
+        startPage();
+        List<TPpeMain> list = tPpeMainService.selectTPpeMainList(tPpeMain);
+        return getDataTable(list);
+    }
+
+
+    /**
+     * 查询员工PPE检查记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('production:main:list')")
+    @GetMapping("/lastCheckData")
+    public AjaxResult lastCheckData(TPpeMain tPpeMain) {
+        List<TPpeMain> list = tPpeMainService.selectTPpeMainList(tPpeMain);
+        TPpeMain main = new TPpeMain();
+        if (CollectionUtils.isNotEmpty(list)) {
+            main = list.get(0);
+            List<TPpeCmldefLocker> tPpeCmldefLockers = tPpeCmldefLockerService.selectTPpeCmldefLockerListByMainId(main.getId());
+            main.setCmldefLockers(tPpeCmldefLockers);
+            if (CollectionUtils.isNotEmpty(tPpeCmldefLockers))
+                main.setCmldefRemark(tPpeCmldefLockers.get(0).getRemarks());
+            List<TPpeStaffLocker> tPpeStaffLockers = tPpeStaffLockerService.selectTPpeStaffLockerListByMainId(main.getId());
+            main.setStaffLockers(tPpeStaffLockers);
+            if (CollectionUtils.isNotEmpty(tPpeStaffLockers))
+                main.setStaffRemark(tPpeStaffLockers.get(0).getRemarks());
+            List<TPpeWardrobe> tPpeWardrobes = tPpeWardrobeService.selectTPpeWardrobeListByMainId(main.getId());
+            main.setWardrobes(tPpeWardrobes);
+            if (CollectionUtils.isNotEmpty(tPpeWardrobes))
+                main.setWardrobeRemark(tPpeWardrobes.get(0).getRemarks());
+        }
+        return AjaxResult.success(main);
+    }
+
+    /**
+     * 导出员工PPE检查记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('production:main:export')")
+    @Log(title = "员工PPE检查记录", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TPpeMain tPpeMain) {
+        List<TPpeMain> list = tPpeMainService.selectTPpeMainList(tPpeMain);
+        ExcelUtil<TPpeMain> util = new ExcelUtil<TPpeMain>(TPpeMain.class);
+        return util.exportExcel(list, "main");
+    }
+
+    /**
+     * 获取员工PPE检查记录详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('production:main:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return AjaxResult.success(tPpeMainService.selectTPpeMainById(id));
+    }
+
+    /**
+     * 新增员工PPE检查记录
+     */
+    @PreAuthorize("@ss.hasPermi('production:main:add')")
+    @Log(title = "员工PPE检查记录", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TPpeMain tPpeMain) {
+        tPpeMain.setChecker(getNickName());
+        tPpeMain.setCreaterCode(getUserId().toString());
+        tPpeMain.setCheckDate(new Date());
+        tPpeMain.setCreatedate(new Date());
+        if (tPpeMainService.insertTPpeMain(tPpeMain) > 0) {
+            for (TPpeCmldefLocker cmldefLocker : tPpeMain.getCmldefLockers()) {
+                cmldefLocker.setMainId(tPpeMain.getId());
+                cmldefLocker.setDeptId(tPpeMain.getDeptId());
+                cmldefLocker.setRemarks(tPpeMain.getCmldefRemark());
+                cmldefLocker.setCreatedate(new Date());
+                cmldefLocker.setCreaterCode(getUserId().toString());
+                tPpeCmldefLockerService.insertTPpeCmldefLocker(cmldefLocker);
+            }
+            for (TPpeStaffLocker staffLocker : tPpeMain.getStaffLockers()) {
+                staffLocker.setMainId(tPpeMain.getId());
+                staffLocker.setDeptId(tPpeMain.getDeptId());
+                staffLocker.setRemarks(tPpeMain.getStaffRemark());
+                staffLocker.setCreatedate(new Date());
+                staffLocker.setCreaterCode(getUserId().toString());
+                tPpeStaffLockerService.insertTPpeStaffLocker(staffLocker);
+            }
+            for (TPpeWardrobe wardrobe : tPpeMain.getWardrobes()) {
+                wardrobe.setMainId(tPpeMain.getId());
+                wardrobe.setDeptId(tPpeMain.getDeptId());
+                wardrobe.setRemarks(tPpeMain.getWardrobeRemark());
+                wardrobe.setCreatedate(new Date());
+                wardrobe.setCreaterCode(getUserId().toString());
+                tPpeWardrobeService.insertTPpeWardrobe(wardrobe);
+            }
+        }
+        return AjaxResult.success();
+    }
+
+    /**
+     * 修改员工PPE检查记录
+     */
+    @PreAuthorize("@ss.hasPermi('production:main:edit')")
+    @Log(title = "员工PPE检查记录", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TPpeMain tPpeMain) {
+        return toAjax(tPpeMainService.updateTPpeMain(tPpeMain));
+    }
+
+    /**
+     * 删除员工PPE检查记录
+     */
+    @PreAuthorize("@ss.hasPermi('production:main:remove')")
+    @Log(title = "员工PPE检查记录", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(tPpeMainService.deleteTPpeMainByIds(ids));
+    }
+}

+ 152 - 0
master/src/main/java/com/ruoyi/project/production/controller/TPpePersonController.java

@@ -0,0 +1,152 @@
+package com.ruoyi.project.production.controller;
+
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.project.plant.domain.TStaffmgr;
+import com.ruoyi.project.plant.service.ITStaffmgrService;
+import com.ruoyi.project.production.domain.TPpePerson;
+import com.ruoyi.project.production.service.ITPpePersonService;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.service.ISysUserService;
+import com.ruoyi.project.training.domain.TWorklicense;
+import com.ruoyi.project.training.service.ITWorklicenseService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 员工PPE检查Controller
+ *
+ * @author ssy
+ * @date 2023-11-28
+ */
+@RestController
+@RequestMapping("/production/person")
+public class TPpePersonController extends BaseController {
+    @Autowired
+    private ITPpePersonService tPpePersonService;
+
+    @Autowired
+    private ITWorklicenseService tWorklicenseService;
+
+    @Autowired
+    private ISysUserService sysUserService;
+
+    @Autowired
+    private ITStaffmgrService tStaffmgrService;
+
+    /**
+     * 查询员工PPE检查列表
+     */
+    @PreAuthorize("@ss.hasPermi('production:person:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TPpePerson tPpePerson) {
+        startPage();
+        List<TPpePerson> list = tPpePersonService.selectTPpePersonList(tPpePerson);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出员工PPE检查列表
+     */
+    @PreAuthorize("@ss.hasPermi('production:person:export')")
+    @Log(title = "员工PPE检查", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TPpePerson tPpePerson) {
+        List<TPpePerson> list = tPpePersonService.selectTPpePersonList(tPpePerson);
+        ExcelUtil<TPpePerson> util = new ExcelUtil<TPpePerson>(TPpePerson.class);
+        return util.exportExcel(list, "person");
+    }
+
+    /**
+     * 获取员工PPE检查详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('production:person:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return AjaxResult.success(tPpePersonService.selectTPpePersonById(id));
+    }
+
+    /**
+     * 新增员工PPE检查
+     */
+    @PreAuthorize("@ss.hasPermi('production:person:add')")
+    @Log(title = "员工PPE检查", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TPpePerson tPpePerson) {
+        TStaffmgr tStaffmgr = new TStaffmgr();
+        tStaffmgr.setActualpost("36");
+        tStaffmgr.setTeam("18");
+        for (TStaffmgr staffmgr : tStaffmgrService.selectTStaffmgrList(tStaffmgr)) {
+            TPpePerson person = new TPpePerson();
+            person.setEmployeeid(staffmgr.getStaffid());
+            if (CollectionUtils.isNotEmpty(tPpePersonService.selectTPpePersonList(person))) {
+                continue;
+            }
+            person.setPlantCode(staffmgr.getPlantCode());
+            person.setName(staffmgr.getName());
+            person.setClasses(staffmgr.getTeam());
+            person.setSex(staffmgr.getSex());
+            person.setBoiler("0");
+            person.setCracking("0");
+            person.setHotarea("0");
+            person.setColdarea("0");
+            person.setCreaterCode(getUserId().toString());
+            person.setCreatedate(new Date());
+            person.setDeptId(staffmgr.getDeptId());
+            person.setOperator("1");
+            tPpePersonService.insertTPpePerson(person);
+        }
+        for (TWorklicense tWorklicense : tWorklicenseService.selectTWorklicenseList(new TWorklicense())) {
+            TPpePerson person = new TPpePerson();
+            person.setEmployeeid(tWorklicense.getEmployeeid());
+            if (CollectionUtils.isNotEmpty(tPpePersonService.selectTPpePersonList(person))) {
+                continue;
+            }
+            person.setPlantCode(tWorklicense.getPlantCode());
+            person.setName(tWorklicense.getName());
+            person.setClasses(tWorklicense.getClasses());
+            SysUser user = sysUserService.selectUserByStaffId(tWorklicense.getEmployeeid());
+            if (user != null)
+                person.setSex(user.getSex());
+            person.setBoiler(tWorklicense.getBoiler());
+            person.setCracking(tWorklicense.getCracking());
+            person.setHotarea(tWorklicense.getHotarea());
+            person.setColdarea(tWorklicense.getColdarea());
+            person.setCreaterCode(getUserId().toString());
+            person.setCreatedate(new Date());
+            person.setDeptId(tWorklicense.getDeptId());
+            person.setOperator("0");
+            tPpePersonService.insertTPpePerson(person);
+        }
+        return AjaxResult.success();
+    }
+
+    /**
+     * 修改员工PPE检查
+     */
+    @PreAuthorize("@ss.hasPermi('production:person:edit')")
+    @Log(title = "员工PPE检查", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TPpePerson tPpePerson) {
+        return toAjax(tPpePersonService.updateTPpePerson(tPpePerson));
+    }
+
+    /**
+     * 删除员工PPE检查
+     */
+    @PreAuthorize("@ss.hasPermi('production:person:remove')")
+    @Log(title = "员工PPE检查", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(tPpePersonService.deleteTPpePersonByIds(ids));
+    }
+}

+ 103 - 0
master/src/main/java/com/ruoyi/project/production/controller/TPpeStaffLockerController.java

@@ -0,0 +1,103 @@
+package com.ruoyi.project.production.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.project.production.domain.TPpeStaffLocker;
+import com.ruoyi.project.production.service.ITPpeStaffLockerService;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.page.TableDataInfo;
+
+/**
+ * 自行车棚员工PPE柜Controller
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+@RestController
+@RequestMapping("/production/staffLocker")
+public class TPpeStaffLockerController extends BaseController
+{
+    @Autowired
+    private ITPpeStaffLockerService tPpeStaffLockerService;
+
+    /**
+     * 查询自行车棚员工PPE柜列表
+     */
+    @PreAuthorize("@ss.hasPermi('production:staffLocker:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TPpeStaffLocker tPpeStaffLocker)
+    {
+        startPage();
+        List<TPpeStaffLocker> list = tPpeStaffLockerService.selectTPpeStaffLockerList(tPpeStaffLocker);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出自行车棚员工PPE柜列表
+     */
+    @PreAuthorize("@ss.hasPermi('production:staffLocker:export')")
+    @Log(title = "自行车棚员工PPE柜", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TPpeStaffLocker tPpeStaffLocker)
+    {
+        List<TPpeStaffLocker> list = tPpeStaffLockerService.selectTPpeStaffLockerList(tPpeStaffLocker);
+        ExcelUtil<TPpeStaffLocker> util = new ExcelUtil<TPpeStaffLocker>(TPpeStaffLocker.class);
+        return util.exportExcel(list, "staffLocker");
+    }
+
+    /**
+     * 获取自行车棚员工PPE柜详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('production:staffLocker:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(tPpeStaffLockerService.selectTPpeStaffLockerById(id));
+    }
+
+    /**
+     * 新增自行车棚员工PPE柜
+     */
+    @PreAuthorize("@ss.hasPermi('production:staffLocker:add')")
+    @Log(title = "自行车棚员工PPE柜", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TPpeStaffLocker tPpeStaffLocker)
+    {
+        return toAjax(tPpeStaffLockerService.insertTPpeStaffLocker(tPpeStaffLocker));
+    }
+
+    /**
+     * 修改自行车棚员工PPE柜
+     */
+    @PreAuthorize("@ss.hasPermi('production:staffLocker:edit')")
+    @Log(title = "自行车棚员工PPE柜", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TPpeStaffLocker tPpeStaffLocker)
+    {
+        return toAjax(tPpeStaffLockerService.updateTPpeStaffLocker(tPpeStaffLocker));
+    }
+
+    /**
+     * 删除自行车棚员工PPE柜
+     */
+    @PreAuthorize("@ss.hasPermi('production:staffLocker:remove')")
+    @Log(title = "自行车棚员工PPE柜", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tPpeStaffLockerService.deleteTPpeStaffLockerByIds(ids));
+    }
+}

+ 103 - 0
master/src/main/java/com/ruoyi/project/production/controller/TPpeWardrobeController.java

@@ -0,0 +1,103 @@
+package com.ruoyi.project.production.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.project.production.domain.TPpeWardrobe;
+import com.ruoyi.project.production.service.ITPpeWardrobeService;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.page.TableDataInfo;
+
+/**
+ * 更衣柜Controller
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+@RestController
+@RequestMapping("/production/wardrobe")
+public class TPpeWardrobeController extends BaseController
+{
+    @Autowired
+    private ITPpeWardrobeService tPpeWardrobeService;
+
+    /**
+     * 查询更衣柜列表
+     */
+    @PreAuthorize("@ss.hasPermi('production:wardrobe:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TPpeWardrobe tPpeWardrobe)
+    {
+        startPage();
+        List<TPpeWardrobe> list = tPpeWardrobeService.selectTPpeWardrobeList(tPpeWardrobe);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出更衣柜列表
+     */
+    @PreAuthorize("@ss.hasPermi('production:wardrobe:export')")
+    @Log(title = "更衣柜", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TPpeWardrobe tPpeWardrobe)
+    {
+        List<TPpeWardrobe> list = tPpeWardrobeService.selectTPpeWardrobeList(tPpeWardrobe);
+        ExcelUtil<TPpeWardrobe> util = new ExcelUtil<TPpeWardrobe>(TPpeWardrobe.class);
+        return util.exportExcel(list, "wardrobe");
+    }
+
+    /**
+     * 获取更衣柜详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('production:wardrobe:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(tPpeWardrobeService.selectTPpeWardrobeById(id));
+    }
+
+    /**
+     * 新增更衣柜
+     */
+    @PreAuthorize("@ss.hasPermi('production:wardrobe:add')")
+    @Log(title = "更衣柜", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TPpeWardrobe tPpeWardrobe)
+    {
+        return toAjax(tPpeWardrobeService.insertTPpeWardrobe(tPpeWardrobe));
+    }
+
+    /**
+     * 修改更衣柜
+     */
+    @PreAuthorize("@ss.hasPermi('production:wardrobe:edit')")
+    @Log(title = "更衣柜", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TPpeWardrobe tPpeWardrobe)
+    {
+        return toAjax(tPpeWardrobeService.updateTPpeWardrobe(tPpeWardrobe));
+    }
+
+    /**
+     * 删除更衣柜
+     */
+    @PreAuthorize("@ss.hasPermi('production:wardrobe:remove')")
+    @Log(title = "更衣柜", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tPpeWardrobeService.deleteTPpeWardrobeByIds(ids));
+    }
+}

+ 246 - 0
master/src/main/java/com/ruoyi/project/production/domain/TPpeCmldefLocker.java

@@ -0,0 +1,246 @@
+package com.ruoyi.project.production.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 自行车棚防化靴/防化服柜子对象 t_ppe_cmldef_locker
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+public class TPpeCmldefLocker extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** ID */
+    private Long id;
+
+    /** PPE种类 */
+    @Excel(name = "PPE种类")
+    private String ppeType;
+
+    /** 应配备岗位 */
+    @Excel(name = "应配备岗位")
+    private String usePost;
+
+    /** 是否配备 */
+    @Excel(name = "是否配备")
+    private String isEquip;
+
+    /** 是否无破损、未被污染 */
+    @Excel(name = "是否无破损、未被污染")
+    private String isPollution;
+
+    /** 摆放符合要求 */
+    @Excel(name = "摆放符合要求")
+    private String putAsRequired;
+
+    /** 检验合格的标识在有效期内 */
+    @Excel(name = "检验合格的标识在有效期内")
+    private String isIdentification;
+
+    /** 关联主表id */
+    @Excel(name = "关联主表id")
+    private Long mainId;
+
+    /** 删除状态 */
+    private Long delFlag;
+
+    /** 创建人 */
+    @Excel(name = "创建人")
+    private String createrCode;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdate;
+
+    /** 修改人 */
+    @Excel(name = "修改人")
+    private String updaterCode;
+
+    /** 修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedate;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remarks;
+
+    /** 部门编号 */
+    @Excel(name = "部门编号")
+    private Long deptId;
+
+    private String deptName;
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setPpeType(String ppeType)
+    {
+        this.ppeType = ppeType;
+    }
+
+    public String getPpeType()
+    {
+        return ppeType;
+    }
+    public void setUsePost(String usePost)
+    {
+        this.usePost = usePost;
+    }
+
+    public String getUsePost()
+    {
+        return usePost;
+    }
+    public void setIsEquip(String isEquip)
+    {
+        this.isEquip = isEquip;
+    }
+
+    public String getIsEquip()
+    {
+        return isEquip;
+    }
+    public void setIsPollution(String isPollution)
+    {
+        this.isPollution = isPollution;
+    }
+
+    public String getIsPollution()
+    {
+        return isPollution;
+    }
+    public void setPutAsRequired(String putAsRequired)
+    {
+        this.putAsRequired = putAsRequired;
+    }
+
+    public String getPutAsRequired()
+    {
+        return putAsRequired;
+    }
+    public void setIsIdentification(String isIdentification)
+    {
+        this.isIdentification = isIdentification;
+    }
+
+    public String getIsIdentification()
+    {
+        return isIdentification;
+    }
+    public void setMainId(Long mainId)
+    {
+        this.mainId = mainId;
+    }
+
+    public Long getMainId()
+    {
+        return mainId;
+    }
+    public void setDelFlag(Long delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Long getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setCreaterCode(String createrCode)
+    {
+        this.createrCode = createrCode;
+    }
+
+    public String getCreaterCode()
+    {
+        return createrCode;
+    }
+    public void setCreatedate(Date createdate)
+    {
+        this.createdate = createdate;
+    }
+
+    public Date getCreatedate()
+    {
+        return createdate;
+    }
+    public void setUpdaterCode(String updaterCode)
+    {
+        this.updaterCode = updaterCode;
+    }
+
+    public String getUpdaterCode()
+    {
+        return updaterCode;
+    }
+    public void setUpdatedate(Date updatedate)
+    {
+        this.updatedate = updatedate;
+    }
+
+    public Date getUpdatedate()
+    {
+        return updatedate;
+    }
+    public void setRemarks(String remarks)
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks()
+    {
+        return remarks;
+    }
+    public void setDeptId(Long deptId)
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId()
+    {
+        return deptId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("ppeType", getPpeType())
+            .append("usePost", getUsePost())
+            .append("isEquip", getIsEquip())
+            .append("isPollution", getIsPollution())
+            .append("putAsRequired", getPutAsRequired())
+            .append("isIdentification", getIsIdentification())
+            .append("mainId", getMainId())
+            .append("delFlag", getDelFlag())
+            .append("createrCode", getCreaterCode())
+            .append("createdate", getCreatedate())
+            .append("updaterCode", getUpdaterCode())
+            .append("updatedate", getUpdatedate())
+            .append("remarks", getRemarks())
+            .append("deptId", getDeptId())
+            .toString();
+    }
+}

+ 250 - 0
master/src/main/java/com/ruoyi/project/production/domain/TPpeMain.java

@@ -0,0 +1,250 @@
+package com.ruoyi.project.production.domain;
+
+import java.util.Date;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 员工PPE检查记录对象 t_ppe_main
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+public class TPpeMain extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 唯一标识ID */
+    private Long id;
+
+    /** 关联员工编号 */
+    @Excel(name = "关联员工编号")
+    private Long staffId;
+
+    /** 检查日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "检查日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date checkDate;
+
+    /** 检查人 */
+    @Excel(name = "检查人")
+    private String checker;
+
+    /** 删除状态 */
+    private Long delFlag;
+
+    /** 创建人 */
+    @Excel(name = "创建人")
+    private String createrCode;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdate;
+
+    /** 修改人 */
+    @Excel(name = "修改人")
+    private String updaterCode;
+
+    /** 修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedate;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remarks;
+
+    /** 部门编号 */
+    @Excel(name = "部门编号")
+    private Long deptId;
+
+    private List<TPpeStaffLocker> staffLockers;
+    private String staffRemark;
+
+    private List<TPpeCmldefLocker> cmldefLockers;
+    private String cmldefRemark;
+
+    private List<TPpeWardrobe> wardrobes;
+    private String wardrobeRemark;
+
+    private String deptName;
+
+    public String getStaffRemark() {
+        return staffRemark;
+    }
+
+    public void setStaffRemark(String staffRemark) {
+        this.staffRemark = staffRemark;
+    }
+
+    public String getCmldefRemark() {
+        return cmldefRemark;
+    }
+
+    public void setCmldefRemark(String cmldefRemark) {
+        this.cmldefRemark = cmldefRemark;
+    }
+
+    public String getWardrobeRemark() {
+        return wardrobeRemark;
+    }
+
+    public void setWardrobeRemark(String wardrobeRemark) {
+        this.wardrobeRemark = wardrobeRemark;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public List<TPpeStaffLocker> getStaffLockers() {
+        return staffLockers;
+    }
+
+    public void setStaffLockers(List<TPpeStaffLocker> staffLockers) {
+        this.staffLockers = staffLockers;
+    }
+
+    public List<TPpeCmldefLocker> getCmldefLockers() {
+        return cmldefLockers;
+    }
+
+    public void setCmldefLockers(List<TPpeCmldefLocker> cmldefLockers) {
+        this.cmldefLockers = cmldefLockers;
+    }
+
+    public List<TPpeWardrobe> getWardrobes() {
+        return wardrobes;
+    }
+
+    public void setWardrobes(List<TPpeWardrobe> wardrobes) {
+        this.wardrobes = wardrobes;
+    }
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setStaffId(Long staffId)
+    {
+        this.staffId = staffId;
+    }
+
+    public Long getStaffId()
+    {
+        return staffId;
+    }
+    public void setCheckDate(Date checkDate)
+    {
+        this.checkDate = checkDate;
+    }
+
+    public Date getCheckDate()
+    {
+        return checkDate;
+    }
+    public void setChecker(String checker)
+    {
+        this.checker = checker;
+    }
+
+    public String getChecker()
+    {
+        return checker;
+    }
+    public void setDelFlag(Long delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Long getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setCreaterCode(String createrCode)
+    {
+        this.createrCode = createrCode;
+    }
+
+    public String getCreaterCode()
+    {
+        return createrCode;
+    }
+    public void setCreatedate(Date createdate)
+    {
+        this.createdate = createdate;
+    }
+
+    public Date getCreatedate()
+    {
+        return createdate;
+    }
+    public void setUpdaterCode(String updaterCode)
+    {
+        this.updaterCode = updaterCode;
+    }
+
+    public String getUpdaterCode()
+    {
+        return updaterCode;
+    }
+    public void setUpdatedate(Date updatedate)
+    {
+        this.updatedate = updatedate;
+    }
+
+    public Date getUpdatedate()
+    {
+        return updatedate;
+    }
+    public void setRemarks(String remarks)
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks()
+    {
+        return remarks;
+    }
+    public void setDeptId(Long deptId)
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId()
+    {
+        return deptId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("staffId", getStaffId())
+            .append("checkDate", getCheckDate())
+            .append("checker", getChecker())
+            .append("delFlag", getDelFlag())
+            .append("createrCode", getCreaterCode())
+            .append("createdate", getCreatedate())
+            .append("updaterCode", getUpdaterCode())
+            .append("updatedate", getUpdatedate())
+            .append("remarks", getRemarks())
+            .append("deptId", getDeptId())
+            .toString();
+    }
+}

+ 306 - 0
master/src/main/java/com/ruoyi/project/production/domain/TPpePerson.java

@@ -0,0 +1,306 @@
+package com.ruoyi.project.production.domain;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 员工PPE检查对象 t_ppe_person
+ *
+ * @author ssy
+ * @date 2023-11-28
+ */
+public class TPpePerson extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 唯一标识ID */
+    private Long id;
+
+    /** 装置名称 */
+    @Excel(name = "装置名称")
+    private String plantCode;
+
+    /** 姓名 */
+    @Excel(name = "姓名")
+    private String name;
+
+    /** 员工号 */
+    @Excel(name = "员工号")
+    private String employeeid;
+
+    /** 班组 */
+    @Excel(name = "班组")
+    private String classes;
+
+    /** 性别 */
+    @Excel(name = "性别")
+    private String sex;
+
+    /** 裂解 */
+    @Excel(name = "裂解")
+    private String boiler;
+
+    /** 压缩 */
+    @Excel(name = "压缩")
+    private String cracking;
+
+    /** 分离 */
+    @Excel(name = "分离")
+    private String hotarea;
+
+    /** PGU/AEU */
+    @Excel(name = "PGU/AEU")
+    private String coldarea;
+
+    /** 有效期 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "有效期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date validity;
+
+    /** 删除状态 */
+    private Long delFlag;
+
+    /** 创建人 */
+    @Excel(name = "创建人")
+    private String createrCode;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdate;
+
+    /** 修改人 */
+    @Excel(name = "修改人")
+    private String updaterCode;
+
+    /** 修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedate;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remarks;
+
+    /** 部门编号 */
+    @Excel(name = "部门编号")
+    private Long deptId;
+
+    @TableField(exist = false)
+    private String deptName;
+
+    /** 白班操作员 */
+    @Excel(name = "白班操作员")
+    private String operator;
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setPlantCode(String plantCode)
+    {
+        this.plantCode = plantCode;
+    }
+
+    public String getPlantCode()
+    {
+        return plantCode;
+    }
+    public void setName(String name)
+    {
+        this.name = name;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+    public void setEmployeeid(String employeeid)
+    {
+        this.employeeid = employeeid;
+    }
+
+    public String getEmployeeid()
+    {
+        return employeeid;
+    }
+    public void setClasses(String classes)
+    {
+        this.classes = classes;
+    }
+
+    public String getClasses()
+    {
+        return classes;
+    }
+    public void setSex(String sex)
+    {
+        this.sex = sex;
+    }
+
+    public String getSex()
+    {
+        return sex;
+    }
+    public void setBoiler(String boiler)
+    {
+        this.boiler = boiler;
+    }
+
+    public String getBoiler()
+    {
+        return boiler;
+    }
+    public void setCracking(String cracking)
+    {
+        this.cracking = cracking;
+    }
+
+    public String getCracking()
+    {
+        return cracking;
+    }
+    public void setHotarea(String hotarea)
+    {
+        this.hotarea = hotarea;
+    }
+
+    public String getHotarea()
+    {
+        return hotarea;
+    }
+    public void setColdarea(String coldarea)
+    {
+        this.coldarea = coldarea;
+    }
+
+    public String getColdarea()
+    {
+        return coldarea;
+    }
+    public void setValidity(Date validity)
+    {
+        this.validity = validity;
+    }
+
+    public Date getValidity()
+    {
+        return validity;
+    }
+    public void setDelFlag(Long delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Long getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setCreaterCode(String createrCode)
+    {
+        this.createrCode = createrCode;
+    }
+
+    public String getCreaterCode()
+    {
+        return createrCode;
+    }
+    public void setCreatedate(Date createdate)
+    {
+        this.createdate = createdate;
+    }
+
+    public Date getCreatedate()
+    {
+        return createdate;
+    }
+    public void setUpdaterCode(String updaterCode)
+    {
+        this.updaterCode = updaterCode;
+    }
+
+    public String getUpdaterCode()
+    {
+        return updaterCode;
+    }
+    public void setUpdatedate(Date updatedate)
+    {
+        this.updatedate = updatedate;
+    }
+
+    public Date getUpdatedate()
+    {
+        return updatedate;
+    }
+    public void setRemarks(String remarks)
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks()
+    {
+        return remarks;
+    }
+    public void setDeptId(Long deptId)
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId()
+    {
+        return deptId;
+    }
+    public void setOperator(String operator)
+    {
+        this.operator = operator;
+    }
+
+    public String getOperator()
+    {
+        return operator;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("plantCode", getPlantCode())
+            .append("name", getName())
+            .append("employeeid", getEmployeeid())
+            .append("classes", getClasses())
+            .append("sex", getSex())
+            .append("boiler", getBoiler())
+            .append("cracking", getCracking())
+            .append("hotarea", getHotarea())
+            .append("coldarea", getColdarea())
+            .append("validity", getValidity())
+            .append("delFlag", getDelFlag())
+            .append("createrCode", getCreaterCode())
+            .append("createdate", getCreatedate())
+            .append("updaterCode", getUpdaterCode())
+            .append("updatedate", getUpdatedate())
+            .append("remarks", getRemarks())
+            .append("deptId", getDeptId())
+            .append("operator", getOperator())
+            .toString();
+    }
+}

+ 288 - 0
master/src/main/java/com/ruoyi/project/production/domain/TPpeStaffLocker.java

@@ -0,0 +1,288 @@
+package com.ruoyi.project.production.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 自行车棚员工PPE柜对象 t_ppe_staff_locker
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+public class TPpeStaffLocker extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** ID */
+    private Long id;
+
+    /** PPE种类 */
+    @Excel(name = "PPE种类")
+    private String ppeType;
+
+    /** 应配备岗位 */
+    @Excel(name = "应配备岗位")
+    private String usePost;
+
+    /** 是否配备 */
+    @Excel(name = "是否配备")
+    private String isEquip;
+
+    /** 是否无破损、未被污染 */
+    @Excel(name = "是否无破损、未被污染")
+    private String isPollution;
+
+    /** 摆放符合要求 */
+    @Excel(name = "摆放符合要求")
+    private String putAsRequired;
+
+    /** 是否按要求贴“使用时间卡” */
+    @Excel(name = "是否按要求贴“使用时间卡”")
+    private String isRequire;
+
+    /** 是否在使用有效期内 */
+    @Excel(name = "是否在使用有效期内")
+    private String isValidity;
+
+    /** 检验合格的标识在有效期内 */
+    @Excel(name = "检验合格的标识在有效期内")
+    private String isIdentification;
+
+    /** 是否配有专用湿巾 */
+    @Excel(name = "是否配有专用湿巾")
+    private String isWetTissue;
+
+    /** 关联主表id */
+    @Excel(name = "关联主表id")
+    private Long mainId;
+
+    /** 删除状态 */
+    private Long delFlag;
+
+    /** 创建人 */
+    @Excel(name = "创建人")
+    private String createrCode;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdate;
+
+    /** 修改人 */
+    @Excel(name = "修改人")
+    private String updaterCode;
+
+    /** 修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedate;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remarks;
+
+    /** 部门编号 */
+    @Excel(name = "部门编号")
+    private Long deptId;
+
+    private String deptName;
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setPpeType(String ppeType)
+    {
+        this.ppeType = ppeType;
+    }
+
+    public String getPpeType()
+    {
+        return ppeType;
+    }
+    public void setUsePost(String usePost)
+    {
+        this.usePost = usePost;
+    }
+
+    public String getUsePost()
+    {
+        return usePost;
+    }
+    public void setIsEquip(String isEquip)
+    {
+        this.isEquip = isEquip;
+    }
+
+    public String getIsEquip()
+    {
+        return isEquip;
+    }
+    public void setIsPollution(String isPollution)
+    {
+        this.isPollution = isPollution;
+    }
+
+    public String getIsPollution()
+    {
+        return isPollution;
+    }
+    public void setPutAsRequired(String putAsRequired)
+    {
+        this.putAsRequired = putAsRequired;
+    }
+
+    public String getPutAsRequired()
+    {
+        return putAsRequired;
+    }
+    public void setIsRequire(String isRequire)
+    {
+        this.isRequire = isRequire;
+    }
+
+    public String getIsRequire()
+    {
+        return isRequire;
+    }
+    public void setIsValidity(String isValidity)
+    {
+        this.isValidity = isValidity;
+    }
+
+    public String getIsValidity()
+    {
+        return isValidity;
+    }
+    public void setIsIdentification(String isIdentification)
+    {
+        this.isIdentification = isIdentification;
+    }
+
+    public String getIsIdentification()
+    {
+        return isIdentification;
+    }
+    public void setIsWetTissue(String isWetTissue)
+    {
+        this.isWetTissue = isWetTissue;
+    }
+
+    public String getIsWetTissue()
+    {
+        return isWetTissue;
+    }
+    public void setMainId(Long mainId)
+    {
+        this.mainId = mainId;
+    }
+
+    public Long getMainId()
+    {
+        return mainId;
+    }
+    public void setDelFlag(Long delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Long getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setCreaterCode(String createrCode)
+    {
+        this.createrCode = createrCode;
+    }
+
+    public String getCreaterCode()
+    {
+        return createrCode;
+    }
+    public void setCreatedate(Date createdate)
+    {
+        this.createdate = createdate;
+    }
+
+    public Date getCreatedate()
+    {
+        return createdate;
+    }
+    public void setUpdaterCode(String updaterCode)
+    {
+        this.updaterCode = updaterCode;
+    }
+
+    public String getUpdaterCode()
+    {
+        return updaterCode;
+    }
+    public void setUpdatedate(Date updatedate)
+    {
+        this.updatedate = updatedate;
+    }
+
+    public Date getUpdatedate()
+    {
+        return updatedate;
+    }
+    public void setRemarks(String remarks)
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks()
+    {
+        return remarks;
+    }
+    public void setDeptId(Long deptId)
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId()
+    {
+        return deptId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("ppeType", getPpeType())
+            .append("usePost", getUsePost())
+            .append("isEquip", getIsEquip())
+            .append("isPollution", getIsPollution())
+            .append("putAsRequired", getPutAsRequired())
+            .append("isRequire", getIsRequire())
+            .append("isValidity", getIsValidity())
+            .append("isIdentification", getIsIdentification())
+            .append("isWetTissue", getIsWetTissue())
+            .append("mainId", getMainId())
+            .append("delFlag", getDelFlag())
+            .append("createrCode", getCreaterCode())
+            .append("createdate", getCreatedate())
+            .append("updaterCode", getUpdaterCode())
+            .append("updatedate", getUpdatedate())
+            .append("remarks", getRemarks())
+            .append("deptId", getDeptId())
+            .toString();
+    }
+}

+ 204 - 0
master/src/main/java/com/ruoyi/project/production/domain/TPpeWardrobe.java

@@ -0,0 +1,204 @@
+package com.ruoyi.project.production.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 更衣柜对象 t_ppe_wardrobe
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+public class TPpeWardrobe extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** ID */
+    private Long id;
+
+    /** 没有存放污染工作服/工作鞋 */
+    @Excel(name = "没有存放污染工作服/工作鞋")
+    private String noPollution;
+
+    /** 摆放符合要求 */
+    @Excel(name = "摆放符合要求")
+    private String putAsRequired;
+
+    /** 未存放食物/饮料 */
+    @Excel(name = "未存放食物/饮料")
+    private String noFood;
+
+    /** 关联主表id */
+    @Excel(name = "关联主表id")
+    private Long mainId;
+
+    /** 删除状态 */
+    private Long delFlag;
+
+    /** 创建人 */
+    @Excel(name = "创建人")
+    private String createrCode;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdate;
+
+    /** 修改人 */
+    @Excel(name = "修改人")
+    private String updaterCode;
+
+    /** 修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedate;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remarks;
+
+    /** 部门编号 */
+    @Excel(name = "部门编号")
+    private Long deptId;
+
+    private String deptName;
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setNoPollution(String noPollution)
+    {
+        this.noPollution = noPollution;
+    }
+
+    public String getNoPollution()
+    {
+        return noPollution;
+    }
+    public void setPutAsRequired(String putAsRequired)
+    {
+        this.putAsRequired = putAsRequired;
+    }
+
+    public String getPutAsRequired()
+    {
+        return putAsRequired;
+    }
+    public void setNoFood(String noFood)
+    {
+        this.noFood = noFood;
+    }
+
+    public String getNoFood()
+    {
+        return noFood;
+    }
+    public void setMainId(Long mainId)
+    {
+        this.mainId = mainId;
+    }
+
+    public Long getMainId()
+    {
+        return mainId;
+    }
+    public void setDelFlag(Long delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Long getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setCreaterCode(String createrCode)
+    {
+        this.createrCode = createrCode;
+    }
+
+    public String getCreaterCode()
+    {
+        return createrCode;
+    }
+    public void setCreatedate(Date createdate)
+    {
+        this.createdate = createdate;
+    }
+
+    public Date getCreatedate()
+    {
+        return createdate;
+    }
+    public void setUpdaterCode(String updaterCode)
+    {
+        this.updaterCode = updaterCode;
+    }
+
+    public String getUpdaterCode()
+    {
+        return updaterCode;
+    }
+    public void setUpdatedate(Date updatedate)
+    {
+        this.updatedate = updatedate;
+    }
+
+    public Date getUpdatedate()
+    {
+        return updatedate;
+    }
+    public void setRemarks(String remarks)
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks()
+    {
+        return remarks;
+    }
+    public void setDeptId(Long deptId)
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId()
+    {
+        return deptId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("noPollution", getNoPollution())
+            .append("putAsRequired", getPutAsRequired())
+            .append("noFood", getNoFood())
+            .append("mainId", getMainId())
+            .append("delFlag", getDelFlag())
+            .append("createrCode", getCreaterCode())
+            .append("createdate", getCreatedate())
+            .append("updaterCode", getUpdaterCode())
+            .append("updatedate", getUpdatedate())
+            .append("remarks", getRemarks())
+            .append("deptId", getDeptId())
+            .toString();
+    }
+}

+ 65 - 0
master/src/main/java/com/ruoyi/project/production/mapper/TPpeCmldefLockerMapper.java

@@ -0,0 +1,65 @@
+package com.ruoyi.project.production.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.production.domain.TPpeCmldefLocker;
+
+/**
+ * 自行车棚防化靴/防化服柜子Mapper接口
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+public interface TPpeCmldefLockerMapper
+{
+    /**
+     * 查询自行车棚防化靴/防化服柜子
+     *
+     * @param id 自行车棚防化靴/防化服柜子ID
+     * @return 自行车棚防化靴/防化服柜子
+     */
+    public TPpeCmldefLocker selectTPpeCmldefLockerById(Long id);
+
+    /**
+     * 查询自行车棚防化靴/防化服柜子列表
+     *
+     * @param tPpeCmldefLocker 自行车棚防化靴/防化服柜子
+     * @return 自行车棚防化靴/防化服柜子集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TPpeCmldefLocker> selectTPpeCmldefLockerList(TPpeCmldefLocker tPpeCmldefLocker);
+    @DataScope(deptAlias = "d")
+    public List<TPpeCmldefLocker> selectTPpeCmldefLockerListByMainId(Long mainId);
+
+    /**
+     * 新增自行车棚防化靴/防化服柜子
+     *
+     * @param tPpeCmldefLocker 自行车棚防化靴/防化服柜子
+     * @return 结果
+     */
+    public int insertTPpeCmldefLocker(TPpeCmldefLocker tPpeCmldefLocker);
+
+    /**
+     * 修改自行车棚防化靴/防化服柜子
+     *
+     * @param tPpeCmldefLocker 自行车棚防化靴/防化服柜子
+     * @return 结果
+     */
+    public int updateTPpeCmldefLocker(TPpeCmldefLocker tPpeCmldefLocker);
+
+    /**
+     * 删除自行车棚防化靴/防化服柜子
+     *
+     * @param id 自行车棚防化靴/防化服柜子ID
+     * @return 结果
+     */
+    public int deleteTPpeCmldefLockerById(Long id);
+
+    /**
+     * 批量删除自行车棚防化靴/防化服柜子
+     *
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTPpeCmldefLockerByIds(Long[] ids);
+}

+ 63 - 0
master/src/main/java/com/ruoyi/project/production/mapper/TPpeMainMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.project.production.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.production.domain.TPpeMain;
+
+/**
+ * 员工PPE检查记录Mapper接口
+ * 
+ * @author ssy
+ * @date 2023-11-30
+ */
+public interface TPpeMainMapper 
+{
+    /**
+     * 查询员工PPE检查记录
+     * 
+     * @param id 员工PPE检查记录ID
+     * @return 员工PPE检查记录
+     */
+    public TPpeMain selectTPpeMainById(Long id);
+
+    /**
+     * 查询员工PPE检查记录列表
+     * 
+     * @param tPpeMain 员工PPE检查记录
+     * @return 员工PPE检查记录集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TPpeMain> selectTPpeMainList(TPpeMain tPpeMain);
+
+    /**
+     * 新增员工PPE检查记录
+     * 
+     * @param tPpeMain 员工PPE检查记录
+     * @return 结果
+     */
+    public int insertTPpeMain(TPpeMain tPpeMain);
+
+    /**
+     * 修改员工PPE检查记录
+     * 
+     * @param tPpeMain 员工PPE检查记录
+     * @return 结果
+     */
+    public int updateTPpeMain(TPpeMain tPpeMain);
+
+    /**
+     * 删除员工PPE检查记录
+     * 
+     * @param id 员工PPE检查记录ID
+     * @return 结果
+     */
+    public int deleteTPpeMainById(Long id);
+
+    /**
+     * 批量删除员工PPE检查记录
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTPpeMainByIds(Long[] ids);
+}

+ 63 - 0
master/src/main/java/com/ruoyi/project/production/mapper/TPpePersonMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.project.production.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.production.domain.TPpePerson;
+
+/**
+ * 员工PPE检查Mapper接口
+ * 
+ * @author ssy
+ * @date 2023-11-28
+ */
+public interface TPpePersonMapper 
+{
+    /**
+     * 查询员工PPE检查
+     * 
+     * @param id 员工PPE检查ID
+     * @return 员工PPE检查
+     */
+    public TPpePerson selectTPpePersonById(Long id);
+
+    /**
+     * 查询员工PPE检查列表
+     * 
+     * @param tPpePerson 员工PPE检查
+     * @return 员工PPE检查集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TPpePerson> selectTPpePersonList(TPpePerson tPpePerson);
+
+    /**
+     * 新增员工PPE检查
+     * 
+     * @param tPpePerson 员工PPE检查
+     * @return 结果
+     */
+    public int insertTPpePerson(TPpePerson tPpePerson);
+
+    /**
+     * 修改员工PPE检查
+     * 
+     * @param tPpePerson 员工PPE检查
+     * @return 结果
+     */
+    public int updateTPpePerson(TPpePerson tPpePerson);
+
+    /**
+     * 删除员工PPE检查
+     * 
+     * @param id 员工PPE检查ID
+     * @return 结果
+     */
+    public int deleteTPpePersonById(Long id);
+
+    /**
+     * 批量删除员工PPE检查
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTPpePersonByIds(Long[] ids);
+}

+ 66 - 0
master/src/main/java/com/ruoyi/project/production/mapper/TPpeStaffLockerMapper.java

@@ -0,0 +1,66 @@
+package com.ruoyi.project.production.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.production.domain.TPpeStaffLocker;
+
+/**
+ * 自行车棚员工PPE柜Mapper接口
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+public interface TPpeStaffLockerMapper
+{
+    /**
+     * 查询自行车棚员工PPE柜
+     *
+     * @param id 自行车棚员工PPE柜ID
+     * @return 自行车棚员工PPE柜
+     */
+    public TPpeStaffLocker selectTPpeStaffLockerById(Long id);
+
+    /**
+     * 查询自行车棚员工PPE柜列表
+     *
+     * @param tPpeStaffLocker 自行车棚员工PPE柜
+     * @return 自行车棚员工PPE柜集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TPpeStaffLocker> selectTPpeStaffLockerList(TPpeStaffLocker tPpeStaffLocker);
+
+    @DataScope(deptAlias = "d")
+    public List<TPpeStaffLocker> selectTPpeStaffLockerListByMainId(Long mainId);
+
+    /**
+     * 新增自行车棚员工PPE柜
+     *
+     * @param tPpeStaffLocker 自行车棚员工PPE柜
+     * @return 结果
+     */
+    public int insertTPpeStaffLocker(TPpeStaffLocker tPpeStaffLocker);
+
+    /**
+     * 修改自行车棚员工PPE柜
+     *
+     * @param tPpeStaffLocker 自行车棚员工PPE柜
+     * @return 结果
+     */
+    public int updateTPpeStaffLocker(TPpeStaffLocker tPpeStaffLocker);
+
+    /**
+     * 删除自行车棚员工PPE柜
+     *
+     * @param id 自行车棚员工PPE柜ID
+     * @return 结果
+     */
+    public int deleteTPpeStaffLockerById(Long id);
+
+    /**
+     * 批量删除自行车棚员工PPE柜
+     *
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTPpeStaffLockerByIds(Long[] ids);
+}

+ 65 - 0
master/src/main/java/com/ruoyi/project/production/mapper/TPpeWardrobeMapper.java

@@ -0,0 +1,65 @@
+package com.ruoyi.project.production.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.production.domain.TPpeWardrobe;
+
+/**
+ * 更衣柜Mapper接口
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+public interface TPpeWardrobeMapper
+{
+    /**
+     * 查询更衣柜
+     *
+     * @param id 更衣柜ID
+     * @return 更衣柜
+     */
+    public TPpeWardrobe selectTPpeWardrobeById(Long id);
+
+    /**
+     * 查询更衣柜列表
+     *
+     * @param tPpeWardrobe 更衣柜
+     * @return 更衣柜集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TPpeWardrobe> selectTPpeWardrobeList(TPpeWardrobe tPpeWardrobe);
+    @DataScope(deptAlias = "d")
+    public List<TPpeWardrobe> selectTPpeWardrobeListByMainId(Long mainId);
+
+    /**
+     * 新增更衣柜
+     *
+     * @param tPpeWardrobe 更衣柜
+     * @return 结果
+     */
+    public int insertTPpeWardrobe(TPpeWardrobe tPpeWardrobe);
+
+    /**
+     * 修改更衣柜
+     *
+     * @param tPpeWardrobe 更衣柜
+     * @return 结果
+     */
+    public int updateTPpeWardrobe(TPpeWardrobe tPpeWardrobe);
+
+    /**
+     * 删除更衣柜
+     *
+     * @param id 更衣柜ID
+     * @return 结果
+     */
+    public int deleteTPpeWardrobeById(Long id);
+
+    /**
+     * 批量删除更衣柜
+     *
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTPpeWardrobeByIds(Long[] ids);
+}

+ 62 - 0
master/src/main/java/com/ruoyi/project/production/service/ITPpeCmldefLockerService.java

@@ -0,0 +1,62 @@
+package com.ruoyi.project.production.service;
+
+import java.util.List;
+import com.ruoyi.project.production.domain.TPpeCmldefLocker;
+
+/**
+ * 自行车棚防化靴/防化服柜子Service接口
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+public interface ITPpeCmldefLockerService
+{
+    /**
+     * 查询自行车棚防化靴/防化服柜子
+     *
+     * @param id 自行车棚防化靴/防化服柜子ID
+     * @return 自行车棚防化靴/防化服柜子
+     */
+    public TPpeCmldefLocker selectTPpeCmldefLockerById(Long id);
+
+    /**
+     * 查询自行车棚防化靴/防化服柜子列表
+     *
+     * @param tPpeCmldefLocker 自行车棚防化靴/防化服柜子
+     * @return 自行车棚防化靴/防化服柜子集合
+     */
+    public List<TPpeCmldefLocker> selectTPpeCmldefLockerList(TPpeCmldefLocker tPpeCmldefLocker);
+    public List<TPpeCmldefLocker> selectTPpeCmldefLockerListByMainId(Long mainId);
+
+    /**
+     * 新增自行车棚防化靴/防化服柜子
+     *
+     * @param tPpeCmldefLocker 自行车棚防化靴/防化服柜子
+     * @return 结果
+     */
+    public int insertTPpeCmldefLocker(TPpeCmldefLocker tPpeCmldefLocker);
+
+    /**
+     * 修改自行车棚防化靴/防化服柜子
+     *
+     * @param tPpeCmldefLocker 自行车棚防化靴/防化服柜子
+     * @return 结果
+     */
+    public int updateTPpeCmldefLocker(TPpeCmldefLocker tPpeCmldefLocker);
+
+    /**
+     * 批量删除自行车棚防化靴/防化服柜子
+     *
+     * @param ids 需要删除的自行车棚防化靴/防化服柜子ID
+     * @return 结果
+     */
+    public int deleteTPpeCmldefLockerByIds(Long[] ids);
+
+    /**
+     * 删除自行车棚防化靴/防化服柜子信息
+     *
+     * @param id 自行车棚防化靴/防化服柜子ID
+     * @return 结果
+     */
+    public int deleteTPpeCmldefLockerById(Long id);
+}

+ 61 - 0
master/src/main/java/com/ruoyi/project/production/service/ITPpeMainService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.production.service;
+
+import java.util.List;
+import com.ruoyi.project.production.domain.TPpeMain;
+
+/**
+ * 员工PPE检查记录Service接口
+ * 
+ * @author ssy
+ * @date 2023-11-30
+ */
+public interface ITPpeMainService 
+{
+    /**
+     * 查询员工PPE检查记录
+     * 
+     * @param id 员工PPE检查记录ID
+     * @return 员工PPE检查记录
+     */
+    public TPpeMain selectTPpeMainById(Long id);
+
+    /**
+     * 查询员工PPE检查记录列表
+     * 
+     * @param tPpeMain 员工PPE检查记录
+     * @return 员工PPE检查记录集合
+     */
+    public List<TPpeMain> selectTPpeMainList(TPpeMain tPpeMain);
+
+    /**
+     * 新增员工PPE检查记录
+     * 
+     * @param tPpeMain 员工PPE检查记录
+     * @return 结果
+     */
+    public int insertTPpeMain(TPpeMain tPpeMain);
+
+    /**
+     * 修改员工PPE检查记录
+     * 
+     * @param tPpeMain 员工PPE检查记录
+     * @return 结果
+     */
+    public int updateTPpeMain(TPpeMain tPpeMain);
+
+    /**
+     * 批量删除员工PPE检查记录
+     * 
+     * @param ids 需要删除的员工PPE检查记录ID
+     * @return 结果
+     */
+    public int deleteTPpeMainByIds(Long[] ids);
+
+    /**
+     * 删除员工PPE检查记录信息
+     * 
+     * @param id 员工PPE检查记录ID
+     * @return 结果
+     */
+    public int deleteTPpeMainById(Long id);
+}

+ 61 - 0
master/src/main/java/com/ruoyi/project/production/service/ITPpePersonService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.production.service;
+
+import java.util.List;
+import com.ruoyi.project.production.domain.TPpePerson;
+
+/**
+ * 员工PPE检查Service接口
+ * 
+ * @author ssy
+ * @date 2023-11-28
+ */
+public interface ITPpePersonService 
+{
+    /**
+     * 查询员工PPE检查
+     * 
+     * @param id 员工PPE检查ID
+     * @return 员工PPE检查
+     */
+    public TPpePerson selectTPpePersonById(Long id);
+
+    /**
+     * 查询员工PPE检查列表
+     * 
+     * @param tPpePerson 员工PPE检查
+     * @return 员工PPE检查集合
+     */
+    public List<TPpePerson> selectTPpePersonList(TPpePerson tPpePerson);
+
+    /**
+     * 新增员工PPE检查
+     * 
+     * @param tPpePerson 员工PPE检查
+     * @return 结果
+     */
+    public int insertTPpePerson(TPpePerson tPpePerson);
+
+    /**
+     * 修改员工PPE检查
+     * 
+     * @param tPpePerson 员工PPE检查
+     * @return 结果
+     */
+    public int updateTPpePerson(TPpePerson tPpePerson);
+
+    /**
+     * 批量删除员工PPE检查
+     * 
+     * @param ids 需要删除的员工PPE检查ID
+     * @return 结果
+     */
+    public int deleteTPpePersonByIds(Long[] ids);
+
+    /**
+     * 删除员工PPE检查信息
+     * 
+     * @param id 员工PPE检查ID
+     * @return 结果
+     */
+    public int deleteTPpePersonById(Long id);
+}

+ 63 - 0
master/src/main/java/com/ruoyi/project/production/service/ITPpeStaffLockerService.java

@@ -0,0 +1,63 @@
+package com.ruoyi.project.production.service;
+
+import java.util.List;
+import com.ruoyi.project.production.domain.TPpeStaffLocker;
+
+/**
+ * 自行车棚员工PPE柜Service接口
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+public interface ITPpeStaffLockerService
+{
+    /**
+     * 查询自行车棚员工PPE柜
+     *
+     * @param id 自行车棚员工PPE柜ID
+     * @return 自行车棚员工PPE柜
+     */
+    public TPpeStaffLocker selectTPpeStaffLockerById(Long id);
+
+    /**
+     * 查询自行车棚员工PPE柜列表
+     *
+     * @param tPpeStaffLocker 自行车棚员工PPE柜
+     * @return 自行车棚员工PPE柜集合
+     */
+    public List<TPpeStaffLocker> selectTPpeStaffLockerList(TPpeStaffLocker tPpeStaffLocker);
+
+    public List<TPpeStaffLocker> selectTPpeStaffLockerListByMainId(Long mainId);
+
+    /**
+     * 新增自行车棚员工PPE柜
+     *
+     * @param tPpeStaffLocker 自行车棚员工PPE柜
+     * @return 结果
+     */
+    public int insertTPpeStaffLocker(TPpeStaffLocker tPpeStaffLocker);
+
+    /**
+     * 修改自行车棚员工PPE柜
+     *
+     * @param tPpeStaffLocker 自行车棚员工PPE柜
+     * @return 结果
+     */
+    public int updateTPpeStaffLocker(TPpeStaffLocker tPpeStaffLocker);
+
+    /**
+     * 批量删除自行车棚员工PPE柜
+     *
+     * @param ids 需要删除的自行车棚员工PPE柜ID
+     * @return 结果
+     */
+    public int deleteTPpeStaffLockerByIds(Long[] ids);
+
+    /**
+     * 删除自行车棚员工PPE柜信息
+     *
+     * @param id 自行车棚员工PPE柜ID
+     * @return 结果
+     */
+    public int deleteTPpeStaffLockerById(Long id);
+}

+ 62 - 0
master/src/main/java/com/ruoyi/project/production/service/ITPpeWardrobeService.java

@@ -0,0 +1,62 @@
+package com.ruoyi.project.production.service;
+
+import java.util.List;
+import com.ruoyi.project.production.domain.TPpeWardrobe;
+
+/**
+ * 更衣柜Service接口
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+public interface ITPpeWardrobeService
+{
+    /**
+     * 查询更衣柜
+     *
+     * @param id 更衣柜ID
+     * @return 更衣柜
+     */
+    public TPpeWardrobe selectTPpeWardrobeById(Long id);
+
+    /**
+     * 查询更衣柜列表
+     *
+     * @param tPpeWardrobe 更衣柜
+     * @return 更衣柜集合
+     */
+    public List<TPpeWardrobe> selectTPpeWardrobeList(TPpeWardrobe tPpeWardrobe);
+    public List<TPpeWardrobe> selectTPpeWardrobeListByMainId(Long mainId);
+
+    /**
+     * 新增更衣柜
+     *
+     * @param tPpeWardrobe 更衣柜
+     * @return 结果
+     */
+    public int insertTPpeWardrobe(TPpeWardrobe tPpeWardrobe);
+
+    /**
+     * 修改更衣柜
+     *
+     * @param tPpeWardrobe 更衣柜
+     * @return 结果
+     */
+    public int updateTPpeWardrobe(TPpeWardrobe tPpeWardrobe);
+
+    /**
+     * 批量删除更衣柜
+     *
+     * @param ids 需要删除的更衣柜ID
+     * @return 结果
+     */
+    public int deleteTPpeWardrobeByIds(Long[] ids);
+
+    /**
+     * 删除更衣柜信息
+     *
+     * @param id 更衣柜ID
+     * @return 结果
+     */
+    public int deleteTPpeWardrobeById(Long id);
+}

+ 99 - 0
master/src/main/java/com/ruoyi/project/production/service/impl/TPpeCmldefLockerServiceImpl.java

@@ -0,0 +1,99 @@
+package com.ruoyi.project.production.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.production.mapper.TPpeCmldefLockerMapper;
+import com.ruoyi.project.production.domain.TPpeCmldefLocker;
+import com.ruoyi.project.production.service.ITPpeCmldefLockerService;
+
+/**
+ * 自行车棚防化靴/防化服柜子Service业务层处理
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+@Service
+public class TPpeCmldefLockerServiceImpl implements ITPpeCmldefLockerService
+{
+    @Autowired
+    private TPpeCmldefLockerMapper tPpeCmldefLockerMapper;
+
+    /**
+     * 查询自行车棚防化靴/防化服柜子
+     *
+     * @param id 自行车棚防化靴/防化服柜子ID
+     * @return 自行车棚防化靴/防化服柜子
+     */
+    @Override
+    public TPpeCmldefLocker selectTPpeCmldefLockerById(Long id)
+    {
+        return tPpeCmldefLockerMapper.selectTPpeCmldefLockerById(id);
+    }
+
+    /**
+     * 查询自行车棚防化靴/防化服柜子列表
+     *
+     * @param tPpeCmldefLocker 自行车棚防化靴/防化服柜子
+     * @return 自行车棚防化靴/防化服柜子
+     */
+    @Override
+    public List<TPpeCmldefLocker> selectTPpeCmldefLockerList(TPpeCmldefLocker tPpeCmldefLocker)
+    {
+        return tPpeCmldefLockerMapper.selectTPpeCmldefLockerList(tPpeCmldefLocker);
+    }
+
+    @Override
+    public List<TPpeCmldefLocker> selectTPpeCmldefLockerListByMainId(Long mainId)
+    {
+        return tPpeCmldefLockerMapper.selectTPpeCmldefLockerListByMainId(mainId);
+    }
+
+    /**
+     * 新增自行车棚防化靴/防化服柜子
+     *
+     * @param tPpeCmldefLocker 自行车棚防化靴/防化服柜子
+     * @return 结果
+     */
+    @Override
+    public int insertTPpeCmldefLocker(TPpeCmldefLocker tPpeCmldefLocker)
+    {
+        return tPpeCmldefLockerMapper.insertTPpeCmldefLocker(tPpeCmldefLocker);
+    }
+
+    /**
+     * 修改自行车棚防化靴/防化服柜子
+     *
+     * @param tPpeCmldefLocker 自行车棚防化靴/防化服柜子
+     * @return 结果
+     */
+    @Override
+    public int updateTPpeCmldefLocker(TPpeCmldefLocker tPpeCmldefLocker)
+    {
+        return tPpeCmldefLockerMapper.updateTPpeCmldefLocker(tPpeCmldefLocker);
+    }
+
+    /**
+     * 批量删除自行车棚防化靴/防化服柜子
+     *
+     * @param ids 需要删除的自行车棚防化靴/防化服柜子ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTPpeCmldefLockerByIds(Long[] ids)
+    {
+        return tPpeCmldefLockerMapper.deleteTPpeCmldefLockerByIds(ids);
+    }
+
+    /**
+     * 删除自行车棚防化靴/防化服柜子信息
+     *
+     * @param id 自行车棚防化靴/防化服柜子ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTPpeCmldefLockerById(Long id)
+    {
+        return tPpeCmldefLockerMapper.deleteTPpeCmldefLockerById(id);
+    }
+}

+ 93 - 0
master/src/main/java/com/ruoyi/project/production/service/impl/TPpeMainServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.project.production.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.production.mapper.TPpeMainMapper;
+import com.ruoyi.project.production.domain.TPpeMain;
+import com.ruoyi.project.production.service.ITPpeMainService;
+
+/**
+ * 员工PPE检查记录Service业务层处理
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+@Service
+public class TPpeMainServiceImpl implements ITPpeMainService
+{
+    @Autowired
+    private TPpeMainMapper tPpeMainMapper;
+
+    /**
+     * 查询员工PPE检查记录
+     *
+     * @param id 员工PPE检查记录ID
+     * @return 员工PPE检查记录
+     */
+    @Override
+    public TPpeMain selectTPpeMainById(Long id)
+    {
+        return tPpeMainMapper.selectTPpeMainById(id);
+    }
+
+    /**
+     * 查询员工PPE检查记录列表
+     *
+     * @param tPpeMain 员工PPE检查记录
+     * @return 员工PPE检查记录
+     */
+    @Override
+    public List<TPpeMain> selectTPpeMainList(TPpeMain tPpeMain)
+    {
+        return tPpeMainMapper.selectTPpeMainList(tPpeMain);
+    }
+
+    /**
+     * 新增员工PPE检查记录
+     *
+     * @param tPpeMain 员工PPE检查记录
+     * @return 结果
+     */
+    @Override
+    public int insertTPpeMain(TPpeMain tPpeMain)
+    {
+        return tPpeMainMapper.insertTPpeMain(tPpeMain);
+    }
+
+    /**
+     * 修改员工PPE检查记录
+     *
+     * @param tPpeMain 员工PPE检查记录
+     * @return 结果
+     */
+    @Override
+    public int updateTPpeMain(TPpeMain tPpeMain)
+    {
+        return tPpeMainMapper.updateTPpeMain(tPpeMain);
+    }
+
+    /**
+     * 批量删除员工PPE检查记录
+     *
+     * @param ids 需要删除的员工PPE检查记录ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTPpeMainByIds(Long[] ids)
+    {
+        return tPpeMainMapper.deleteTPpeMainByIds(ids);
+    }
+
+    /**
+     * 删除员工PPE检查记录信息
+     *
+     * @param id 员工PPE检查记录ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTPpeMainById(Long id)
+    {
+        return tPpeMainMapper.deleteTPpeMainById(id);
+    }
+}

+ 93 - 0
master/src/main/java/com/ruoyi/project/production/service/impl/TPpePersonServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.project.production.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.production.mapper.TPpePersonMapper;
+import com.ruoyi.project.production.domain.TPpePerson;
+import com.ruoyi.project.production.service.ITPpePersonService;
+
+/**
+ * 员工PPE检查Service业务层处理
+ *
+ * @author ssy
+ * @date 2023-11-28
+ */
+@Service
+public class TPpePersonServiceImpl implements ITPpePersonService
+{
+    @Autowired
+    private TPpePersonMapper tPpePersonMapper;
+
+    /**
+     * 查询员工PPE检查
+     *
+     * @param id 员工PPE检查ID
+     * @return 员工PPE检查
+     */
+    @Override
+    public TPpePerson selectTPpePersonById(Long id)
+    {
+        return tPpePersonMapper.selectTPpePersonById(id);
+    }
+
+    /**
+     * 查询员工PPE检查列表
+     *
+     * @param tPpePerson 员工PPE检查
+     * @return 员工PPE检查
+     */
+    @Override
+    public List<TPpePerson> selectTPpePersonList(TPpePerson tPpePerson)
+    {
+        return tPpePersonMapper.selectTPpePersonList(tPpePerson);
+    }
+
+    /**
+     * 新增员工PPE检查
+     *
+     * @param tPpePerson 员工PPE检查
+     * @return 结果
+     */
+    @Override
+    public int insertTPpePerson(TPpePerson tPpePerson)
+    {
+        return tPpePersonMapper.insertTPpePerson(tPpePerson);
+    }
+
+    /**
+     * 修改员工PPE检查
+     *
+     * @param tPpePerson 员工PPE检查
+     * @return 结果
+     */
+    @Override
+    public int updateTPpePerson(TPpePerson tPpePerson)
+    {
+        return tPpePersonMapper.updateTPpePerson(tPpePerson);
+    }
+
+    /**
+     * 批量删除员工PPE检查
+     *
+     * @param ids 需要删除的员工PPE检查ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTPpePersonByIds(Long[] ids)
+    {
+        return tPpePersonMapper.deleteTPpePersonByIds(ids);
+    }
+
+    /**
+     * 删除员工PPE检查信息
+     *
+     * @param id 员工PPE检查ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTPpePersonById(Long id)
+    {
+        return tPpePersonMapper.deleteTPpePersonById(id);
+    }
+}

+ 99 - 0
master/src/main/java/com/ruoyi/project/production/service/impl/TPpeStaffLockerServiceImpl.java

@@ -0,0 +1,99 @@
+package com.ruoyi.project.production.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.production.mapper.TPpeStaffLockerMapper;
+import com.ruoyi.project.production.domain.TPpeStaffLocker;
+import com.ruoyi.project.production.service.ITPpeStaffLockerService;
+
+/**
+ * 自行车棚员工PPE柜Service业务层处理
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+@Service
+public class TPpeStaffLockerServiceImpl implements ITPpeStaffLockerService
+{
+    @Autowired
+    private TPpeStaffLockerMapper tPpeStaffLockerMapper;
+
+    /**
+     * 查询自行车棚员工PPE柜
+     *
+     * @param id 自行车棚员工PPE柜ID
+     * @return 自行车棚员工PPE柜
+     */
+    @Override
+    public TPpeStaffLocker selectTPpeStaffLockerById(Long id)
+    {
+        return tPpeStaffLockerMapper.selectTPpeStaffLockerById(id);
+    }
+
+    /**
+     * 查询自行车棚员工PPE柜列表
+     *
+     * @param tPpeStaffLocker 自行车棚员工PPE柜
+     * @return 自行车棚员工PPE柜
+     */
+    @Override
+    public List<TPpeStaffLocker> selectTPpeStaffLockerList(TPpeStaffLocker tPpeStaffLocker)
+    {
+        return tPpeStaffLockerMapper.selectTPpeStaffLockerList(tPpeStaffLocker);
+    }
+
+    @Override
+    public List<TPpeStaffLocker> selectTPpeStaffLockerListByMainId(Long mainId)
+    {
+        return tPpeStaffLockerMapper.selectTPpeStaffLockerListByMainId(mainId);
+    }
+
+    /**
+     * 新增自行车棚员工PPE柜
+     *
+     * @param tPpeStaffLocker 自行车棚员工PPE柜
+     * @return 结果
+     */
+    @Override
+    public int insertTPpeStaffLocker(TPpeStaffLocker tPpeStaffLocker)
+    {
+        return tPpeStaffLockerMapper.insertTPpeStaffLocker(tPpeStaffLocker);
+    }
+
+    /**
+     * 修改自行车棚员工PPE柜
+     *
+     * @param tPpeStaffLocker 自行车棚员工PPE柜
+     * @return 结果
+     */
+    @Override
+    public int updateTPpeStaffLocker(TPpeStaffLocker tPpeStaffLocker)
+    {
+        return tPpeStaffLockerMapper.updateTPpeStaffLocker(tPpeStaffLocker);
+    }
+
+    /**
+     * 批量删除自行车棚员工PPE柜
+     *
+     * @param ids 需要删除的自行车棚员工PPE柜ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTPpeStaffLockerByIds(Long[] ids)
+    {
+        return tPpeStaffLockerMapper.deleteTPpeStaffLockerByIds(ids);
+    }
+
+    /**
+     * 删除自行车棚员工PPE柜信息
+     *
+     * @param id 自行车棚员工PPE柜ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTPpeStaffLockerById(Long id)
+    {
+        return tPpeStaffLockerMapper.deleteTPpeStaffLockerById(id);
+    }
+}

+ 99 - 0
master/src/main/java/com/ruoyi/project/production/service/impl/TPpeWardrobeServiceImpl.java

@@ -0,0 +1,99 @@
+package com.ruoyi.project.production.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.production.mapper.TPpeWardrobeMapper;
+import com.ruoyi.project.production.domain.TPpeWardrobe;
+import com.ruoyi.project.production.service.ITPpeWardrobeService;
+
+/**
+ * 更衣柜Service业务层处理
+ *
+ * @author ssy
+ * @date 2023-11-30
+ */
+@Service
+public class TPpeWardrobeServiceImpl implements ITPpeWardrobeService
+{
+    @Autowired
+    private TPpeWardrobeMapper tPpeWardrobeMapper;
+
+    /**
+     * 查询更衣柜
+     *
+     * @param id 更衣柜ID
+     * @return 更衣柜
+     */
+    @Override
+    public TPpeWardrobe selectTPpeWardrobeById(Long id)
+    {
+        return tPpeWardrobeMapper.selectTPpeWardrobeById(id);
+    }
+
+    /**
+     * 查询更衣柜列表
+     *
+     * @param tPpeWardrobe 更衣柜
+     * @return 更衣柜
+     */
+    @Override
+    public List<TPpeWardrobe> selectTPpeWardrobeList(TPpeWardrobe tPpeWardrobe)
+    {
+        return tPpeWardrobeMapper.selectTPpeWardrobeList(tPpeWardrobe);
+    }
+
+    @Override
+    public List<TPpeWardrobe> selectTPpeWardrobeListByMainId(Long mainId)
+    {
+        return tPpeWardrobeMapper.selectTPpeWardrobeListByMainId(mainId);
+    }
+
+    /**
+     * 新增更衣柜
+     *
+     * @param tPpeWardrobe 更衣柜
+     * @return 结果
+     */
+    @Override
+    public int insertTPpeWardrobe(TPpeWardrobe tPpeWardrobe)
+    {
+        return tPpeWardrobeMapper.insertTPpeWardrobe(tPpeWardrobe);
+    }
+
+    /**
+     * 修改更衣柜
+     *
+     * @param tPpeWardrobe 更衣柜
+     * @return 结果
+     */
+    @Override
+    public int updateTPpeWardrobe(TPpeWardrobe tPpeWardrobe)
+    {
+        return tPpeWardrobeMapper.updateTPpeWardrobe(tPpeWardrobe);
+    }
+
+    /**
+     * 批量删除更衣柜
+     *
+     * @param ids 需要删除的更衣柜ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTPpeWardrobeByIds(Long[] ids)
+    {
+        return tPpeWardrobeMapper.deleteTPpeWardrobeByIds(ids);
+    }
+
+    /**
+     * 删除更衣柜信息
+     *
+     * @param id 更衣柜ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTPpeWardrobeById(Long id)
+    {
+        return tPpeWardrobeMapper.deleteTPpeWardrobeById(id);
+    }
+}

+ 137 - 0
master/src/main/resources/mybatis/production/TPpeCmldefLockerMapper.xml

@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.production.mapper.TPpeCmldefLockerMapper">
+
+    <resultMap type="TPpeCmldefLocker" id="TPpeCmldefLockerResult">
+        <result property="id"    column="id"    />
+        <result property="ppeType"    column="ppe_type"    />
+        <result property="usePost"    column="use_post"    />
+        <result property="isEquip"    column="is_equip"    />
+        <result property="isPollution"    column="is_pollution"    />
+        <result property="putAsRequired"    column="put_as_required"    />
+        <result property="isIdentification"    column="is_identification"    />
+        <result property="mainId"    column="main_id"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createrCode"    column="creater_code"    />
+        <result property="createdate"    column="createdate"    />
+        <result property="updaterCode"    column="updater_code"    />
+        <result property="updatedate"    column="updatedate"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTPpeCmldefLockerVo">
+        select d.id, d.ppe_type, d.use_post, d.is_equip, d.is_pollution, d.put_as_required, d.is_identification, d.main_id, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.remarks, d.dept_id ,s.dept_name from t_ppe_cmldef_locker d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTPpeCmldefLockerList" parameterType="TPpeCmldefLocker" resultMap="TPpeCmldefLockerResult">
+        <include refid="selectTPpeCmldefLockerVo"/>
+        <where>
+            <if test="ppeType != null  and ppeType != ''"> and ppe_type = #{ppeType}</if>
+            <if test="usePost != null  and usePost != ''"> and use_post = #{usePost}</if>
+            <if test="isEquip != null  and isEquip != ''"> and is_equip = #{isEquip}</if>
+            <if test="isPollution != null  and isPollution != ''"> and is_pollution = #{isPollution}</if>
+            <if test="putAsRequired != null  and putAsRequired != ''"> and put_as_required = #{putAsRequired}</if>
+            <if test="isIdentification != null  and isIdentification != ''"> and is_identification = #{isIdentification}</if>
+            <if test="mainId != null "> and main_id = #{mainId}</if>
+            <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
+            <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="updaterCode != null  and updaterCode != ''"> and updater_code = #{updaterCode}</if>
+            <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+        order by createdate asc
+    </select>
+
+    <select id="selectTPpeCmldefLockerById" parameterType="Long" resultMap="TPpeCmldefLockerResult">
+        <include refid="selectTPpeCmldefLockerVo"/>
+        where id = #{id}
+    </select>
+
+    <select id="selectTPpeCmldefLockerListByMainId" parameterType="Long" resultMap="TPpeCmldefLockerResult">
+        <include refid="selectTPpeCmldefLockerVo"/>
+        where main_id = #{mainId}
+    </select>
+
+    <insert id="insertTPpeCmldefLocker" parameterType="TPpeCmldefLocker">
+        <selectKey keyProperty="id" resultType="long" order="BEFORE">
+            SELECT seq_t_ppe_cmldef_locker.NEXTVAL as id FROM DUAL
+        </selectKey>
+        insert into t_ppe_cmldef_locker
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="ppeType != null">ppe_type,</if>
+            <if test="usePost != null">use_post,</if>
+            <if test="isEquip != null">is_equip,</if>
+            <if test="isPollution != null">is_pollution,</if>
+            <if test="putAsRequired != null">put_as_required,</if>
+            <if test="isIdentification != null">is_identification,</if>
+            <if test="mainId != null">main_id,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createrCode != null">creater_code,</if>
+            <if test="createdate != null">createdate,</if>
+            <if test="updaterCode != null">updater_code,</if>
+            <if test="updatedate != null">updatedate,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="deptId != null">dept_id,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="ppeType != null">#{ppeType},</if>
+            <if test="usePost != null">#{usePost},</if>
+            <if test="isEquip != null">#{isEquip},</if>
+            <if test="isPollution != null">#{isPollution},</if>
+            <if test="putAsRequired != null">#{putAsRequired},</if>
+            <if test="isIdentification != null">#{isIdentification},</if>
+            <if test="mainId != null">#{mainId},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createrCode != null">#{createrCode},</if>
+            <if test="createdate != null">#{createdate},</if>
+            <if test="updaterCode != null">#{updaterCode},</if>
+            <if test="updatedate != null">#{updatedate},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="deptId != null">#{deptId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTPpeCmldefLocker" parameterType="TPpeCmldefLocker">
+        update t_ppe_cmldef_locker
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="ppeType != null">ppe_type = #{ppeType},</if>
+            <if test="usePost != null">use_post = #{usePost},</if>
+            <if test="isEquip != null">is_equip = #{isEquip},</if>
+            <if test="isPollution != null">is_pollution = #{isPollution},</if>
+            <if test="putAsRequired != null">put_as_required = #{putAsRequired},</if>
+            <if test="isIdentification != null">is_identification = #{isIdentification},</if>
+            <if test="mainId != null">main_id = #{mainId},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createrCode != null">creater_code = #{createrCode},</if>
+            <if test="createdate != null">createdate = #{createdate},</if>
+            <if test="updaterCode != null">updater_code = #{updaterCode},</if>
+            <if test="updatedate != null">updatedate = #{updatedate},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTPpeCmldefLockerById" parameterType="Long">
+        update t_ppe_cmldef_locker set del_flag = 2 where id = #{id}
+    </update>
+
+    <update id="deleteTPpeCmldefLockerByIds" parameterType="String">
+        update t_ppe_cmldef_locker set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+</mapper>

+ 112 - 0
master/src/main/resources/mybatis/production/TPpeMainMapper.xml

@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.production.mapper.TPpeMainMapper">
+
+    <resultMap type="TPpeMain" id="TPpeMainResult">
+        <result property="id"    column="id"    />
+        <result property="staffId"    column="staff_id"    />
+        <result property="checkDate"    column="check_date"    />
+        <result property="checker"    column="checker"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createrCode"    column="creater_code"    />
+        <result property="createdate"    column="createdate"    />
+        <result property="updaterCode"    column="updater_code"    />
+        <result property="updatedate"    column="updatedate"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTPpeMainVo">
+        select d.id, d.staff_id, d.check_date, d.checker, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.remarks, d.dept_id ,s.dept_name from t_ppe_main d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTPpeMainList" parameterType="TPpeMain" resultMap="TPpeMainResult">
+        <include refid="selectTPpeMainVo"/>
+        <where>
+            <if test="staffId != null "> and staff_id = #{staffId}</if>
+            <if test="checkDate != null "> and check_date = #{checkDate}</if>
+            <if test="checker != null  and checker != ''"> and checker = #{checker}</if>
+            <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
+            <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="updaterCode != null  and updaterCode != ''"> and updater_code = #{updaterCode}</if>
+            <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+        order by check_date desc
+    </select>
+
+    <select id="selectTPpeMainById" parameterType="Long" resultMap="TPpeMainResult">
+        <include refid="selectTPpeMainVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertTPpeMain" parameterType="TPpeMain">
+        <selectKey keyProperty="id" resultType="long" order="BEFORE">
+            SELECT seq_t_ppe_main.NEXTVAL as id FROM DUAL
+        </selectKey>
+        insert into t_ppe_main
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="staffId != null">staff_id,</if>
+            <if test="checkDate != null">check_date,</if>
+            <if test="checker != null">checker,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createrCode != null">creater_code,</if>
+            <if test="createdate != null">createdate,</if>
+            <if test="updaterCode != null">updater_code,</if>
+            <if test="updatedate != null">updatedate,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="deptId != null">dept_id,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="staffId != null">#{staffId},</if>
+            <if test="checkDate != null">#{checkDate},</if>
+            <if test="checker != null">#{checker},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createrCode != null">#{createrCode},</if>
+            <if test="createdate != null">#{createdate},</if>
+            <if test="updaterCode != null">#{updaterCode},</if>
+            <if test="updatedate != null">#{updatedate},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="deptId != null">#{deptId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTPpeMain" parameterType="TPpeMain">
+        update t_ppe_main
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="staffId != null">staff_id = #{staffId},</if>
+            <if test="checkDate != null">check_date = #{checkDate},</if>
+            <if test="checker != null">checker = #{checker},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createrCode != null">creater_code = #{createrCode},</if>
+            <if test="createdate != null">createdate = #{createdate},</if>
+            <if test="updaterCode != null">updater_code = #{updaterCode},</if>
+            <if test="updatedate != null">updatedate = #{updatedate},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTPpeMainById" parameterType="Long">
+        update t_ppe_main set del_flag = 2 where id = #{id}
+    </update>
+
+    <update id="deleteTPpeMainByIds" parameterType="String">
+        update t_ppe_main set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+</mapper>

+ 151 - 0
master/src/main/resources/mybatis/production/TPpePersonMapper.xml

@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.production.mapper.TPpePersonMapper">
+
+    <resultMap type="TPpePerson" id="TPpePersonResult">
+        <result property="id"    column="id"    />
+        <result property="plantCode"    column="plant_code"    />
+        <result property="name"    column="name"    />
+        <result property="employeeid"    column="employeeid"    />
+        <result property="classes"    column="classes"    />
+        <result property="sex"    column="sex"    />
+        <result property="boiler"    column="boiler"    />
+        <result property="cracking"    column="cracking"    />
+        <result property="hotarea"    column="hotarea"    />
+        <result property="coldarea"    column="coldarea"    />
+        <result property="validity"    column="validity"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createrCode"    column="creater_code"    />
+        <result property="createdate"    column="createdate"    />
+        <result property="updaterCode"    column="updater_code"    />
+        <result property="updatedate"    column="updatedate"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="operator"    column="operator"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTPpePersonVo">
+        select d.id, d.plant_code, d.name, d.employeeid, d.classes, d.sex, d.boiler, d.cracking, d.hotarea, d.coldarea, d.validity, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.remarks, d.dept_id, d.operator ,s.dept_name from t_ppe_person d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTPpePersonList" parameterType="TPpePerson" resultMap="TPpePersonResult">
+        <include refid="selectTPpePersonVo"/>
+        <where>
+            <if test="plantCode != null  and plantCode != ''"> and plant_code = #{plantCode}</if>
+            <if test="name != null  and name != ''"> and name like concat(concat('%', #{name}), '%')</if>
+            <if test="employeeid != null  and employeeid != ''"> and employeeid = #{employeeid}</if>
+            <if test="classes != null  and classes != ''"> and classes = #{classes}</if>
+            <if test="sex != null  and sex != ''"> and sex = #{sex}</if>
+            <if test="boiler != null  and boiler != ''"> and boiler = #{boiler}</if>
+            <if test="cracking != null  and cracking != ''"> and cracking = #{cracking}</if>
+            <if test="hotarea != null  and hotarea != ''"> and hotarea = #{hotarea}</if>
+            <if test="coldarea != null  and coldarea != ''"> and coldarea = #{coldarea}</if>
+            <if test="validity != null "> and validity = #{validity}</if>
+            <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
+            <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="updaterCode != null  and updaterCode != ''"> and updater_code = #{updaterCode}</if>
+            <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="operator != null  and operator != ''"> and operator = #{operator}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
+
+    <select id="selectTPpePersonById" parameterType="Long" resultMap="TPpePersonResult">
+        <include refid="selectTPpePersonVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertTPpePerson" parameterType="TPpePerson">
+        <selectKey keyProperty="id" resultType="long" order="BEFORE">
+            SELECT seq_t_ppe_person.NEXTVAL as id FROM DUAL
+        </selectKey>
+        insert into t_ppe_person
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="plantCode != null and plantCode != ''">plant_code,</if>
+            <if test="name != null">name,</if>
+            <if test="employeeid != null">employeeid,</if>
+            <if test="classes != null">classes,</if>
+            <if test="sex != null">sex,</if>
+            <if test="boiler != null">boiler,</if>
+            <if test="cracking != null">cracking,</if>
+            <if test="hotarea != null">hotarea,</if>
+            <if test="coldarea != null">coldarea,</if>
+            <if test="validity != null">validity,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createrCode != null">creater_code,</if>
+            <if test="createdate != null">createdate,</if>
+            <if test="updaterCode != null">updater_code,</if>
+            <if test="updatedate != null">updatedate,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="deptId != null">dept_id,</if>
+            <if test="operator != null">operator,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="plantCode != null and plantCode != ''">#{plantCode},</if>
+            <if test="name != null">#{name},</if>
+            <if test="employeeid != null">#{employeeid},</if>
+            <if test="classes != null">#{classes},</if>
+            <if test="sex != null">#{sex},</if>
+            <if test="boiler != null">#{boiler},</if>
+            <if test="cracking != null">#{cracking},</if>
+            <if test="hotarea != null">#{hotarea},</if>
+            <if test="coldarea != null">#{coldarea},</if>
+            <if test="validity != null">#{validity},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createrCode != null">#{createrCode},</if>
+            <if test="createdate != null">#{createdate},</if>
+            <if test="updaterCode != null">#{updaterCode},</if>
+            <if test="updatedate != null">#{updatedate},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="deptId != null">#{deptId},</if>
+            <if test="operator != null">#{operator},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTPpePerson" parameterType="TPpePerson">
+        update t_ppe_person
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="plantCode != null and plantCode != ''">plant_code = #{plantCode},</if>
+            <if test="name != null">name = #{name},</if>
+            <if test="employeeid != null">employeeid = #{employeeid},</if>
+            <if test="classes != null">classes = #{classes},</if>
+            <if test="sex != null">sex = #{sex},</if>
+            <if test="boiler != null">boiler = #{boiler},</if>
+            <if test="cracking != null">cracking = #{cracking},</if>
+            <if test="hotarea != null">hotarea = #{hotarea},</if>
+            <if test="coldarea != null">coldarea = #{coldarea},</if>
+            <if test="validity != null">validity = #{validity},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createrCode != null">creater_code = #{createrCode},</if>
+            <if test="createdate != null">createdate = #{createdate},</if>
+            <if test="updaterCode != null">updater_code = #{updaterCode},</if>
+            <if test="updatedate != null">updatedate = #{updatedate},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="operator != null">operator = #{operator},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTPpePersonById" parameterType="Long">
+        update t_ppe_person set del_flag = 2 where id = #{id}
+    </update>
+
+    <update id="deleteTPpePersonByIds" parameterType="String">
+        update t_ppe_person set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+</mapper>

+ 152 - 0
master/src/main/resources/mybatis/production/TPpeStaffLockerMapper.xml

@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.production.mapper.TPpeStaffLockerMapper">
+
+    <resultMap type="TPpeStaffLocker" id="TPpeStaffLockerResult">
+        <result property="id"    column="id"    />
+        <result property="ppeType"    column="ppe_type"    />
+        <result property="usePost"    column="use_post"    />
+        <result property="isEquip"    column="is_equip"    />
+        <result property="isPollution"    column="is_pollution"    />
+        <result property="putAsRequired"    column="put_as_required"    />
+        <result property="isRequire"    column="is_require"    />
+        <result property="isValidity"    column="is_validity"    />
+        <result property="isIdentification"    column="is_identification"    />
+        <result property="isWetTissue"    column="is_wet_tissue"    />
+        <result property="mainId"    column="main_id"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createrCode"    column="creater_code"    />
+        <result property="createdate"    column="createdate"    />
+        <result property="updaterCode"    column="updater_code"    />
+        <result property="updatedate"    column="updatedate"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTPpeStaffLockerVo">
+        select d.id, d.ppe_type, d.use_post, d.is_equip, d.is_pollution, d.put_as_required, d.is_require, d.is_validity, d.is_identification, d.is_wet_tissue, d.main_id, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.remarks, d.dept_id ,s.dept_name from t_ppe_staff_locker d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTPpeStaffLockerList" parameterType="TPpeStaffLocker" resultMap="TPpeStaffLockerResult">
+        <include refid="selectTPpeStaffLockerVo"/>
+        <where>
+            <if test="ppeType != null  and ppeType != ''"> and ppe_type = #{ppeType}</if>
+            <if test="usePost != null  and usePost != ''"> and use_post = #{usePost}</if>
+            <if test="isEquip != null  and isEquip != ''"> and is_equip = #{isEquip}</if>
+            <if test="isPollution != null  and isPollution != ''"> and is_pollution = #{isPollution}</if>
+            <if test="putAsRequired != null  and putAsRequired != ''"> and put_as_required = #{putAsRequired}</if>
+            <if test="isRequire != null  and isRequire != ''"> and is_require = #{isRequire}</if>
+            <if test="isValidity != null  and isValidity != ''"> and is_validity = #{isValidity}</if>
+            <if test="isIdentification != null  and isIdentification != ''"> and is_identification = #{isIdentification}</if>
+            <if test="isWetTissue != null  and isWetTissue != ''"> and is_wet_tissue = #{isWetTissue}</if>
+            <if test="mainId != null "> and main_id = #{mainId}</if>
+            <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
+            <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="updaterCode != null  and updaterCode != ''"> and updater_code = #{updaterCode}</if>
+            <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+        order by createdate asc
+    </select>
+
+    <select id="selectTPpeStaffLockerById" parameterType="Long" resultMap="TPpeStaffLockerResult">
+        <include refid="selectTPpeStaffLockerVo"/>
+        where id = #{id}
+    </select>
+
+    <select id="selectTPpeStaffLockerListByMainId" parameterType="Long" resultMap="TPpeStaffLockerResult">
+        <include refid="selectTPpeStaffLockerVo"/>
+        where main_id = #{mainId}
+    </select>
+
+    <insert id="insertTPpeStaffLocker" parameterType="TPpeStaffLocker">
+        <selectKey keyProperty="id" resultType="long" order="BEFORE">
+            SELECT seq_t_ppe_staff_locker.NEXTVAL as id FROM DUAL
+        </selectKey>
+        insert into t_ppe_staff_locker
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="ppeType != null">ppe_type,</if>
+            <if test="usePost != null">use_post,</if>
+            <if test="isEquip != null">is_equip,</if>
+            <if test="isPollution != null">is_pollution,</if>
+            <if test="putAsRequired != null">put_as_required,</if>
+            <if test="isRequire != null">is_require,</if>
+            <if test="isValidity != null">is_validity,</if>
+            <if test="isIdentification != null">is_identification,</if>
+            <if test="isWetTissue != null">is_wet_tissue,</if>
+            <if test="mainId != null">main_id,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createrCode != null">creater_code,</if>
+            <if test="createdate != null">createdate,</if>
+            <if test="updaterCode != null">updater_code,</if>
+            <if test="updatedate != null">updatedate,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="deptId != null">dept_id,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="ppeType != null">#{ppeType},</if>
+            <if test="usePost != null">#{usePost},</if>
+            <if test="isEquip != null">#{isEquip},</if>
+            <if test="isPollution != null">#{isPollution},</if>
+            <if test="putAsRequired != null">#{putAsRequired},</if>
+            <if test="isRequire != null">#{isRequire},</if>
+            <if test="isValidity != null">#{isValidity},</if>
+            <if test="isIdentification != null">#{isIdentification},</if>
+            <if test="isWetTissue != null">#{isWetTissue},</if>
+            <if test="mainId != null">#{mainId},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createrCode != null">#{createrCode},</if>
+            <if test="createdate != null">#{createdate},</if>
+            <if test="updaterCode != null">#{updaterCode},</if>
+            <if test="updatedate != null">#{updatedate},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="deptId != null">#{deptId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTPpeStaffLocker" parameterType="TPpeStaffLocker">
+        update t_ppe_staff_locker
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="ppeType != null">ppe_type = #{ppeType},</if>
+            <if test="usePost != null">use_post = #{usePost},</if>
+            <if test="isEquip != null">is_equip = #{isEquip},</if>
+            <if test="isPollution != null">is_pollution = #{isPollution},</if>
+            <if test="putAsRequired != null">put_as_required = #{putAsRequired},</if>
+            <if test="isRequire != null">is_require = #{isRequire},</if>
+            <if test="isValidity != null">is_validity = #{isValidity},</if>
+            <if test="isIdentification != null">is_identification = #{isIdentification},</if>
+            <if test="isWetTissue != null">is_wet_tissue = #{isWetTissue},</if>
+            <if test="mainId != null">main_id = #{mainId},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createrCode != null">creater_code = #{createrCode},</if>
+            <if test="createdate != null">createdate = #{createdate},</if>
+            <if test="updaterCode != null">updater_code = #{updaterCode},</if>
+            <if test="updatedate != null">updatedate = #{updatedate},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTPpeStaffLockerById" parameterType="Long">
+        update t_ppe_staff_locker set del_flag = 2 where id = #{id}
+    </update>
+
+    <update id="deleteTPpeStaffLockerByIds" parameterType="String">
+        update t_ppe_staff_locker set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+</mapper>

+ 122 - 0
master/src/main/resources/mybatis/production/TPpeWardrobeMapper.xml

@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.project.production.mapper.TPpeWardrobeMapper">
+
+    <resultMap type="TPpeWardrobe" id="TPpeWardrobeResult">
+        <result property="id"    column="id"    />
+        <result property="noPollution"    column="no_pollution"    />
+        <result property="putAsRequired"    column="put_as_required"    />
+        <result property="noFood"    column="no_food"    />
+        <result property="mainId"    column="main_id"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createrCode"    column="creater_code"    />
+        <result property="createdate"    column="createdate"    />
+        <result property="updaterCode"    column="updater_code"    />
+        <result property="updatedate"    column="updatedate"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTPpeWardrobeVo">
+        select d.id, d.no_pollution, d.put_as_required, d.no_food, d.main_id, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.remarks, d.dept_id ,s.dept_name from t_ppe_wardrobe d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTPpeWardrobeList" parameterType="TPpeWardrobe" resultMap="TPpeWardrobeResult">
+        <include refid="selectTPpeWardrobeVo"/>
+        <where>
+            <if test="noPollution != null  and noPollution != ''"> and no_pollution = #{noPollution}</if>
+            <if test="putAsRequired != null  and putAsRequired != ''"> and put_as_required = #{putAsRequired}</if>
+            <if test="noFood != null  and noFood != ''"> and no_food = #{noFood}</if>
+            <if test="mainId != null "> and main_id = #{mainId}</if>
+            <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
+            <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="updaterCode != null  and updaterCode != ''"> and updater_code = #{updaterCode}</if>
+            <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+        order by createdate asc
+    </select>
+
+    <select id="selectTPpeWardrobeById" parameterType="Long" resultMap="TPpeWardrobeResult">
+        <include refid="selectTPpeWardrobeVo"/>
+        where id = #{id}
+    </select>
+
+    <select id="selectTPpeWardrobeListByMainId" parameterType="Long" resultMap="TPpeWardrobeResult">
+        <include refid="selectTPpeWardrobeVo"/>
+        where main_id = #{mainId}
+    </select>
+
+    <insert id="insertTPpeWardrobe" parameterType="TPpeWardrobe">
+        <selectKey keyProperty="id" resultType="long" order="BEFORE">
+            SELECT seq_t_ppe_wardrobe.NEXTVAL as id FROM DUAL
+        </selectKey>
+        insert into t_ppe_wardrobe
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="noPollution != null">no_pollution,</if>
+            <if test="putAsRequired != null">put_as_required,</if>
+            <if test="noFood != null">no_food,</if>
+            <if test="mainId != null">main_id,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createrCode != null">creater_code,</if>
+            <if test="createdate != null">createdate,</if>
+            <if test="updaterCode != null">updater_code,</if>
+            <if test="updatedate != null">updatedate,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="deptId != null">dept_id,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="noPollution != null">#{noPollution},</if>
+            <if test="putAsRequired != null">#{putAsRequired},</if>
+            <if test="noFood != null">#{noFood},</if>
+            <if test="mainId != null">#{mainId},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createrCode != null">#{createrCode},</if>
+            <if test="createdate != null">#{createdate},</if>
+            <if test="updaterCode != null">#{updaterCode},</if>
+            <if test="updatedate != null">#{updatedate},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="deptId != null">#{deptId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTPpeWardrobe" parameterType="TPpeWardrobe">
+        update t_ppe_wardrobe
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="noPollution != null">no_pollution = #{noPollution},</if>
+            <if test="putAsRequired != null">put_as_required = #{putAsRequired},</if>
+            <if test="noFood != null">no_food = #{noFood},</if>
+            <if test="mainId != null">main_id = #{mainId},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createrCode != null">creater_code = #{createrCode},</if>
+            <if test="createdate != null">createdate = #{createdate},</if>
+            <if test="updaterCode != null">updater_code = #{updaterCode},</if>
+            <if test="updatedate != null">updatedate = #{updatedate},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTPpeWardrobeById" parameterType="Long">
+        update t_ppe_wardrobe set del_flag = 2 where id = #{id}
+    </update>
+
+    <update id="deleteTPpeWardrobeByIds" parameterType="String">
+        update t_ppe_wardrobe set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+</mapper>

+ 53 - 0
ui/src/api/production/cmldefLocker.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询自行车棚防化靴/防化服柜子列表
+export function listCmldefLocker(query) {
+  return request({
+    url: '/production/cmldefLocker/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询自行车棚防化靴/防化服柜子详细
+export function getCmldefLocker(id) {
+  return request({
+    url: '/production/cmldefLocker/' + id,
+    method: 'get'
+  })
+}
+
+// 新增自行车棚防化靴/防化服柜子
+export function addCmldefLocker(data) {
+  return request({
+    url: '/production/cmldefLocker',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改自行车棚防化靴/防化服柜子
+export function updateCmldefLocker(data) {
+  return request({
+    url: '/production/cmldefLocker',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除自行车棚防化靴/防化服柜子
+export function delCmldefLocker(id) {
+  return request({
+    url: '/production/cmldefLocker/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出自行车棚防化靴/防化服柜子
+export function exportCmldefLocker(query) {
+  return request({
+    url: '/production/cmldefLocker/export',
+    method: 'get',
+    params: query
+  })
+}

+ 61 - 0
ui/src/api/production/main.js

@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+// 查询员工PPE检查记录列表
+export function listMain(query) {
+  return request({
+    url: '/production/main/list',
+    method: 'get',
+    params: query
+  })
+}
+
+export function getLastCheckData(query) {
+  return request({
+    url: '/production/main/lastCheckData',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询员工PPE检查记录详细
+export function getMain(id) {
+  return request({
+    url: '/production/main/' + id,
+    method: 'get'
+  })
+}
+
+// 新增员工PPE检查记录
+export function addMain(data) {
+  return request({
+    url: '/production/main',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改员工PPE检查记录
+export function updateMain(data) {
+  return request({
+    url: '/production/main',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除员工PPE检查记录
+export function delMain(id) {
+  return request({
+    url: '/production/main/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出员工PPE检查记录
+export function exportMain(query) {
+  return request({
+    url: '/production/main/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
ui/src/api/production/person.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询员工PPE检查列表
+export function listPerson(query) {
+  return request({
+    url: '/production/person/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询员工PPE检查详细
+export function getPerson(id) {
+  return request({
+    url: '/production/person/' + id,
+    method: 'get'
+  })
+}
+
+// 新增员工PPE检查
+export function addPerson(data) {
+  return request({
+    url: '/production/person',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改员工PPE检查
+export function updatePerson(data) {
+  return request({
+    url: '/production/person',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除员工PPE检查
+export function delPerson(id) {
+  return request({
+    url: '/production/person/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出员工PPE检查
+export function exportPerson(query) {
+  return request({
+    url: '/production/person/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
ui/src/api/production/staffLocker.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询自行车棚员工PPE柜列表
+export function listStaffLocker(query) {
+  return request({
+    url: '/production/staffLocker/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询自行车棚员工PPE柜详细
+export function getStaffLocker(id) {
+  return request({
+    url: '/production/staffLocker/' + id,
+    method: 'get'
+  })
+}
+
+// 新增自行车棚员工PPE柜
+export function addStaffLocker(data) {
+  return request({
+    url: '/production/staffLocker',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改自行车棚员工PPE柜
+export function updateStaffLocker(data) {
+  return request({
+    url: '/production/staffLocker',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除自行车棚员工PPE柜
+export function delStaffLocker(id) {
+  return request({
+    url: '/production/staffLocker/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出自行车棚员工PPE柜
+export function exportStaffLocker(query) {
+  return request({
+    url: '/production/staffLocker/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
ui/src/api/production/wardrobe.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询更衣柜列表
+export function listWardrobe(query) {
+  return request({
+    url: '/production/wardrobe/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询更衣柜详细
+export function getWardrobe(id) {
+  return request({
+    url: '/production/wardrobe/' + id,
+    method: 'get'
+  })
+}
+
+// 新增更衣柜
+export function addWardrobe(data) {
+  return request({
+    url: '/production/wardrobe',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改更衣柜
+export function updateWardrobe(data) {
+  return request({
+    url: '/production/wardrobe',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除更衣柜
+export function delWardrobe(id) {
+  return request({
+    url: '/production/wardrobe/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出更衣柜
+export function exportWardrobe(query) {
+  return request({
+    url: '/production/wardrobe/export',
+    method: 'get',
+    params: query
+  })
+}

+ 1140 - 0
ui/src/views/production/person/index.vue

@@ -0,0 +1,1140 @@
+<template>
+  <div class="app-container">
+    <el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="68px">
+      <el-form-item label="姓名" prop="name">
+        <el-input
+            v-model="queryParams.name"
+            clearable
+            placeholder="请输入姓名"
+            size="small"
+            @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="员工号" prop="employeeid">
+        <el-input
+            v-model="queryParams.employeeid"
+            clearable
+            placeholder="请输入员工号"
+            size="small"
+            @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="班组" prop="classes">
+        <el-select v-model="queryParams.classes" clearable placeholder="请选择班组" size="small">
+          <el-option
+              v-for="dict in classesOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="性别" prop="sex">
+        <el-select v-model="queryParams.sex" clearable placeholder="请选择性别" size="small">
+          <el-option
+              v-for="dict in sexOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button icon="el-icon-search" size="mini" type="cyan" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+            v-hasPermi="['production:person:add']"
+            icon="el-icon-refresh"
+            size="mini"
+            type="success"
+            @click="syncPerson"
+        >同步人员数据
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="personList" :element-loading-text="loadingText" :height="clientHeight" border
+              @selection-change="handleSelectionChange">
+      <el-table-column align="center" type="selection" width="55"/>
+      <el-table-column :formatter="plantCodeFormat" align="center" label="装置名称" prop="plantCode"/>
+      <el-table-column align="center" label="姓名" prop="name"/>
+      <el-table-column align="center" label="员工号" prop="employeeid"/>
+      <el-table-column :formatter="classesFormat" align="center" label="班组" prop="classes"/>
+      <el-table-column :formatter="sexFormat" align="center" label="性别" prop="sex"/>
+      <el-table-column :formatter="boilerFormat" align="center" label="裂解" prop="boiler"/>
+      <el-table-column :formatter="crackingFormat" align="center" label="热区" prop="cracking"/>
+      <el-table-column :formatter="hotareaFormat" align="center" label="冷区" prop="hotarea"/>
+      <el-table-column :formatter="coldareaFormat" align="center" label="PGU/AEU" prop="coldarea"/>
+      <el-table-column :formatter="operatorFormat" align="center" label="白班操作员" prop="operator"/>
+      <el-table-column align="center" class-name="small-padding fixed-width" label="操作">
+        <template slot-scope="scope">
+          <el-button
+              v-hasPermi="['production:person:edit']"
+              icon="el-icon-document"
+              size="mini"
+              type="text"
+              @click="checkDetail(scope.row)"
+          >检查详情
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+        v-show="total>0"
+        :limit.sync="queryParams.pageSize"
+        :page.sync="queryParams.pageNum"
+        :total="total"
+        @pagination="getList"
+    />
+
+    <el-dialog :close-on-click-modal="false" :visible.sync="detail.open" title="检查详情" width="90%">
+      <el-form v-show="detail.showSearch" ref="detailQueryForm" :inline="true" :model="detail.queryParams"
+               label-width="68px">
+        <el-form-item label="检查日期" prop="checkDate">
+          <el-date-picker v-model="detail.queryParams.checkDate" clearable placeholder="选择检查日期"
+                          size="small"
+                          style="width: 200px"
+                          type="date"
+                          value-format="yyyy-MM-dd">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item>
+          <el-button icon="el-icon-search" size="mini" type="cyan" @click="handleDetailQuery">搜索</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="resetDetailQuery">重置</el-button>
+        </el-form-item>
+      </el-form>
+      <el-button
+          v-if="!detail.isEdit&&!detail.isAdd"
+          icon="el-icon-plus"
+          size="mini"
+          type="primary"
+          @click="addDetail"
+      >添加检查结果
+      </el-button>
+      <!--      <el-button
+                icon="el-icon-edit"
+                size="mini"
+                type="warning"
+                @click="addDetail"
+                v-if="!detail.isEdit&&!detail.isAdd"
+            >修改检查结果
+            </el-button>-->
+      <right-toolbar :showSearch.sync="detail.showSearch" @queryTable="getDetail"></right-toolbar>
+      <el-descriptions :column="3" border class="margin-top" size="default">
+        <el-descriptions-item label="姓名">
+          {{ detail.row.name }}
+        </el-descriptions-item>
+        <el-descriptions-item label="性别">
+          {{ sexFormat(detail.row) }}
+        </el-descriptions-item>
+        <el-descriptions-item label="岗位">
+          {{ postFormat(detail.row) }}
+        </el-descriptions-item>
+      </el-descriptions>
+      <el-table v-if="detail.row.sex!=1" :data="detail.staffLocker" border>
+        <el-table-column align="center" label="自行车棚员工PPE柜">
+          <el-table-column align="center" label="PPE种类" prop="ppeType">
+            <template slot-scope="scope">
+              <div v-if="detail.isEdit||detail.isAdd">
+                <el-input v-model="scope.row.ppeType" placehoder="请输入PPE种类"/>
+              </div>
+              <span v-else>{{ scope.row.ppeType }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="检查内容">
+            <el-table-column align="center" label="应配备岗位" prop="usePost">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.usePost" clearable multiple placeholder="请选择应配备岗位" size="small">
+                    <el-option
+                        v-for="dict in ppePostOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.usePost }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="是否配备" prop="isEquip">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.isEquip" clearable placeholder="请选择是否配备" size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.isEquip }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="是否无破损、未被污染" prop="isPollution">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.isPollution" clearable placeholder="请选择是否无破损、未被污染"
+                             size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.isPollution }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="摆放符合要求" prop="putAsRequired">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.putAsRequired" clearable placeholder="请选择是否摆放符合要求"
+                             size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.putAsRequired }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="是否按要求贴“使用时间卡”" prop="isRequire">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.isRequire" clearable placeholder="请选择是否按要求贴“使用时间卡"
+                             size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.isRequire }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="是否在使用有效期内" prop="isValidity">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.isValidity" clearable placeholder="请选择是否在使用有效期内"
+                             size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.isValidity }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="检验合格的标识在有效期内" prop="isIdentification">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.isIdentification" clearable
+                             placeholder="请选择是否检验合格的标识在有效期内" size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.isIdentification }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="是否配有专用湿巾" prop="isWetTissue">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="detail.isWetTissue" clearable placeholder="请选择是否配有专用湿巾" size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.isWetTissue }}</span>
+              </template>
+            </el-table-column>
+          </el-table-column>
+          <el-table-column
+              v-if="detail.isAdd||detail.isEdit"
+              label="操作"
+              width="100px">
+            <template slot-scope="scope">
+              <el-button
+                  size="small"
+                  type="text"
+                  @click.native.prevent="deleteRow(scope.$index, detail.staffLocker)">
+                移除
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table-column>
+      </el-table>
+      <div v-if="detail.isAdd||detail.isEdit" style="margin-top: 10px">
+        <el-input v-model="detail.staffRemark" placeholder="请输入备注" style="width: 100%"
+                  type="textarea"/>
+        <!--<el-form>
+          <el-form-item label="备注" label-width="80px" prop="detail.staffRemark">
+          </el-form-item>
+        </el-form>-->
+      </div>
+      <el-descriptions v-else :column="1" border class="margin-top" size="default">
+        <el-descriptions-item label="备注" label-style="width:100px">
+          {{ detail.staffRemark }}
+        </el-descriptions-item>
+      </el-descriptions>
+      <div>
+        <el-button v-if="detail.isAdd||detail.isEdit"
+                   icon="el-icon-plus"
+                   type="text"
+                   @click="addRow(detail.staffLocker)">
+          添加一行
+        </el-button>
+      </div>
+
+      <el-table v-if="detail.row.sex!=1" :data="detail.cmldefLocker" border style="margin: 20px 0 0 0;">
+        <el-table-column align="center" label="自行车棚防化靴/防化服柜">
+          <el-table-column align="center" label="PPE种类" prop="ppeType">
+            <template slot-scope="scope">
+              <div v-if="detail.isEdit||detail.isAdd">
+                <el-input v-model="scope.row.ppeType" placehoder="请输入PPE种类"/>
+              </div>
+              <span v-else>{{ scope.row.ppeType }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="检查内容">
+            <el-table-column align="center" label="应配备岗位" prop="usePost">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.usePost" clearable multiple placeholder="请选择应配备岗位" size="small">
+                    <el-option
+                        v-for="dict in ppePostOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.usePost }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="是否配备" prop="isEquip">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.isEquip" clearable placeholder="请选择是否配备" size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.isEquip }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="是否无破损、未被污染" prop="isPollution">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.isPollution" clearable placeholder="请选择是否无破损、未被污染"
+                             size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.isPollution }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="摆放符合要求" prop="putAsRequired">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.putAsRequired" clearable placeholder="请选择是否摆放符合要求"
+                             size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.putAsRequired }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="检验合格的标识在有效期内" prop="isIdentification">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.isIdentification" clearable
+                             placeholder="请选择是否检验合格的标识在有效期内" size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.isIdentification }}</span>
+              </template>
+            </el-table-column>
+          </el-table-column>
+          <el-table-column
+              v-if="detail.isAdd||detail.isEdit"
+              label="操作"
+              width="100px">
+            <template slot-scope="scope">
+              <el-button
+                  size="small"
+                  type="text"
+                  @click.native.prevent="deleteRow(scope.$index, detail.cmldefLocker)">
+                移除
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table-column>
+      </el-table>
+      <div v-if="detail.isAdd||detail.isEdit" style="margin-top: 10px">
+        <el-input v-model="detail.cmldefRemark" placeholder="请输入备注" style="width: 100%"
+                  type="textarea"/>
+        <!--<el-form>
+          <el-form-item label="备注" label-width="80px" prop="detail.cmldefRemark">
+          </el-form-item>
+        </el-form>-->
+      </div>
+      <el-descriptions v-else :column="1" border class="margin-top" size="default">
+        <el-descriptions-item label="备注" label-style="width:100px">
+          {{ detail.cmldefRemark }}
+        </el-descriptions-item>
+      </el-descriptions>
+      <div>
+        <el-button v-if="detail.isAdd||detail.isEdit"
+                   icon="el-icon-plus"
+                   type="text"
+                   @click="addRow(detail.cmldefLocker)">
+          添加一行
+        </el-button>
+      </div>
+
+      <el-table :data="detail.wardrobe" border style="margin: 20px 0 0 0;">
+        <el-table-column align="center" label="更衣柜">
+          <el-table-column align="center" label="检查内容">
+            <el-table-column align="center" label="没有存放污染工作服/工作鞋">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.noPollution" clearable
+                             placeholder="请选择是否没有存放污染工作服/工作鞋" size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.noPollution }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="摆放符合要求">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.putAsRequired" clearable
+                             placeholder="请选择是否摆放符合要求" size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.putAsRequired }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="未存放食物/饮料">
+              <template slot-scope="scope">
+                <div v-if="detail.isEdit||detail.isAdd">
+                  <el-select v-model="scope.row.noFood" clearable
+                             placeholder="请选择是否未存放食物/饮料" size="small">
+                    <el-option
+                        v-for="dict in ppeCheckOptions"
+                        :key="dict.dictValue"
+                        :label="dict.dictLabel"
+                        :value="dict.dictValue"
+                    />
+                  </el-select>
+                </div>
+                <span v-else>{{ scope.row.noFood }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+                v-if="detail.isAdd||detail.isEdit"
+                label="操作"
+                width="100px">
+              <template slot-scope="scope">
+                <el-button
+                    size="small"
+                    type="text"
+                    @click.native.prevent="deleteRow(scope.$index, detail.wardrobe)">
+                  移除
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table-column>
+        </el-table-column>
+      </el-table>
+      <div v-if="detail.isAdd||detail.isEdit" style="margin-top: 10px">
+        <el-input v-model="detail.wardrobeRemark" placeholder="请输入备注" style="width: 100%"
+                  type="textarea"/>
+        <!--<el-form>
+          <el-form-item label="备注" label-width="80px" prop="detail.wardrobeRemark">
+          </el-form-item>
+        </el-form>-->
+      </div>
+      <el-descriptions v-else :column="1" border class="margin-top" size="default">
+        <el-descriptions-item label="备注" label-style="width:100px">
+          {{ detail.wardrobeRemark }}
+        </el-descriptions-item>
+      </el-descriptions>
+      <div>
+        <el-button v-if="detail.isAdd||detail.isEdit"
+                   icon="el-icon-plus"
+                   type="text"
+                   @click="addRow(detail.wardrobe)">
+          添加一行
+        </el-button>
+      </div>
+
+      <div v-if="detail.isEdit||detail.isAdd" slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitDetail">{{ $t('确 定') }}</el-button>
+        <el-button @click="cancelDetail">{{ $t('取 消') }}</el-button>
+      </div>
+
+      <div v-if="!detail.isEdit&&!detail.isAdd&&detail.checker&&detail.checkDate"
+           style="width: 100%;font-size: 20px;text-align: center;margin-top: 20px">
+        检查人:<span style="text-decoration: underline;margin-right: 200px">{{ detail.checker }}</span>
+        检查时间:<span style="text-decoration: underline;">{{ detail.checkDate }}</span>
+      </div>
+    </el-dialog>
+
+
+  </div>
+</template>
+
+<script>
+import {
+  addPerson,
+  delPerson,
+  exportPerson,
+  getPerson,
+  importTemplate,
+  listPerson,
+  updatePerson
+} from "@/api/production/person";
+import {treeselect} from "@/api/system/dept";
+import {getToken} from "@/utils/auth";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import {addMain, getLastCheckData} from "@/api/production/main";
+
+export default {
+  name: "Person",
+  components: {Treeselect},
+  options: {
+    whitespace: true
+  },
+  data() {
+    return {
+      detail: {
+        isEdit: false,
+        isAdd: false,
+        open: false,
+        showSearch: false,
+        queryParams: {
+          staffId: null,
+          checkData: null
+        },
+        row: {},
+        staffLocker: [],
+        cmldefLocker: [],
+        wardrobe: [],
+        staffRemark: null,
+        cmldefRemark: null,
+        wardrobeRemark: null,
+        oldStaffLocker: [],
+        oldCmldefLocker: [],
+        oldWardrobe: [],
+        isWetTissue: null,
+        checkDate: null,
+        checker: null,
+      },
+      // 装置名称字典
+      plantCodeOptions: [],
+      yesNoOptions: [],
+      ppePostOptions: [],
+      ppeCheckOptions: [],
+      // 遮罩层
+      loading: true,
+      loadingText: "",
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: false,
+      // 总条数
+      total: 0,
+      // 员工PPE检查表格数据
+      personList: [],
+      // 弹出层标题
+      title: "",
+      // 部门树选项
+      deptOptions: undefined,
+      clientHeight: 300,
+      // 是否显示弹出层
+      open: false,
+      // 班组字典
+      classesOptions: [],
+      // 性别字典
+      sexOptions: [],
+      // 用户导入参数
+      upload: {
+        // 是否显示弹出层(用户导入)
+        open: false,
+        // 弹出层标题(用户导入)
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        // 设置上传的请求头部
+        headers: {Authorization: "Bearer " + getToken()},
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/production/person/importData"
+      },
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 20,
+        plantCode: null,
+        name: null,
+        employeeid: null,
+        classes: null,
+        sex: null,
+        boiler: null,
+        cracking: null,
+        hotarea: null,
+        coldarea: null,
+        validity: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        remarks: null,
+        deptId: null,
+        operator: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        id: [
+          {required: true, message: "唯一标识ID不能为空", trigger: "blur"}
+        ],
+        plantCode: [
+          {required: true, message: "装置名称不能为空", trigger: "blur"}
+        ],
+        deptId: [
+          {required: true, message: "部门编号不能为空", trigger: "blur"}
+        ],
+      }
+    };
+  },
+  watch: {
+    // 根据名称筛选部门树
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    }
+  },
+  created() {
+    //设置表格高度对应屏幕高度
+    this.$nextTick(() => {
+      this.clientHeight = document.body.clientHeight - 250
+    })
+    this.getList();
+    this.getTreeselect();
+    this.getDicts("TEAM_DIVIDE").then(response => {
+      this.classesOptions = response.data;
+    });
+    this.getDicts("sys_user_sex").then(response => {
+      this.sexOptions = response.data;
+    });
+    this.getDicts("PLANT_DIVIDE").then(response => {
+      this.plantCodeOptions = response.data;
+    });
+    this.getDicts("YES_NO_EN").then(response => {
+      this.yesNoOptions = response.data;
+    });
+    this.getDicts("PPE_POST").then(response => {
+      this.ppePostOptions = response.data;
+    });
+    this.getDicts("PPE_CHECK").then(response => {
+      this.ppeCheckOptions = response.data;
+    });
+  },
+  methods: {
+    submitDetail() {
+      this.detail.staffLocker.forEach(item => {
+        if (item.usePost)
+          item.usePost = item.usePost.join(',');
+        item.isWetTissue = this.detail.isWetTissue;
+      })
+      this.detail.cmldefLocker.forEach(item => {
+        if (item.usePost)
+          item.usePost = item.usePost.join(',');
+      })
+      let data = {
+        deptId: this.detail.row.deptId,
+        staffId: this.detail.row.employeeid,
+        staffLockers: this.detail.staffLocker,
+        cmldefLockers: this.detail.cmldefLocker,
+        wardrobes: this.detail.wardrobe,
+        staffRemark: this.detail.staffRemark,
+        cmldefRemark: this.detail.cmldefRemark,
+        wardrobeRemark: this.detail.wardrobeRemark
+      }
+      addMain(data).then(res => {
+        this.detail.isEdit = false;
+        this.detail.isAdd = false;
+        this.getDetail();
+      })
+    },
+    addRow(rows) {
+      rows.push({});
+    },
+    deleteRow(index, rows) {
+      rows.splice(index, 1);
+    },
+    addDetail() {
+      this.detail.isAdd = true;
+      this.detail.staffRemark = null;
+      this.detail.cmldefRemark = null;
+      this.detail.wardrobeRemark = null;
+      this.detail.isWetTissue = '是';
+      this.detail.oldStaffLocker = [];
+      this.detail.oldCmldefLocker = [];
+      this.detail.oldWardrobe = [];
+      this.detail.oldStaffLocker = this.detail.staffLocker;
+      this.detail.oldCmldefLocker = this.detail.cmldefLocker;
+      this.detail.oldWardrobe = this.detail.wardrobe;
+      this.detail.staffLocker = [
+        {
+          ppeType: '安全帽',
+          usePost: ['所有岗位'],
+          isIdentification: 'N.A',
+          isValidity: '是',
+          isRequire: 'N.A',
+          putAsRequired: '是',
+          isPollution: '是',
+          isEquip: '/'
+        },
+        {
+          ppeType: '耳罩',
+          usePost: ['所有岗位'],
+          isIdentification: 'N.A',
+          isValidity: 'N.A',
+          isRequire: 'N.A',
+          putAsRequired: '是',
+          isPollution: '是',
+          isEquip: '/'
+        },
+        {
+          ppeType: '皮革工作手套',
+          usePost: ['所有岗位'],
+          isIdentification: 'N.A',
+          isValidity: 'N.A',
+          isRequire: 'N.A',
+          putAsRequired: '是',
+          isPollution: '是',
+          isEquip: '/'
+        },
+        {
+          ppeType: 'Ansell38-628合成橡胶手套',
+          usePost: ['所有岗位'],
+          isIdentification: 'N.A',
+          isValidity: '是',
+          isRequire: 'N.A',
+          putAsRequired: '是',
+          isPollution: '是',
+          isEquip: '/'
+        },
+        {
+          ppeType: 'Ansell37-675.676丁腈橡胶手套',
+          usePost: ['所有岗位'],
+          isIdentification: 'N.A',
+          isValidity: '是',
+          isRequire: 'N.A',
+          putAsRequired: '是',
+          isPollution: '是',
+          isEquip: '/'
+        },
+        {
+          ppeType: '安全眼镜',
+          usePost: ['所有岗位'],
+          isIdentification: 'N.A',
+          isValidity: 'N.A',
+          isRequire: 'N.A',
+          putAsRequired: '是',
+          isPollution: '是',
+          isEquip: '/'
+        },
+        {
+          ppeType: '3S宽视野全面罩',
+          usePost: ['所有岗位'],
+          isIdentification: '是',
+          isValidity: 'N.A',
+          isRequire: 'N.A',
+          putAsRequired: '是',
+          isPollution: '是',
+          isEquip: '/'
+        },
+        {
+          ppeType: '滤罐93ABEK2Hg/St型',
+          usePost: ['所有岗位'],
+          isIdentification: 'N.A',
+          isValidity: '是',
+          isRequire: '是',
+          putAsRequired: '是',
+          isPollution: '是',
+          isEquip: '/'
+        }, {
+          ppeType: '防化眼镜',
+          usePost: ['裂解', '热区', 'PGU&AEU', '白班操作员']
+        },
+        {
+          ppeType: '滤罐90AX型',
+          usePost: ['裂解', '热区', 'PGU&AEU']
+        },
+        {
+          ppeType: '防护面罩',
+          usePost: ['裂解', '热区', '白班操作员']
+        },
+        {
+          ppeType: '看火眼镜',
+          usePost: ['裂解']
+        },
+        {
+          ppeType: '优越410半面罩',
+          usePost: ['裂解', '白班操作员']
+        }
+      ]
+      this.detail.cmldefLocker = [
+        {
+          ppeType: '防化靴',
+          usePost: ['热区指定人', '白班操作员'],
+          isIdentification: 'N.A',
+          putAsRequired: '是',
+          isPollution: '是',
+          isEquip: '是'
+        },
+        {
+          ppeType: '连体防化服MC5000',
+          usePost: ['热区指定人', '白班操作员'],
+          isIdentification: '是',
+          putAsRequired: '是',
+          isPollution: 'N.A',
+          isEquip: '是'
+        }
+      ];
+      this.detail.wardrobe = [
+        {
+          noPollution: '是',
+          putAsRequired: '是',
+          noFood: '是'
+        }
+      ]
+    },
+    cancelDetail() {
+      this.detail.isEdit = false;
+      this.detail.isAdd = false;
+      this.detail.staffLocker = this.detail.oldStaffLocker;
+      this.detail.cmldefLocker = this.detail.oldCmldefLocker;
+      this.detail.wardrobe = this.detail.oldWardrobe;
+    },
+    checkDetail(row) {
+      this.detail.showSearch = false;
+      this.detail.row = {};
+      this.detail.open = true;
+      this.detail.isEdit = false;
+      this.detail.isAdd = false;
+      this.detail.oldStaffLocker = [];
+      this.detail.oldCmldefLocker = [];
+      this.detail.oldWardrobe = [];
+      this.detail.staffLocker = [];
+      this.detail.cmldefLocker = [];
+      this.detail.wardrobe = [];
+      this.detail.checkDate = null;
+      this.detail.checker = null;
+      this.detail.row = row;
+      this.getDetail(row);
+    },
+    getDetail(row) {
+      this.detail.queryParams.staffId = this.detail.row.employeeid || row.employeeid;
+      console.log(this.detail.queryParams)
+      console.log(this.detail.row)
+      getLastCheckData(this.detail.queryParams).then(res => {
+        this.detail.checker = res.data.checker;
+        this.detail.checkDate = res.data.checkDate;
+        this.detail.staffLocker = res.data.staffLockers;
+        this.detail.cmldefLocker = res.data.cmldefLockers;
+        this.detail.wardrobe = res.data.wardrobes;
+        this.detail.staffRemark = res.data.staffRemark;
+        this.detail.cmldefRemark = res.data.cmldefRemark;
+        this.detail.wardrobeRemark = res.data.wardrobeRemark;
+      })
+    },
+    // 装置名称字典翻译
+    plantCodeFormat(row, column) {
+      return this.selectDictLabel(this.plantCodeOptions, row.plantCode);
+    },
+    // 裂解字典翻译
+    boilerFormat(row, column) {
+      return this.selectDictLabel(this.yesNoOptions, row.boiler);
+    },
+    // 压缩字典翻译
+    crackingFormat(row, column) {
+      return this.selectDictLabel(this.yesNoOptions, row.cracking);
+    },
+    // 分离字典翻译
+    hotareaFormat(row, column) {
+      return this.selectDictLabel(this.yesNoOptions, row.hotarea);
+    },
+    // PGU/AEU字典翻译
+    coldareaFormat(row, column) {
+      return this.selectDictLabel(this.yesNoOptions, row.coldarea);
+    },
+    // 白班操作员字典翻译
+    operatorFormat(row, column) {
+      return this.selectDictLabel(this.yesNoOptions, row.operator);
+    },
+    /** 查询员工PPE检查列表 */
+    getList() {
+      this.loading = true;
+      listPerson(this.queryParams).then(response => {
+        this.personList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+        this.loadingText = "";
+      });
+    },
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      treeselect().then(response => {
+        this.deptOptions = response.data;
+      });
+    },
+    // 班组字典翻译
+    classesFormat(row, column) {
+      return this.selectDictLabel(this.classesOptions, row.classes);
+    },
+    // 性别字典翻译
+    sexFormat(row, column) {
+      return this.selectDictLabel(this.sexOptions, row.sex);
+    },
+    postFormat(row, column) {
+      let val = "";
+      if (row.boiler == 1)
+        val += '裂解、'
+      if (row.cracking == 1)
+        val += '热区、'
+      if (row.hotarea == 1)
+        val += '冷区、'
+      if (row.coldarea == 1)
+        val += 'PGU/AEU、'
+      if (row.operator == 1)
+        val += '白班操作员'
+      if (val.endsWith('、'))
+        val = val.substring(0, val.length - 1)
+      return val;
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        plantCode: null,
+        name: null,
+        employeeid: null,
+        classes: null,
+        sex: null,
+        boiler: null,
+        cracking: null,
+        hotarea: null,
+        coldarea: null,
+        validity: null,
+        delFlag: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        remarks: null,
+        deptId: null,
+        operator: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    handleDetailQuery() {
+      this.getDetail();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 重置按钮操作 */
+    resetDetailQuery() {
+      this.resetForm("detailQueryForm");
+      this.handleDetailQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加员工PPE检查";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getPerson(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改员工PPE检查";
+      });
+    },
+    syncPerson() {
+      this.loading = true;
+      this.loadingText = '同步中...'
+      addPerson({}).then(response => {
+        this.msgSuccess("同步成功");
+        this.open = false;
+        this.getList();
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updatePerson(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPerson(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return delPerson(ids);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有员工PPE检查数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return exportPerson(queryParams);
+      }).then(response => {
+        this.download(response.msg);
+      })
+    },
+    /** 导入按钮操作 */
+    handleImport() {
+      this.upload.title = "用户导入";
+      this.upload.open = true;
+    },
+    /** 下载模板操作 */
+    importTemplate() {
+      importTemplate().then(response => {
+        this.download(response.msg);
+      });
+    },
+    // 文件上传中处理
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+    // 文件上传成功处理
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert(response.msg, "导入结果", {dangerouslyUseHTMLString: true});
+      this.getList();
+    },
+    // 提交上传文件
+    submitFileForm() {
+      this.$refs.upload.submit();
+    }
+  }
+};
+</script>