value
2024-05-29 7b6bf8d2f016f0d71f3b4035b1fff163101ad42c
Merge remote-tracking branch 'origin/master'
已修改6个文件
已添加12个文件
817 ■■■■■ 文件已修改
inspect-server/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryWorkingHoursDayMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHours.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHoursDay.java 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursDayService.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/src/main/java/com/yuanchu/mom/CodeGenerator.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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å¹´MM月dd日")));
                        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 "未知";
        }
    }
}
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));
    }
}
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));
    }
}
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);
}
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);
}
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("创建人id")
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    @ApiModelProperty("修改人id")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    @ApiModelProperty("工时分组")
    private String manHourGroup;
}
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;
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("创建人id")
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    @ApiModelProperty("修改人id")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    @ApiModelProperty("状态")
    @ValueTableShow(18)
    private String state;
    @ApiModelProperty("日期")
    @TableLogic
    @ValueTableShow(19)
    private LocalDateTime dateTime;
}
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);
}
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);
}
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);
}
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;
    }
}
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();
    }
}
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);
    }
}
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>
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>
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 = "江苏鵷雏网络科技有限公司";