yangman
2023-07-06 52dd054eabe9800ea5a4a5933c67cacd86d130ba
假期管理基础
已添加6个文件
已修改3个文件
501 ■■■■■ 文件已修改
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcVacationManagementController.java 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcVacationManagement.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcVacationManagementMappper.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcVacationManagementMapper.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcTorqueConfigService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcVacationManagementService.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcVacationManagementServiceImpl.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcVacationManagementController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,155 @@
package org.jeecg.modules.mdc.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.mdc.entity.MdcVacationManagement;
import org.jeecg.modules.mdc.service.IMdcVacationManagementService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * @Description: å‡æœŸç®¡ç†
 * @Author: ym
 * @Date: 2023-07-05
 */
@Slf4j
@RestController
@Api(tags = "假期管理")
@RequestMapping("/mdc/MdcVacationManagement")
public class MdcVacationManagementController extends JeecgController<MdcVacationManagement, IMdcVacationManagementService> {
    @Resource
    private IMdcVacationManagementService mdcVacationManagementService;
    /**
     * æ ¹æ®id查询
     *
     * @param id
     * @return
     */
    @AutoLog(value = "假期管理-根据id查询")
    @ApiOperation(value = "假期管理-根据id查询", notes = "假期管理-根据id查询")
    @GetMapping("/queryById")
    public Result<?> queryById(@RequestParam(required = true, name = "id") String id) {
        MdcVacationManagement mdcVacationManagement = mdcVacationManagementService.queryById(id);
        //查询不为空则返回数据
        return null != mdcVacationManagement ? Result.OK(mdcVacationManagement) : Result.error("未找到对应数据");
    }
    /**
     * æ–°å¢ž
     *
     * @param mdcVacationManagement
     * @return
     */
    @AutoLog(value = "假期管理-新增")
    @ApiOperation(value = "假期管理-新增", notes = "假期管理-新增")
    @PostMapping("/addVacation")
    public Result<?> addVacation(@RequestBody MdcVacationManagement mdcVacationManagement) {
        boolean flag = mdcVacationManagementService.addVacation(mdcVacationManagement);
        return flag ? Result.ok("新增成功") : Result.error("新增失败");
    }
    /**
     * ä¿®æ”¹
     *
     * @param mdcVacationManagement
     * @return
     */
    @AutoLog(value = "假期管理-修改")
    @ApiOperation(value = "假期管理-修改", notes = "假期管理-修改")
    @PutMapping("/editVacation")
    public Result<?> editVacation(@RequestBody MdcVacationManagement mdcVacationManagement) {
        boolean flag = mdcVacationManagementService.editVacation(mdcVacationManagement);
        return flag ? Result.ok("修改成功") : Result.error("修改失败");
    }
    /**
     * æ ¹æ®id删除假期管理
     *
     * @param id
     * @return
     */
    @AutoLog(value = "假期管理-根据id删除")
    @ApiOperation(value = "假期管理-根据id删除", notes = "假期管理-根据id删除")
    @DeleteMapping("/deleteVacation")
    public Result<?> deleteVacation(@RequestParam(required = true, name = "id") String id) {
        boolean flag = mdcVacationManagementService.deleteVacation(id);
        return flag ? Result.ok("删除成功") : Result.error("删除失败");
    }
    /**
     * æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "假期管理-批量删除")
    @ApiOperation(value = "假期管理-批量删除", notes = "假期管理-批量删除")
    @DeleteMapping("/deleteBatchVacation")
    public Result<?> deleteBatchVacation(@RequestParam(required = true, name = "ids") String ids) {
        boolean flag = mdcVacationManagementService.deleteBatchVacation(ids);
        return flag ? Result.ok("批量删除成功") : Result.error("批量删除失败");
    }
    /**
     * å¯¼å‡ºexcel
     *
     * @param request
     * @param mdcVacationManagement
     * @return
     */
    @RequestMapping("/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, MdcVacationManagement mdcVacationManagement) {
        return super.exportXls(request, mdcVacationManagement, MdcVacationManagement.class, "假期管理导出");
    }
    /**
     * å¯¼å…¥excel
     *
     * @param request
     * @param response
     * @return
     */
    @RequestMapping("/importExcel")
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, MdcVacationManagement.class);
    }
    /**
     * åˆ†é¡µæŸ¥è¯¢
     * @param mdcVacationManagement
     * @param pageNo
     * @param pageSize
     * @param request
     * @return
     */
    @AutoLog(value = "假期管理-分页查询")
    @ApiOperation(value = "假期管理-分页查询",notes = "假期管理-分页查询")
    @GetMapping("/pageList")
    public Result<?> pageList(MdcVacationManagement mdcVacationManagement,
                              @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                              @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                              HttpServletRequest request) {
        if (mdcVacationManagement == null) {
            return Result.error("请传递有效参数");
        }
        LoginUser user=(LoginUser) SecurityUtils.getSubject().getPrincipal();
        String userId= user.getId();
        Page page=new Page(pageNo,pageSize);
        IPage<MdcVacationManagement> mdcVacationManagementIPage= mdcVacationManagementService.pageList(userId,page,request,mdcVacationManagement);
        return Result.ok(mdcVacationManagementIPage);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcVacationManagement.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
package org.jeecg.modules.mdc.entity;
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 com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
 * @Description: å‡æœŸç®¡ç†
 * @Author: ym
 * @Date: 2023-07-04
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("mdc_vacation_management")
@ApiModel(value = "mdc_vacation_management对象",description = "假期管理")
public class MdcVacationManagement implements Serializable {
    private static final long serialVersionUID=1L;
    /**
     * ä¸»é”®
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty("主键")
    private String id;
    /**
     * è®¾å¤‡ç¼–号
     */
    @Excel(name = "设备编号",width = 15)
    @ApiModelProperty("设备编号")
    private String equipmentId;
    /**
     * è®¾å¤‡ç¼–号
     */
    @Excel(name = "设备名称",width = 15)
    @ApiModelProperty("设备名称")
    private String equipmentName;
    /**
     * æ—¥æœŸ
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "日期")
    private Date vacationDate;
    /**
     * ç±»åž‹
     */
    @Excel(name = "类型",width = 15)
    @ApiModelProperty("类型")
    private String type;
    /**
     * å¤‡æ³¨
     */
    @Excel(name = "备注",width = 15)
    @ApiModelProperty("备注")
    private String notes;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;
    /**
     * åˆ›å»ºäºº
     */
    @Excel(name = "创建人",width = 15)
    @ApiModelProperty("创建人")
    private String createBy;
    /**
     * æ›´æ–°æ—¶é—´
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Date updateTime;
    /**
     * æ›´æ–°äºº
     */
    @Excel(name = "更新人",width = 15)
    @ApiModelProperty("更新人")
    private String updateBy;
    /**
     * å‰å°ä¼ å…¥ï¼Œåˆ¤æ–­æ¯ä¸ªid
     */
    @TableField(exist = false)
    private String parentId;
    /**
     * å‰å°ä¼ å…¥ è½¦é—´å±‚级:1,部门层级:2
     */
    @TableField(exist = false)
    private String typeTree;
    /**
     * éƒ¨é—¨parentId,关联子集id
     */
    @TableField(exist = false)
    private List<String> mdcSectionIds;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcVacationManagementMappper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package org.jeecg.modules.mdc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.mdc.entity.MdcVacationManagement;
/**
 * @Description: å‡æœŸç®¡ç†
 * @Author: ym
 * @Date: 2023-07-04
 */
@Mapper
public interface MdcVacationManagementMappper extends BaseMapper<MdcVacationManagement> {
    /**
     * åˆ†é¡µæŸ¥è¯¢
     * @param pageData
     * @param vacation
     * @return
     */
    IPage<MdcVacationManagement> pageList(IPage<MdcVacationManagement> pageData, @Param("vacation") MdcVacationManagement vacation);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcVacationManagementMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
<?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="org.jeecg.modules.mdc.mapper.MdcVacationManagementMappper">
    <!--根据车间层级查询假期列表-->
    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcVacationManagement">
        select mvm.* from mdc_vacation_management mvm,mdc_equipment me where mvm.equipment_id=me.equipment_id
        <if test="vacation.equipmentName != null and vacation.equipmentName != '' ">
            and mvm.equipment_name like concat(concat('%',#{vacation.equipmentName}),'%')
        </if>
        <if test="vacation.equipmentId != null and vacation.equipmentId !='' ">
            and mvm.equipment_id like concat(concat('%',#{vacation.equipmentId}),'%')
        </if>
        <if test="vacation.mdcSectionIds != null || vacation.mdcSectionIds.size() > 0 ">
            and mvm.equipment_id in
            <foreach collection="vacation.mdcSectionIds" item="id" index="index" open="(" close=")" separator=",">
                #{id}
            </foreach>
        </if>
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcTorqueConfigService.java
@@ -27,7 +27,6 @@
    /**
     * æ·»åŠ æ‰­çŸ©é…ç½®
     *
     * @param torqueVo
     * @return
     */
@@ -35,7 +34,6 @@
    /**
     * ç¼–辑扭矩配置
     *
     * @param mdcTorqueConfig
     * @return
     */
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcVacationManagementService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package org.jeecg.modules.mdc.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.mdc.entity.MdcVacationManagement;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
 * @Description: å‡æœŸç®¡ç†
 * @Author: ym
 * @Date: 2023-07-05
 */
public interface IMdcVacationManagementService extends IService<MdcVacationManagement> {
    /**
     * æ ¹æ®id查询
     * @param id
     * @return
     */
    MdcVacationManagement queryById(String id);
    /**
     * æ–°å¢žå‡æœŸç®¡ç†
     * @param mdcVacationManagement
     * @return
     */
    Boolean addVacation(MdcVacationManagement mdcVacationManagement);
    /**
     * ç¼–辑假期管理
     * @param mdcVacationManagement
     * @return
     */
    Boolean editVacation(MdcVacationManagement mdcVacationManagement);
    /**
     * æ ¹æ®id删除
     * @param id
     * @return
     */
    Boolean deleteVacation(String id);
    /**
     * æ‰¹é‡åˆ é™¤
     * @param ids
     * @return
     */
    Boolean deleteBatchVacation(String ids);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     * @param userId
     * @param page
     * @param req
     * @param mdcVacationManagement
     * @return
     */
    IPage<MdcVacationManagement> pageList(String userId, Page page, HttpServletRequest req,MdcVacationManagement mdcVacationManagement);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java
@@ -1,13 +1,10 @@
package org.jeecg.modules.mdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.util.StringUtil;
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.entity.MdcTorqueConfig;
import org.jeecg.modules.mdc.mapper.MdcTorqueConfigMapper;
@@ -19,7 +16,6 @@
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Array;
import java.util.*;
/**
@@ -44,8 +40,6 @@
        String[] equipmentIds = torqueVo.getEquipmentIds().split(",");
        List<MdcTorqueConfig> mdcTorqueConfigList = new ArrayList<>();
        for (String equipmentId : equipmentIds) {
            Date startTime = DateUtils.getFormatDate(torqueVo.getStartTime(), DateUtils.STR_DATE_TIME_SMALL);
            Date endTime = DateUtils.getFormatDate(torqueVo.getEndTime(), DateUtils.STR_DATE_TIME_SMALL);
            MdcEquipment mdcEquipment = mdcEquipmentService.findEquipmentNameByEquipmentId(equipmentId);
            //根据Id查询此设备信息
            LambdaQueryWrapper<MdcTorqueConfig> queryWrapper = new LambdaQueryWrapper<>();
@@ -53,10 +47,11 @@
            queryWrapper.orderByAsc(MdcTorqueConfig::getStartTime);
            List<MdcTorqueConfig> mdcTorqueConfigs = this.baseMapper.selectList(queryWrapper);
            MdcTorqueConfig mdcTorqueConfig = new MdcTorqueConfig();
            mdcTorqueConfig.setStartTime(startTime);
            mdcTorqueConfig.setEndTime(endTime);
            mdcTorqueConfig.setEquipmentId(equipmentId);
            mdcTorqueConfig.setEquipmentName(mdcEquipment.getEquipmentName());
            mdcTorqueConfig.setTorqueDate(torqueVo.getTorqueDate());
            mdcTorqueConfig.setTorqueValue(torqueVo.getTorqueValue());
            mdcTorqueConfig.setNotes(torqueVo.getNotes());
            boolean b = super.save(mdcTorqueConfig);
            if (b) {
                result = true;
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcVacationManagementServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package org.jeecg.modules.mdc.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.mdc.entity.MdcVacationManagement;
import org.jeecg.modules.mdc.mapper.MdcVacationManagementMappper;
import org.jeecg.modules.mdc.service.IMdcEquipmentService;
import org.jeecg.modules.mdc.service.IMdcVacationManagementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
 * @Description: å‡æœŸç®¡ç†
 * @Author: ym
 * @Date: 2023-07-05
 */
@Service
public class MdcVacationManagementServiceImpl extends ServiceImpl<MdcVacationManagementMappper, MdcVacationManagement> implements IMdcVacationManagementService {
    @Autowired
    private IMdcEquipmentService equipmentService;
    @Override
    public MdcVacationManagement queryById(String id) {
        return this.getById(id);
    }
    @Override
    public Boolean addVacation(MdcVacationManagement mdcVacationManagement) {
        return this.save(mdcVacationManagement);
    }
    @Override
    public Boolean editVacation(MdcVacationManagement mdcVacationManagement) {
        return this.updateById(mdcVacationManagement);
    }
    @Override
    public Boolean deleteVacation(String id) {
        return this.removeById(id);
    }
    @Override
    public Boolean deleteBatchVacation(String ids) {
        return this.removeBatchByIds(Arrays.asList(ids.split(",")));
    }
    @Override
    public IPage<MdcVacationManagement> pageList(String userId, Page page, HttpServletRequest req, MdcVacationManagement mdcVacationManagement) {
        //显示双休日
        Date vacationDate=mdcVacationManagement.getVacationDate();
        String type= mdcVacationManagement.getType();
        Calendar c=Calendar.getInstance();
        c.setTime(vacationDate);
        int day=c.get(Calendar.DAY_OF_WEEK)-1;
        System.out.println(day);
        if (day==6||day==7){
            System.out.println("双休日");
            mdcVacationManagement.setType("双休日");
        }
        //查询用户所拥有的设备信息
        List<String> equipmentIds=new ArrayList<>();
        if (StringUtils.isNotEmpty(mdcVacationManagement.getParentId()) && StringUtils.isEmpty(mdcVacationManagement.getEquipmentId())){
            if ("2".equals(mdcVacationManagement.getTypeTree())){
                //部门层级
                equipmentIds=equipmentService.getEquipmentIdsByDepart(userId,mdcVacationManagement.getParentId());
            }else {
                //产线层级
                equipmentIds=equipmentService.getEquipmentIdsProduction(userId,mdcVacationManagement.getParentId());
            }
        }else if (StringUtils.isNotEmpty(mdcVacationManagement.getEquipmentId())){
            //单台设备信息
            mdcVacationManagement.setMdcSectionIds(Collections.singletonList(mdcVacationManagement.getEquipmentId()));
        }else {
            //查询用户所拥有的设备信息
            if ("2".equals(mdcVacationManagement.getTypeTree())){
                //部门层级
                equipmentIds=equipmentService.getEquipmentIdsByDepart(userId,null);
            }else {
                equipmentIds=equipmentService.getEquipmentIdsProduction(userId,null);
            }
        }
        if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()){
            mdcVacationManagement.setMdcSectionIds(equipmentIds);
        }
        if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()){
            return null;
        }
        return this.baseMapper.pageList(page,mdcVacationManagement);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcTorqueConfigVo.java
@@ -9,11 +9,6 @@
@Data
public class MdcTorqueConfigVo {
    private String id;
    private String startTime;
    /*结束时间*/
    private String endTime;
    private String equipmentId;
    /*设备名称*/
    private String equipmentName;
    /*设备组*/
@@ -22,4 +17,5 @@
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date torqueDate;
    private float torqueValue;
    private String notes;
}