diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/AffairController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/AffairController.java
index 9a37473..578cd80 100644
--- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/AffairController.java
+++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/AffairController.java
@@ -1,7 +1,12 @@
package com.cfive.pinnacle.controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.cfive.pinnacle.entity.Affair;
+import com.cfive.pinnacle.entity.common.ResponseCode;
+import com.cfive.pinnacle.entity.common.ResponseResult;
+import com.cfive.pinnacle.service.IAffairService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
/**
*
@@ -11,8 +16,57 @@ import org.springframework.web.bind.annotation.RestController;
* @author FatttSnake
* @since 2023-04-30
*/
+@CrossOrigin
@RestController
@RequestMapping("/affair")
public class AffairController {
+ @Autowired
+ IAffairService affairService;
+
+
+
+ @PostMapping("/add")
+ public ResponseResult addAffair(@RequestBody Affair affair){
+ return ResponseResult.build(ResponseCode.DATABASE_SAVE_OK,"success",affairService.save(affair));
+ }
+
+ @GetMapping("/NotApproved")
+ public ResponseResult select_NotApproved(){
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(Affair::getStatus, 0);
+ return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success", affairService.list(wrapper));
+ }
+
+
+
+ @GetMapping("/Approved")
+ public ResponseResult select_Approved(){
+ LambdaQueryWrapper wrapper2 =new LambdaQueryWrapper<>();
+ wrapper2.ne(Affair::getStatus,0);
+ return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK,"success",affairService.list(wrapper2)) ;
+ }
+
+ @PutMapping("/yes")
+ public ResponseResult updateAffair_yes(@RequestBody Affair affair){
+ System.out.println(affair);
+ return ResponseResult.build(ResponseCode.DATABASE_UPDATE_OK,"success",affairService.updateAffair_Yes(affair));
+ //审批同意
+ }
+
+ @PutMapping("/no")
+ public ResponseResult updateAffair_No(@RequestBody Affair affair){
+ return ResponseResult.build(ResponseCode.DATABASE_UPDATE_OK,"success",affairService.updateAffair_No(affair));
+ //审批驳回
+ }
+
+
+ @DeleteMapping("/{id}")
+ public ResponseResult deleteAffair_Apprioved(@PathVariable Long id){
+ System.out.println("affair");
+ return ResponseResult.build(ResponseCode.DATABASE_DELETE_OK,"success",affairService.removeById(id));
+ //删除已审批事务
+
+ }
+
}
diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Affair.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Affair.java
index b458d6b..84da5a2 100644
--- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Affair.java
+++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Affair.java
@@ -10,6 +10,7 @@ import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
@@ -72,6 +73,7 @@ public class Affair implements Serializable {
* 创建时间
*/
@TableField("create_time")
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",timezone = "UTC")
private LocalDateTime createTime;
/**
diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/AffairMapper.java b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/AffairMapper.java
index 0bf7c76..3032203 100644
--- a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/AffairMapper.java
+++ b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/AffairMapper.java
@@ -2,7 +2,9 @@ package com.cfive.pinnacle.mapper;
import com.cfive.pinnacle.entity.Affair;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.*;
+
+import java.util.List;
/**
*
@@ -15,4 +17,31 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface AffairMapper extends BaseMapper {
+ @Insert("insert into t_affair(title,type_id,content,applicant_id,inspector_id,create_time) values(#{title},#{typeId},#{content},#{applicantId},#{inspectorId},#{createTime})")
+ int insertAffair(Affair affair);
+ //添加事务
+ //不添加事务的状态(affairsStatus),当事务进行添加时,添加的状态默认为'未审批'
+
+ @Delete("delete from t_affair where id=#{id}")
+ int deleteAffairs(Affair affair);
+ //根据id,撤回新建的事务,在新建事务时,会再进行一次确定
+ // (是否撤回,当用户撤回新建的事务时,根据新建的事务的id,删除该条事务在数据库中的信息)
+
+ @Update("update t_affair set status=1 where id=#{id}")
+ int updateAffairs_Yes(Affair affair);
+ //管理员权限--->修改事务的状态(AffairsStatus)--->达到审批的效果
+ //同意
+
+ @Update("update t_affair set Status=2 where id=#{id}" )
+ int updateAffairs_NO(Affair affair);
+ //不同意
+
+
+
+
+
+ @Select("SELECT * from t_affair where status=0 ")
+ @ResultType(Affair.class)
+ List selectAffairs_NotApproved();
+
}
diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IAffairService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IAffairService.java
index 6559324..c33e042 100644
--- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IAffairService.java
+++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IAffairService.java
@@ -13,4 +13,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IAffairService extends IService {
+ int insertAffair(Affair affair);
+ int updateAffair_Yes(Affair affair);
+ int updateAffair_No(Affair affair);
+
+
+ int deleteAffair_ApprovedByID(Affair affair);
}
diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/AffairServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/AffairServiceImpl.java
index 4740364..8d54153 100644
--- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/AffairServiceImpl.java
+++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/AffairServiceImpl.java
@@ -4,6 +4,7 @@ import com.cfive.pinnacle.entity.Affair;
import com.cfive.pinnacle.mapper.AffairMapper;
import com.cfive.pinnacle.service.IAffairService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@@ -17,4 +18,26 @@ import org.springframework.stereotype.Service;
@Service
public class AffairServiceImpl extends ServiceImpl implements IAffairService {
+ @Autowired
+ private AffairMapper affairMapper;
+
+ @Override
+ public int insertAffair(Affair affair) {
+ return affairMapper.insertAffair(affair);
+ }
+
+ public int updateAffair_Yes(Affair affair) {
+ return affairMapper.updateAffairs_Yes(affair);
+ }
+
+ public int updateAffair_No(Affair affair) {
+ return affairMapper.updateAffairs_NO(affair);
+ }
+
+ @Override
+ public int deleteAffair_ApprovedByID(Affair affair) {
+ return affairMapper.deleteAffairs(affair);
+ }
+
+
}
diff --git a/ui/src/components/ApplicantsAddAffairs.vue b/ui/src/components/ApplicantsAddAffairs.vue
new file mode 100644
index 0000000..1206e5a
--- /dev/null
+++ b/ui/src/components/ApplicantsAddAffairs.vue
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 事假
+ 病假
+ 财务报销
+ 调休
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+ 重置
+
+
+
+
+
+
+
+
diff --git a/ui/src/components/ApproverApproved.vue b/ui/src/components/ApproverApproved.vue
new file mode 100644
index 0000000..ac1844b
--- /dev/null
+++ b/ui/src/components/ApproverApproved.vue
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+ 待审批
+ 已审批
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ format(scope.row.createTime) }}
+
+
+
+
+
+ {{ format(scope.row.inspectTime) }}
+
+
+
+
+
+
+ 删除
+
+ 具体内容
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/src/components/ApproverNotApproved.vue b/ui/src/components/ApproverNotApproved.vue
new file mode 100644
index 0000000..8bb5387
--- /dev/null
+++ b/ui/src/components/ApproverNotApproved.vue
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+ 待审批
+ 已审批
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ format(scope.row.createTime) }}
+
+
+
+
+
+ 具体内容
+
+
+ 同意
+
+
+
+ 驳回
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/src/pages/affair/Affair.vue b/ui/src/pages/affair/Affair.vue
new file mode 100644
index 0000000..5345641
--- /dev/null
+++ b/ui/src/pages/affair/Affair.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/ui/src/pages/affair/AffairAdd.vue b/ui/src/pages/affair/AffairAdd.vue
new file mode 100644
index 0000000..b27fd14
--- /dev/null
+++ b/ui/src/pages/affair/AffairAdd.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/ui/src/pages/affair/AffairApproved.vue b/ui/src/pages/affair/AffairApproved.vue
new file mode 100644
index 0000000..97c94b5
--- /dev/null
+++ b/ui/src/pages/affair/AffairApproved.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/ui/src/router/index.ts b/ui/src/router/index.ts
index 798d828..f434aa1 100644
--- a/ui/src/router/index.ts
+++ b/ui/src/router/index.ts
@@ -103,6 +103,50 @@ const router = createRouter({
requiresScrollbar: false,
requiresPadding: true
}
+ },
+ {
+ path: '/affair',
+ name: 'affair',
+ redirect: 'manage',
+ children: [
+ {
+ path: 'manage',
+ name: 'affairManage',
+ component: async () => await import('@/pages/affair/Affair.vue'),
+ meta: {
+ title: '事务管理',
+ requiresScrollbar: true,
+ requiresPadding: true
+ }
+ },
+ {
+ path: 'add',
+ component: async () => await import('@/pages/affair/AffairAdd.vue'),
+ name: 'affairAdd',
+ meta: {
+ title: '事务添加',
+ requiresScrollbar: true,
+ requiresPadding: true
+ }
+ },
+ {
+ path: 'approved',
+ component: async () =>
+ await import('@/pages/affair/AffairApproved.vue'),
+ name: 'affairApproved',
+ meta: {
+ title: '已审批事务',
+ requiresScrollbar: true,
+ requiresPadding: true
+ }
+ }
+ ],
+ meta: {
+ title: '事务',
+ icon: IconPinnacleHome,
+ requiresScrollbar: false,
+ requiresPadding: true
+ }
}
]
},