QuYueTing 1 тиждень тому
батько
коміт
29a2846e19

+ 100 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/AbnormalItemController.java

@@ -0,0 +1,100 @@
+package com.management.platform.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.management.platform.entity.AbnormalItem;
+import com.management.platform.entity.ContractType;
+import com.management.platform.entity.Report;
+import com.management.platform.entity.User;
+import com.management.platform.mapper.ReportMapper;
+import com.management.platform.mapper.UserMapper;
+import com.management.platform.service.AbnormalItemService;
+import com.management.platform.service.ContractTypeService;
+import com.management.platform.util.HttpRespMsg;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2026-05-11
+ */
+@RestController
+@RequestMapping("/abnormal-item")
+public class AbnormalItemController {
+    @Resource
+    private AbnormalItemService abnormalItemService;
+    @Autowired
+    private UserMapper userMapper;
+    @Autowired
+    private ReportMapper reportMapper;
+
+    /**
+     * 返回公司自定义合同类型
+     */
+    @RequestMapping("/save")
+    public HttpRespMsg save (HttpServletRequest request, AbnormalItem abnormalItem){
+        HttpRespMsg msg = new HttpRespMsg();
+        String token = request.getHeader("TOKEN");
+        User user = userMapper.selectById(token);
+        abnormalItem.setCompanyId(user.getCompanyId());
+        //校验名称不能重复
+        if (abnormalItem.getId() == null) {
+            int count = abnormalItemService.count(new QueryWrapper<AbnormalItem>().eq("name", abnormalItem.getName()).eq("company_id", abnormalItem.getCompanyId()));
+            if (count > 0) {
+                msg.setError("名称重复");
+                return msg;
+            }
+        } else {
+            int count = abnormalItemService.count(new QueryWrapper<AbnormalItem>().eq("name", abnormalItem.getName()).eq("company_id", abnormalItem.getCompanyId()).ne("id", abnormalItem.getId()));
+            if (count > 0) {
+                msg.setError("名称重复");
+                return msg;
+            }
+        }
+        abnormalItemService.save(abnormalItem);
+        return new HttpRespMsg();
+    }
+
+    /**
+     * 新增、修改合同类型
+     */
+    @RequestMapping("/list")
+    public HttpRespMsg list(HttpServletRequest request){
+        String token = request.getHeader("TOKEN");
+        User user = userMapper.selectById(token);
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.data = abnormalItemService.list(new QueryWrapper<AbnormalItem>().eq("company_id", user.getCompanyId()));
+        return msg;
+    }
+
+    /**
+     * 删除合同类型
+     */
+    @RequestMapping("/delete")
+    public HttpRespMsg delete (HttpServletRequest request, Integer deleteId){
+        HttpRespMsg msg = new HttpRespMsg();
+        //校验是否已经被日报使用
+        int count = reportMapper.selectCount(new QueryWrapper<Report>().eq("company_id", userMapper.selectById(request.getHeader("token")).getCompanyId()).eq("extra_field2", deleteId));
+        if (count > 0) {
+            msg.setError("存在使用当前数据的日报,无法删除");
+            return msg;
+        }
+        boolean success = abnormalItemService.removeById(deleteId);
+        if (success) {
+            msg.data = "删除成功";
+        } else {
+            msg.setError("删除失败");
+        }
+        return msg;
+    }
+}
+

+ 54 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/AbnormalItem.java

@@ -0,0 +1,54 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2026-05-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class AbnormalItem extends Model<AbnormalItem> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("company_id")
+    private Integer companyId;
+
+    @TableField("name")
+    private String name;
+
+    /**
+     * 是否需要补上下班时间
+     */
+    @TableField("require_cardtime")
+    private Boolean requireCardtime;
+
+    /**
+     * 是否需要补考勤
+     */
+    @TableField("require_picture")
+    private Boolean requirePicture;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/AbnormalItemMapper.java

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.AbnormalItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2026-05-11
+ */
+public interface AbnormalItemMapper extends BaseMapper<AbnormalItem> {
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/AbnormalItemService.java

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.AbnormalItem;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2026-05-11
+ */
+public interface AbnormalItemService extends IService<AbnormalItem> {
+
+}

+ 20 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/AbnormalItemServiceImpl.java

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.AbnormalItem;
+import com.management.platform.mapper.AbnormalItemMapper;
+import com.management.platform.service.AbnormalItemService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2026-05-11
+ */
+@Service
+public class AbnormalItemServiceImpl extends ServiceImpl<AbnormalItemMapper, AbnormalItem> implements AbnormalItemService {
+
+}

+ 19 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/AbnormalItemMapper.xml

@@ -0,0 +1,19 @@
+<?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.management.platform.mapper.AbnormalItemMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.AbnormalItem">
+        <id column="id" property="id" />
+        <result column="company_id" property="companyId" />
+        <result column="name" property="name" />
+        <result column="require_cardtime" property="requireCardtime" />
+        <result column="require_picture" property="requirePicture" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, company_id, name, require_cardtime, require_picture
+    </sql>
+
+</mapper>