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 @@ + + + + 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 @@ + + + + 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 + } } ] },