From cd6a8e83f0864cb011a2719666f241e1217eb5a8 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 28 五月 2024 18:05:39 +0800
Subject: [PATCH] 日工时管理的辅助工时+产量工时

---
 performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java       |   91 ++++++
 performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryWorkingHoursDayMapper.java               |   21 +
 performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java          |   21 +
 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursServiceImpl.java       |    8 
 performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHours.java                          |    3 
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java                    |   98 ++++++
 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java |   38 ++
 performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml                        |   35 ++
 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java    |  127 +++++++++
 performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml                           |   38 ++
 performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java    |   48 +++
 performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java                    |  102 +++++++
 performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursService.java                |    3 
 system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java                                               |    2 
 performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java            |   20 +
 performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHoursDay.java                       |  122 ++++++++
 performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursDayService.java             |   34 ++
 inspect-server/pom.xml                                                                                    |    6 
 18 files changed, 809 insertions(+), 8 deletions(-)

diff --git a/inspect-server/pom.xml b/inspect-server/pom.xml
index 97a7211..a968807 100644
--- a/inspect-server/pom.xml
+++ b/inspect-server/pom.xml
@@ -58,5 +58,11 @@
             <version>0.0.1-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
+
+        <dependency>
+            <groupId>com.yuanchu.mom</groupId>
+            <artifactId>performance-server</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
     </dependencies>
 </project>
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index 2952551..41b9908 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -1,12 +1,15 @@
 package com.yuanchu.mom.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -45,8 +48,11 @@
 import java.io.*;
 import java.nio.file.Files;
 import java.nio.file.Paths;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.time.temporal.TemporalAdjusters;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -90,6 +96,9 @@
 
     @Resource
     private InsProductUserMapper insProductUserMapper;
+
+    @Resource
+    AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
 
     @Resource
     private InformationNotificationService informationNotificationService;
@@ -252,6 +261,34 @@
                 insProduct.setUpdateUser(userId);
                 insProductMapper.updateById(insProduct);
                 insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
+
+                //鏌ヨ妫�楠屽崟淇℃伅
+                InsOrder insOrder = insOrderMapper.selectById(insSampleMapper.selectById(insProduct.getInsSampleId()).getInsOrderId());
+                //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
+                Long count = auxiliaryOutputWorkingHoursMapper.selectCount(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
+                        .eq(AuxiliaryOutputWorkingHours::getCheck, userMapper.selectById(userId).getName())
+                        .eq(AuxiliaryOutputWorkingHours::getInspectProject, insProduct.getInspectionItemSubclass() + insProduct.getInspectionItem())
+                        .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode()));
+                if (count == 0) {
+                    //娣诲姞姣忎釜浜虹殑浜ч噺宸ユ椂
+                    AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
+                    auxiliaryOutputWorkingHours.setInspectProject(insProduct.getInspectionItemSubclass() + insProduct.getInspectionItem());//妫�娴嬮」鐩�
+                    auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
+                    auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
+                    auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
+                    auxiliaryOutputWorkingHours.setOutputWorkTime(insProduct.getManHour());//浜ч噺宸ユ椂
+                    auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
+                    auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now());//鏃ユ湡
+                    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                    DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+                    LocalDateTime localDateTime = LocalDateTime.now();
+                    DateTime parse = DateUtil.parse(localDateTime.format(formatter));
+                    auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
+                    auxiliaryOutputWorkingHours.setWeek(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1)));//鍛ㄦ
+                    auxiliaryOutputWorkingHours.setCheck(userMapper.selectById(userId).getName());//妫�娴嬩汉
+                    auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+                }
+
                 InsSample insSample = insSampleMapper.selectById(insProductMapper.selectById(insProduct.getId()).getInsSampleId());
                 insSample.setInsState(1);
                 Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
@@ -336,7 +373,7 @@
                             }
                         }
                     }
-                    if(b.getTemplate()==null){
+                    if (b.getTemplate() == null) {
                         continue;
                     }
                     if (b.getTemplate().size() == 0) {
@@ -383,7 +420,7 @@
                     Set<String> delRSet = new HashSet<>();
                     for (JSONObject jo1 : temp) {
                         JSONObject v = JSON.parseObject(JSON.toJSONString(jo1.get("v")));
-                        if(Integer.parseInt(jo1.get("c")+"") > 9){
+                        if (Integer.parseInt(jo1.get("c") + "") > 9) {
                             delSet.add(jo1.get("c") + "");
                             continue;
                         }
@@ -531,7 +568,7 @@
                     TableRenderData tableRenderData = new TableRenderData();
                     tableRenderData.setRows(rows);
                     TableStyle tableStyle = new TableStyle();
-                    tableStyle.setColWidths(new int[]{650,1600,2000,750,2800,1100,1100});
+                    tableStyle.setColWidths(new int[]{650, 1600, 2000, 750, 2800, 1100, 1100});
                     tableStyle.setWidth("10000");
                     tableStyle.setAlign(TableRowAlign.CENTER);
                     BorderStyle borderStyle = new BorderStyle();
@@ -600,10 +637,10 @@
             String signatureUrl;
             try {
                 signatureUrl = userMapper.selectById(userId).getSignatureUrl();
-            }catch (Exception e){
+            } catch (Exception e) {
                 throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
             }
-            if(signatureUrl == null || "".equals(signatureUrl)){
+            if (signatureUrl == null || "".equals(signatureUrl)) {
                 throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
             }
             XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render(
@@ -624,7 +661,7 @@
                         put("insTime", insOrder.getInsTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
                         put("insTimeEn", monthNames[insOrder.getInsTime().getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear());
                         put("writeUrl", null);
-                        put("insUrl", Pictures.ofLocal(imgUrl+"/"+signatureUrl).create());
+                        put("insUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create());
                         put("examineUrl", null);
                         put("ratifyUrl", null);
                         put("sampleEn", sampleEn);
@@ -768,4 +805,53 @@
     public int pxToCm(int px) {
         return px / 9;
     }
+
+    // 鑾峰彇涓や釜localDateTime鐨勬瘡涓�澶�
+    public static List<LocalDateTime> getLocalDateTimesBetween(LocalDateTime start, LocalDateTime end) {
+        List<LocalDateTime> localDateTimes = new ArrayList<>();
+        LocalDate currentDate = start.toLocalDate();
+        LocalDateTime currentLocalDateTime = start;
+        while (!currentDate.isAfter(end.toLocalDate())) {
+            localDateTimes.add(currentLocalDateTime);
+            currentLocalDateTime = currentLocalDateTime.plusDays(1);
+            currentDate = currentDate.plusDays(1);
+        }
+        return localDateTimes;
+    }
+
+    public static String getWeek(String dayStr) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        try {
+            Date date = sdf.parse(dayStr);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(date);
+            int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
+            int day = calendar.get(Calendar.DAY_OF_MONTH);
+            return day + " " + getWeekDay(dayOfWeek);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    public static String getWeekDay(int dayOfWeek) {
+        switch (dayOfWeek) {
+            case Calendar.MONDAY:
+                return "鍛ㄤ竴";
+            case Calendar.TUESDAY:
+                return "鍛ㄤ簩";
+            case Calendar.WEDNESDAY:
+                return "鍛ㄤ笁";
+            case Calendar.THURSDAY:
+                return "鍛ㄥ洓";
+            case Calendar.FRIDAY:
+                return "鍛ㄤ簲";
+            case Calendar.SATURDAY:
+                return "鍛ㄥ叚";
+            case Calendar.SUNDAY:
+                return "鍛ㄦ棩";
+            default:
+                return "鏈煡";
+        }
+    }
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java
new file mode 100644
index 0000000..d005b35
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java
@@ -0,0 +1,48 @@
+package com.yuanchu.mom.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.annotation.ValueClassify;
+import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours;
+import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay;
+import com.yuanchu.mom.service.AuxiliaryOutputWorkingHoursService;
+import com.yuanchu.mom.service.AuxiliaryWorkingHoursDayService;
+import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.vo.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏃ュ伐鏃剁鐞嗙殑浜ч噺宸ユ椂 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-05-28 03:48:48
+ */
+@Api(tags = "鏃ュ伐鏃剁鐞�-浜ч噺宸ユ椂")
+@AllArgsConstructor
+@RestController
+@RequestMapping("/auxiliaryOutputWorkingHours")
+public class AuxiliaryOutputWorkingHoursController {
+
+    @Resource
+    private AuxiliaryOutputWorkingHoursService auxiliaryOutputWorkingHoursService;
+
+    @ValueClassify("宸ユ椂绠$悊")
+    @ApiOperation(value = "鏌ヨ浜ч噺宸ユ椂")
+    @PostMapping("/selectAuxiliaryOutputWorkingHours")
+    public Result selectAuxiliaryOutputWorkingHours(@RequestBody Map<String, Object> data) throws Exception {
+        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+        AuxiliaryOutputWorkingHours entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHours.class);
+        return Result.success(auxiliaryOutputWorkingHoursService.selectAuxiliaryOutputWorkingHours(page, entity));
+    }
+
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java
new file mode 100644
index 0000000..cb015bb
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java
@@ -0,0 +1,91 @@
+package com.yuanchu.mom.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.annotation.ValueClassify;
+import com.yuanchu.mom.pojo.AuxiliaryWorkingHours;
+import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay;
+import com.yuanchu.mom.service.AuxiliaryWorkingHoursDayService;
+import com.yuanchu.mom.service.AuxiliaryWorkingHoursService;
+import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.vo.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏃ュ伐鏃剁鐞嗙殑杈呭姪宸ユ椂 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-05-28 02:22:19
+ */
+@Api(tags = "鏃ュ伐鏃剁鐞�-杈呭姪宸ユ椂")
+@AllArgsConstructor
+@RestController
+@RequestMapping("/auxiliaryWorkingHoursDay")
+public class AuxiliaryWorkingHoursDayController {
+
+    @Resource
+    private AuxiliaryWorkingHoursDayService auxiliaryWorkingHoursDayService;
+
+    @ValueClassify("宸ユ椂绠$悊")
+    @ApiOperation(value = "鏌ヨ杈呭姪宸ユ椂")
+    @PostMapping("/selectAuxiliaryWorkingHoursDay")
+    public Result selectAuxiliaryWorkingHoursDay(@RequestBody Map<String, Object> data) throws Exception {
+        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+        AuxiliaryWorkingHoursDay entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryWorkingHoursDay.class);
+        return Result.success(auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursDay(page, entity));
+    }
+
+    @ValueClassify("宸ユ椂绠$悊")
+    @ApiOperation(value = "鏍规嵁缂栧彿鏌ヨ杈呭姪宸ユ椂閰嶇疆淇℃伅")
+    @PostMapping("/selectAuxiliaryWorkingHoursByNumber")
+    public Result selectAuxiliaryWorkingHoursByNumber(String number) {
+        return Result.success(auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursByNumber(number));
+    }
+
+    @ValueClassify("宸ユ椂绠$悊")
+    @ApiOperation(value = "鏍规嵁缂栧彿褰撳墠鐢ㄦ埛淇℃伅鏌ヨ鎵�鍦ㄧ彮娆�")
+    @PostMapping("/selectshiftByUser")
+    public Result selectshiftByUser(LocalDateTime dateTime) {
+        return Result.success(auxiliaryWorkingHoursDayService.selectshiftByUser(dateTime));
+    }
+
+    @ValueClassify("宸ユ椂绠$悊")
+    @ApiOperation(value = "褰曞叆鏁版嵁(鏂板)")
+    @PostMapping("/insertAuxiliaryWorkingHoursDay")
+    public Result insertAuxiliaryWorkingHoursDay(@RequestBody AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
+        return Result.success(auxiliaryWorkingHoursDayService.insertAuxiliaryWorkingHoursDay(auxiliaryWorkingHoursDay));
+    }
+
+    @ValueClassify("宸ユ椂绠$悊")
+    @ApiOperation(value = "瀹℃牳/鎵瑰噯")
+    @PostMapping("/checkOrApprove")
+    public Result checkOrApprove(Integer id, String state) {
+        return Result.success(auxiliaryWorkingHoursDayService.checkOrApprove(id,state));
+    }
+
+    @ValueClassify("宸ユ椂绠$悊")
+    @ApiOperation(value = "缂栬緫")
+    @PostMapping("/updateAuxiliaryWorkingHoursDay")
+    public Result updateAuxiliaryWorkingHoursDay(@RequestBody AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
+        return Result.success(auxiliaryWorkingHoursDayService.updateAuxiliaryWorkingHoursDay(auxiliaryWorkingHoursDay));
+    }
+
+    @ValueClassify("宸ユ椂绠$悊")
+    @ApiOperation(value = "鍒犻櫎")
+    @PostMapping("/deleteAuxiliaryWorkingHoursDay")
+    public Result deleteAuxiliaryWorkingHoursDay(Integer id) {
+        return Result.success(auxiliaryWorkingHoursDayService.deleteAuxiliaryWorkingHoursDay(id));
+    }
+
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java
new file mode 100644
index 0000000..35f126e
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java
@@ -0,0 +1,20 @@
+package com.yuanchu.mom.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 鏃ュ伐鏃剁鐞嗙殑浜ч噺宸ユ椂 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-05-28 03:48:48
+ */
+public interface AuxiliaryOutputWorkingHoursMapper extends BaseMapper<AuxiliaryOutputWorkingHours> {
+
+    IPage<AuxiliaryOutputWorkingHours> selectAuxiliaryOutputWorkingHours(Page page, QueryWrapper<AuxiliaryOutputWorkingHours> ew);
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryWorkingHoursDayMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryWorkingHoursDayMapper.java
new file mode 100644
index 0000000..2a0cf37
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryWorkingHoursDayMapper.java
@@ -0,0 +1,21 @@
+package com.yuanchu.mom.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.pojo.AuxiliaryWorkingHours;
+import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 鏃ュ伐鏃剁鐞嗙殑杈呭姪宸ユ椂 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-05-28 02:22:19
+ */
+public interface AuxiliaryWorkingHoursDayMapper extends BaseMapper<AuxiliaryWorkingHoursDay> {
+
+    IPage<AuxiliaryWorkingHoursDay> selectAuxiliaryWorkingHoursDay(Page page, QueryWrapper<AuxiliaryWorkingHoursDay> ew);
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java
new file mode 100644
index 0000000..bfb71ba
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java
@@ -0,0 +1,102 @@
+package com.yuanchu.mom.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import com.yuanchu.mom.annotation.ValueTableShow;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 鏃ュ伐鏃剁鐞嗙殑浜ч噺宸ユ椂
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-05-28 03:48:48
+ */
+@Getter
+@Setter
+@TableName("auxiliary_output_working_hours")
+@ApiModel(value = "AuxiliaryOutputWorkingHours瀵硅薄", description = "鏃ュ伐鏃剁鐞嗙殑浜ч噺宸ユ椂")
+public class AuxiliaryOutputWorkingHours implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("妫�娴嬮」鐩�")
+    @ValueTableShow(2)
+    private String inspectProject;
+
+    @ApiModelProperty("鍔犵彮濮旀墭鍗曞彿")
+    @ValueTableShow(3)
+    private String overtimeOrderNo;
+
+    @ApiModelProperty("鍔犵彮宸ユ椂")
+    @ValueTableShow(4)
+    private Double overtimeWorkTime;
+
+    @ApiModelProperty("鍔犵彮鏁伴噺")
+    @ValueTableShow(5)
+    private Integer overtimeAmount;
+
+    @ApiModelProperty("闈炲姞鐝鎵樺崟鍙�")
+    @ValueTableShow(6)
+    private String orderNo;
+
+    @ApiModelProperty("闈炲姞鐝伐鏃�")
+    @ValueTableShow(7)
+    private Double workTime;
+
+    @ApiModelProperty("闈炲姞鐝暟閲�")
+    @ValueTableShow(8)
+    private Integer amount;
+
+    @ApiModelProperty("浜ч噺宸ユ椂")
+    @ValueTableShow(9)
+    private Double outputWorkTime;
+
+    @ApiModelProperty("鏃ユ湡")
+    @ValueTableShow(10)
+    private LocalDateTime dateTime;
+
+    @ApiModelProperty("鍛ㄦ")
+    @ValueTableShow(11)
+    private Integer week;
+
+    @ApiModelProperty("鏄熸湡")
+    @ValueTableShow(12)
+    private String weekDay;
+
+    @ApiModelProperty("妫�娴嬩汉")
+    @ValueTableShow(13)
+    private String check;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("淇敼鏃堕棿")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty("鍒涘缓浜篿d")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @ApiModelProperty("淇敼浜篿d")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @ApiModelProperty("宸ユ椂鍒嗙粍")
+    private String manHourGroup;
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHours.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHours.java
index 570c382..1e615c7 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHours.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHours.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+
 import java.io.Serializable;
 import java.time.LocalDateTime;
 
@@ -40,7 +41,7 @@
     private String auxiliaryProject;
     @ValueTableShow(5)
     @ApiModelProperty("鏍稿噯宸ユ椂")
-    private Float approvedWorkingHour;
+    private Double approvedWorkingHour;
     @ValueTableShow(7)
     @ApiModelProperty("澶囨敞")
     private String remarks;
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHoursDay.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHoursDay.java
new file mode 100644
index 0000000..4afa389
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHoursDay.java
@@ -0,0 +1,122 @@
+package com.yuanchu.mom.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import com.yuanchu.mom.annotation.ValueTableShow;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 鏃ュ伐鏃剁鐞嗙殑杈呭姪宸ユ椂
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-05-28 02:22:19
+ */
+@Getter
+@Setter
+@TableName("auxiliary_working_hours_day")
+@ApiModel(value = "AuxiliaryWorkingHoursDay瀵硅薄", description = "鏃ュ伐鏃剁鐞嗙殑杈呭姪宸ユ椂")
+public class AuxiliaryWorkingHoursDay implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("濮撳悕")
+    @ValueTableShow(2)
+    private String name;
+
+    @ApiModelProperty("缂栧彿")
+    @ValueTableShow(3)
+    private String number;
+
+    @ApiModelProperty("杈呭姪椤圭洰鍚嶇О")
+    @ValueTableShow(4)
+    private String auxiliaryProject;
+
+    @ApiModelProperty("鏍稿噯宸ユ椂")
+    @ValueTableShow(5)
+    private Double approvedWorkingHour;
+
+    @ApiModelProperty("鏁伴噺")
+    @ValueTableShow(6)
+    private Integer amount;
+
+    @ApiModelProperty("杈呭姪宸ユ椂")
+    @ValueTableShow(7)
+    private Double nonproductiveTime;
+
+    @ApiModelProperty("杈呭姪璇存槑")
+    @ValueTableShow(8)
+    private String remarks;
+
+    @ApiModelProperty("澶嶆牳浜�")
+    @ValueTableShow(9)
+    private String reviewer;
+
+    @ApiModelProperty("澶嶆牳鏁伴噺")
+    @ValueTableShow(10)
+    private Integer reviewerNumber;
+
+    @ApiModelProperty("澶嶆牳宸ユ椂")
+    @ValueTableShow(11)
+    private Double reviewerNonproductiveTime;
+
+    @ApiModelProperty("澶嶆牳璇存槑")
+    @ValueTableShow(12)
+    private String reviewerRemark;
+
+    @ApiModelProperty("骞�")
+    @ValueTableShow(13)
+    private String year;
+
+    @ApiModelProperty("鐝")
+    @ValueTableShow(14)
+    private String shift;
+
+    @ApiModelProperty("鍛ㄦ")
+    @ValueTableShow(15)
+    private Integer week;
+
+    @ApiModelProperty("鏄熸湡")
+    @ValueTableShow(16)
+    private String weekDay;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    @ValueTableShow(17)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("淇敼鏃堕棿")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty("鍒涘缓浜篿d")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @ApiModelProperty("淇敼浜篿d")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @ApiModelProperty("鐘舵��")
+    @ValueTableShow(18)
+    private String state;
+
+    @ApiModelProperty("鏃ユ湡")
+    @TableLogic
+    @ValueTableShow(19)
+    private LocalDateTime dateTime;
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java
new file mode 100644
index 0000000..fb40392
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java
@@ -0,0 +1,21 @@
+package com.yuanchu.mom.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏃ュ伐鏃剁鐞嗙殑浜ч噺宸ユ椂 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-05-28 03:48:48
+ */
+public interface AuxiliaryOutputWorkingHoursService extends IService<AuxiliaryOutputWorkingHours> {
+
+    Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours);
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursDayService.java b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursDayService.java
new file mode 100644
index 0000000..8f3c971
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursDayService.java
@@ -0,0 +1,34 @@
+package com.yuanchu.mom.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.pojo.AuxiliaryWorkingHours;
+import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.time.LocalDateTime;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏃ュ伐鏃剁鐞嗙殑杈呭姪宸ユ椂 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-05-28 02:22:19
+ */
+public interface AuxiliaryWorkingHoursDayService extends IService<AuxiliaryWorkingHoursDay> {
+
+    Map<String, Object> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay);
+
+    int insertAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay);
+
+    AuxiliaryWorkingHoursDay selectAuxiliaryWorkingHoursByNumber(String number);
+
+    int checkOrApprove(Integer id, String state);
+
+    int updateAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay);
+
+    int deleteAuxiliaryWorkingHoursDay(Integer id);
+
+    String selectshiftByUser(LocalDateTime dateTime);
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursService.java b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursService.java
index 6b0d199..412ae2a 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursService.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursService.java
@@ -16,7 +16,10 @@
  */
 public interface AuxiliaryWorkingHoursService extends IService<AuxiliaryWorkingHours> {
     Map<String, Object> selectAuxiliaryWorkingHours(Page page, AuxiliaryWorkingHours auxiliaryWorkingHours);
+
     int deleteAuxiliaryWorkingHours(Integer id);
+
     int upAuxiliaryWorkingHours(AuxiliaryWorkingHours auxiliaryWorkingHours);
+
     int insertAuxiliaryWorkingHours(AuxiliaryWorkingHours auxiliaryWorkingHours);
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
new file mode 100644
index 0000000..07f0be7
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
@@ -0,0 +1,38 @@
+package com.yuanchu.mom.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours;
+import com.yuanchu.mom.mapper.AuxiliaryOutputWorkingHoursMapper;
+import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay;
+import com.yuanchu.mom.service.AuxiliaryOutputWorkingHoursService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.utils.QueryWrappers;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏃ュ伐鏃剁鐞嗙殑浜ч噺宸ユ椂 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-05-28 03:48:48
+ */
+@Service
+public class AuxiliaryOutputWorkingHoursServiceImpl extends ServiceImpl<AuxiliaryOutputWorkingHoursMapper, AuxiliaryOutputWorkingHours> implements AuxiliaryOutputWorkingHoursService {
+
+    @Resource
+    AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
+
+    @Override
+    public Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("head", PrintChina.printChina(AuxiliaryOutputWorkingHours.class));
+        map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHours)));
+        return map;
+    }
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
new file mode 100644
index 0000000..4255b7c
--- /dev/null
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
@@ -0,0 +1,127 @@
+package com.yuanchu.mom.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.common.GetLook;
+import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.exception.ErrorException;
+import com.yuanchu.mom.mapper.AuxiliaryWorkingHoursMapper;
+import com.yuanchu.mom.mapper.PerformanceShiftMapper;
+import com.yuanchu.mom.mapper.UserMapper;
+import com.yuanchu.mom.pojo.AuxiliaryWorkingHours;
+import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay;
+import com.yuanchu.mom.mapper.AuxiliaryWorkingHoursDayMapper;
+import com.yuanchu.mom.pojo.PerformanceShift;
+import com.yuanchu.mom.pojo.User;
+import com.yuanchu.mom.service.AuxiliaryWorkingHoursDayService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.utils.MyUtil;
+import com.yuanchu.mom.utils.QueryWrappers;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏃ュ伐鏃剁鐞嗙殑杈呭姪宸ユ椂 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-05-28 02:22:19
+ */
+@Service
+public class AuxiliaryWorkingHoursDayServiceImpl extends ServiceImpl<AuxiliaryWorkingHoursDayMapper, AuxiliaryWorkingHoursDay> implements AuxiliaryWorkingHoursDayService {
+
+    @Resource
+    AuxiliaryWorkingHoursDayMapper auxiliaryWorkingHoursDayMapper;
+
+    @Resource
+    AuxiliaryWorkingHoursMapper auxiliaryWorkingHoursMapper;
+
+    @Resource
+    GetLook getLook;
+
+    @Resource
+    UserMapper userMapper;
+
+    @Resource
+    PerformanceShiftMapper performanceShiftMapper;
+
+    @Override
+    public Map<String, Object> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("head", PrintChina.printChina(AuxiliaryWorkingHoursDay.class));
+        map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDay)));
+        return map;
+    }
+
+    //鏍规嵁缂栧彿鏌ヨ杈呭姪宸ユ椂閰嶇疆淇℃伅
+    @Override
+    public AuxiliaryWorkingHoursDay selectAuxiliaryWorkingHoursByNumber(String number) {
+        //鏍规嵁濉啓鐨勭紪鍙锋煡璇㈣緟鍔╁伐鏃堕厤缃�
+        AuxiliaryWorkingHours auxiliaryWorkingHours = auxiliaryWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryWorkingHours>lambdaQuery().eq(AuxiliaryWorkingHours::getNumber, number));
+        if (ObjectUtils.isEmpty(auxiliaryWorkingHours)) {
+            throw new RuntimeException("璇ョ紪鍙锋病鏈夊搴旂殑杈呭姪宸ユ椂閰嶇疆");
+        }
+        AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay = new AuxiliaryWorkingHoursDay();
+        BeanUtils.copyProperties(auxiliaryWorkingHours, auxiliaryWorkingHoursDay);
+        return auxiliaryWorkingHoursDay;
+    }
+
+    //褰曞叆鏁版嵁(鏂板)
+    @Override
+    public int insertAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
+        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+        User user = userMapper.selectById(userId);
+        auxiliaryWorkingHoursDay.setName(user.getName());//濮撳悕
+        auxiliaryWorkingHoursDay.setState("宸叉彁浜�");
+        return auxiliaryWorkingHoursDayMapper.insert(auxiliaryWorkingHoursDay);
+    }
+
+    //瀹℃牳/鎵瑰噯
+    @Override
+    public int checkOrApprove(Integer id, String state) {
+        AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay = auxiliaryWorkingHoursDayMapper.selectById(id);
+        if (auxiliaryWorkingHoursDay.getState().equals("宸叉壒鍑�") && state.equals("宸插鏍�")) {
+            throw new RuntimeException("璇ユ暟鎹凡缁忔壒鍑嗘棤闇�瀹℃牳!");
+        }
+        auxiliaryWorkingHoursDay.setState(state);
+        return auxiliaryWorkingHoursDayMapper.updateById(auxiliaryWorkingHoursDay);
+    }
+
+    //缂栬緫
+    @Override
+    public int updateAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
+        if (!auxiliaryWorkingHoursDay.getState().equals("宸叉彁浜�")) {
+            throw new RuntimeException("璇ユ暟鎹凡缁忔壒鍑嗘垨宸插鏍�,鏃犳硶杩涜缂栬緫!");
+        }
+        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+        User user = userMapper.selectById(userId);
+        auxiliaryWorkingHoursDay.setName(user.getName());//濮撳悕
+        return auxiliaryWorkingHoursDayMapper.updateById(auxiliaryWorkingHoursDay);
+    }
+
+    //鍒犻櫎
+    @Override
+    public int deleteAuxiliaryWorkingHoursDay(Integer id) {
+        return auxiliaryWorkingHoursDayMapper.deleteById(id);
+    }
+
+    //鏍规嵁缂栧彿褰撳墠鐢ㄦ埛淇℃伅鏌ヨ鎵�鍦ㄧ彮娆�
+    @Override
+    public String selectshiftByUser(LocalDateTime dateTime) {
+        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+        PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery().eq(PerformanceShift::getUserId, userId).eq(PerformanceShift::getWorkTime, dateTime));
+        if (ObjectUtils.isEmpty(performanceShift)){
+            throw new RuntimeException("娌℃湁鏌ュ埌褰撳墠鐢ㄦ埛閫夋嫨鏃ユ湡鐨勫綋鐝彮娆′俊鎭�!!");
+        }
+        return performanceShift.getShift();
+    }
+
+
+}
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursServiceImpl.java
index 8049fab..09f85de 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.pojo.AuxiliaryWorkingHours;
 import com.yuanchu.mom.mapper.AuxiliaryWorkingHoursMapper;
 import com.yuanchu.mom.service.AuxiliaryWorkingHoursService;
@@ -11,7 +12,9 @@
 
 import javax.annotation.Resource;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -46,6 +49,11 @@
 
     @Override
     public int insertAuxiliaryWorkingHours(AuxiliaryWorkingHours auxiliaryWorkingHours) {
+        //缂栧彿涓嶈兘閲嶅
+        List<String> strings = auxiliaryWorkingHoursMapper.selectList(null).stream().map(AuxiliaryWorkingHours::getNumber).distinct().collect(Collectors.toList());
+        if (strings.contains(auxiliaryWorkingHours.getNumber())){
+            throw new RuntimeException("缂栧彿涓嶈兘閲嶅!");
+        }
         return auxiliaryWorkingHoursMapper.insert(auxiliaryWorkingHours);
     }
 }
diff --git a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
new file mode 100644
index 0000000..7c882fc
--- /dev/null
+++ b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
@@ -0,0 +1,35 @@
+<?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.yuanchu.mom.mapper.AuxiliaryOutputWorkingHoursMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours">
+        <id column="id" property="id" />
+        <result column="inspect_project" property="inspectProject" />
+        <result column="overtime_order_no" property="overtimeOrderNo" />
+        <result column="overtime_work_time" property="overtimeWorkTime" />
+        <result column="overtime_amount" property="overtimeAmount" />
+        <result column="order_no" property="orderNo" />
+        <result column="work_time" property="workTime" />
+        <result column="amount" property="amount" />
+        <result column="output_work_time" property="outputWorkTime" />
+        <result column="date_time" property="dateTime" />
+        <result column="week" property="week" />
+        <result column="week_day" property="weekDay" />
+        <result column="check" property="check" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="create_user" property="createUser" />
+        <result column="update_user" property="updateUser" />
+    </resultMap>
+    <select id="selectAuxiliaryOutputWorkingHours" resultType="com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours">
+        select data.*
+        from (
+        select *
+        FROM auxiliary_output_working_hours
+        ) data
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
+        </if>
+    </select>
+</mapper>
diff --git a/performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml
new file mode 100644
index 0000000..0fedc4f
--- /dev/null
+++ b/performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml
@@ -0,0 +1,38 @@
+<?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.yuanchu.mom.mapper.AuxiliaryWorkingHoursDayMapper">
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay">
+        <id column="id" property="id"/>
+        <result column="name" property="name"/>
+        <result column="number" property="number"/>
+        <result column="auxiliary_project" property="auxiliaryProject"/>
+        <result column="approved_working_hour" property="approvedWorkingHour"/>
+        <result column="amount" property="amount"/>
+        <result column="nonproductive_time" property="nonproductiveTime"/>
+        <result column="remarks" property="remarks"/>
+        <result column="reviewer" property="reviewer"/>
+        <result column="reviewer_number" property="reviewerNumber"/>
+        <result column="reviewer_nonproductive_time" property="reviewerNonproductiveTime"/>
+        <result column="reviewer_remark" property="reviewerRemark"/>
+        <result column="year" property="year"/>
+        <result column="shift" property="shift"/>
+        <result column="week" property="week"/>
+        <result column="week_day" property="weekDay"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="create_user" property="createUser"/>
+        <result column="update_user" property="updateUser"/>
+        <result column="state" property="state"/>
+    </resultMap>
+    <select id="selectAuxiliaryWorkingHoursDay" resultType="com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay">
+        select data.*
+        from (
+        select *
+        FROM auxiliary_working_hours_day
+        ) data
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
+        </if>
+    </select>
+</mapper>
diff --git a/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java b/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java
index 946f44b..d6c63d8 100644
--- a/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java
+++ b/system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java
@@ -16,7 +16,7 @@
 // 婕旂ず渚嬪瓙锛屾墽琛� main 鏂规硶鎺у埗鍙拌緭鍏ユā鍧楄〃鍚嶅洖杞﹁嚜鍔ㄧ敓鎴愬搴旈」鐩洰褰曚腑
 public class CodeGenerator {
 
-    public static String database_url = "jdbc:mysql://114.132.189.42:9004/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8";
+    public static String database_url = "jdbc:mysql://localhost:3306/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8";
     public static String database_username = "root";
     public static String database_password= "123456";
     public static String author = "姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃";

--
Gitblit v1.9.3