From 2154a6777af36576b2da5e969fb5116ce7ccda3e Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 19 一月 2026 14:21:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java | 4
src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java | 2
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 12
src/main/java/com/ruoyi/staff/mapper/StaffLeaveMapper.java | 11 +
src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java | 63 +++++-
src/main/java/com/ruoyi/staff/pojo/StaffLeave.java | 6
src/main/java/com/ruoyi/collaborativeApproval/service/MeetingService.java | 3
src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java | 4
src/main/java/com/ruoyi/staff/dto/StaffLeaveDto.java | 92 ++++++++++
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java | 1
src/main/java/com/ruoyi/staff/controller/StaffLeaveController.java | 78 ++++++++
/dev/null | 28 ---
src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java | 91 ++++++++++
src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java | 10 -
src/main/java/com/ruoyi/common/enums/StaffLeaveReason.java | 28 +++
src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java | 2
src/main/resources/mapper/staff/StaffLeaveMapper.xml | 58 ++++++
src/main/java/com/ruoyi/collaborativeApproval/controller/MeetingController.java | 3
src/main/java/com/ruoyi/staff/service/StaffLeaveService.java | 27 +++
19 files changed, 455 insertions(+), 68 deletions(-)
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/controller/MeetingController.java b/src/main/java/com/ruoyi/collaborativeApproval/controller/MeetingController.java
index 6c53634..956c8bc 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/controller/MeetingController.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/controller/MeetingController.java
@@ -83,8 +83,7 @@
@PostMapping("/saveMeetingApplication")
public R saveMeetApplication(@RequestBody MeetApplication meetApplication) {
- meetingService.saveMeetApplication(meetApplication);
- return R.ok();
+ return meetingService.saveMeetApplication(meetApplication);
}
@PostMapping("/applicationList")
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/MeetingService.java b/src/main/java/com/ruoyi/collaborativeApproval/service/MeetingService.java
index 7b3c906..d3b0d89 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/service/MeetingService.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/MeetingService.java
@@ -14,6 +14,7 @@
import com.ruoyi.collaborativeApproval.vo.SearchMeetingDraftVo;
import com.ruoyi.collaborativeApproval.vo.SearchMeetingRoomVo;
import com.ruoyi.collaborativeApproval.vo.SearchMeetingUseVo;
+import com.ruoyi.framework.web.domain.R;
import java.util.List;
@@ -42,7 +43,7 @@
// ************鐢宠浼氳************
- void saveMeetApplication(MeetApplication meetApplication);
+ R<Void> saveMeetApplication(MeetApplication meetApplication);
// ************鐢宠瀹℃壒************
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java
index b57a4f1..bef5926 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/MeetingServiceImpl.java
@@ -26,6 +26,7 @@
import com.ruoyi.collaborativeApproval.vo.SearchMeetingRoomVo;
import com.ruoyi.collaborativeApproval.vo.SearchMeetingUseVo;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.framework.web.domain.R;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.project.system.service.ISysNoticeService;
@@ -125,42 +126,72 @@
}
@Override
- public void saveMeetApplication(MeetApplication meetApplication) {
+ public R<Void> saveMeetApplication(MeetApplication meetApplication) {
meetApplication.setApplicant(SecurityUtils.getUsername());
+
+ // 鏃堕棿鍐茬獊鏍¢獙
+ LambdaQueryWrapper<MeetApplication> meetApplicationLambdaQueryWrapper = Wrappers.<MeetApplication>lambdaQuery()
+ .eq(MeetApplication::getRoomId, meetApplication.getRoomId())
+ // 濡傛灉id涓嶄负null鍒欐帓闄よ嚜宸�
+ .ne(meetApplication.getId() != null, MeetApplication::getId, meetApplication.getId())
+ // 鏃堕棿鍐茬獊鍒ゆ柇
+ .lt(MeetApplication::getStartTime, meetApplication.getEndTime())
+ .gt(MeetApplication::getEndTime, meetApplication.getStartTime());
+
+ Long count = meetApplicationMapper.selectCount(meetApplicationLambdaQueryWrapper);
+ if (count > 0) {
+ return R.fail("鎵�閫変細璁鍦ㄨ鏃堕棿娈靛凡鏈夊叾浠栦細璁紝璇疯皟鏁存椂闂存垨鏇存崲浼氳瀹�");
+ }
+
if (meetApplication.getId() != null) {
+ // 鏇存柊
meetApplicationMapper.updateById(meetApplication);
} else {
+ // 鏂板
meetApplicationMapper.insert(meetApplication);
}
- if (ObjectUtils.isNotNull(meetApplication.getPublishStatus()) && meetApplication.getPublishStatus() == 1){
+
+ /*浼氳鍙戝竷鐨勬秷鎭�氱煡*/
+ //鍙備細浜哄憳id(浜哄憳鍙拌处鍜岀敤鎴疯〃閫氳繃浜哄憳缂栧彿鍜岀敤鎴峰悕绉�(鐧诲綍璐﹀彿)鍋氬尮閰�)
+ if (Integer.valueOf(1).equals(meetApplication.getPublishStatus())) {
MeetApplication application = meetApplicationMapper.selectById(meetApplication.getId());
- /*浼氳鍙戝竷鐨勬秷鎭�氱煡*/
- //鍙備細浜哄憳id(浜哄憳鍙拌处鍜岀敤鎴疯〃閫氳繃浜哄憳缂栧彿鍜岀敤鎴峰悕绉�(鐧诲綍璐﹀彿)鍋氬尮閰�)
- String cleanStr = application.getParticipants().trim()
+
+ String cleanStr = application.getParticipants()
.replaceAll("^\\[|\\]$", "")
.trim();
- List<Long> ids = Arrays.stream(cleanStr.split(","))
+
+ List<Long> userIds = Arrays.stream(cleanStr.split(","))
.map(String::trim)
.filter(s -> !s.isEmpty())
- .map(s -> {
- StaffJoinLeaveRecord staffJoinLeaveRecord = staffJoinLeaveRecordMapper.selectById(Long.valueOf(s));
- List<SysUser> users = userMapper.selectList(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUserName,staffJoinLeaveRecord.getStaffNo()));
- if (users.size() > 0){
- return users.get(0).getUserId();
- }else return null;
+ .map(Long::valueOf)
+ .map(staffId -> {
+ StaffJoinLeaveRecord record = staffJoinLeaveRecordMapper.selectById(staffId);
+ if (record == null) {
+ return null;
+ }
+ return userMapper.selectOne(
+ Wrappers.<SysUser>lambdaQuery()
+ .eq(SysUser::getUserName, record.getStaffNo())
+ );
})
.filter(Objects::nonNull)
+ .map(SysUser::getUserId)
.collect(Collectors.toList());
- if (ids.size() > 0) {
- sysNoticeService.simpleNoticeByUser("浼氳閫氱煡",
+
+ if (!userIds.isEmpty()) {
+ sysNoticeService.simpleNoticeByUser(
+ "浼氳閫氱煡",
"浼氳涓婚锛�" + application.getTitle() + "\n" +
"浼氳鏃堕棿锛�" + application.getStartTime() + "-" + application.getEndTime() + "\n" +
"鍙戣捣浜猴細" + application.getApplicant(),
- ids,
+ userIds,
application.getTenantId(),
- "");
+ ""
+ );
}
}
+
+ return R.ok();
}
@Override
diff --git a/src/main/java/com/ruoyi/common/enums/StaffJoinLeaveRecordDimissionReason.java b/src/main/java/com/ruoyi/common/enums/StaffJoinLeaveRecordDimissionReason.java
deleted file mode 100644
index c59e56c..0000000
--- a/src/main/java/com/ruoyi/common/enums/StaffJoinLeaveRecordDimissionReason.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.ruoyi.common.enums;
-
-import lombok.AllArgsConstructor;
-
-/**
- * 闄勪欢璁板綍绫诲瀷鏋氫妇
- *
- */
-@AllArgsConstructor
-public enum StaffJoinLeaveRecordDimissionReason {
- StaffJoinLeaveRecordDimissionReasonSalary("salary","钖祫寰呴亣"),
- StaffJoinLeaveRecordDimissionReasonCareerDevelopment("career_development","鑱屼笟鍙戝睍"),
- StaffJoinLeaveRecordDimissionReasonWorkEnvironment("work_environment","宸ヤ綔鐜"),
- StaffJoinLeaveRecordDimissionReasonPersonalReason("personal_reason","涓汉鍘熷洜"),
- StaffJoinLeaveRecordDimissionReasonOther("other","鍏朵粬鍘熷洜");
-
-
- private final String code;
- private final String info;
-
- public String getCode() {
- return code;
- }
-
- public String getInfo() {
- return info;
- }
-}
diff --git a/src/main/java/com/ruoyi/common/enums/StaffLeaveReason.java b/src/main/java/com/ruoyi/common/enums/StaffLeaveReason.java
new file mode 100644
index 0000000..44d3098
--- /dev/null
+++ b/src/main/java/com/ruoyi/common/enums/StaffLeaveReason.java
@@ -0,0 +1,28 @@
+package com.ruoyi.common.enums;
+
+import lombok.AllArgsConstructor;
+
+/**
+ * 闄勪欢璁板綍绫诲瀷鏋氫妇
+ *
+ */
+@AllArgsConstructor
+public enum StaffLeaveReason {
+ StaffLeaveReasonSalary("salary","钖祫寰呴亣"),
+ StaffLeaveReasonCareerDevelopment("career_development","鑱屼笟鍙戝睍"),
+ StaffLeaveReasonWorkEnvironment("work_environment","宸ヤ綔鐜"),
+ StaffLeaveReasonPersonalReason("personal_reason","涓汉鍘熷洜"),
+ StaffLeaveReasonOther("other","鍏朵粬鍘熷洜");
+
+
+ private final String code;
+ private final String info;
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getInfo() {
+ return info;
+ }
+}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
index 075815c..93119de 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -65,6 +65,7 @@
productProcessRouteItem.setProcessId(processRouteItem.getProcessId());
productProcessRouteItem.setProductOrderId(productOrder.getId());
productProcessRouteItem.setProductRouteId(productProcessRoute.getId());
+ productProcessRouteItem.setDragSort(processRouteItem.getDragSort());
int insert = productProcessRouteItemMapper.insert(productProcessRouteItem);
if (insert > 0) {
// 鏌ヨ浠婃棩宸插瓨鍦ㄧ殑鏈�澶у伐鍗曞彿
@@ -90,7 +91,8 @@
ProductWorkOrder productWorkOrder = new ProductWorkOrder();
productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
productWorkOrder.setProductOrderId(productOrder.getId());
- productWorkOrder.setPlanQuantity(productOrder.getQuantity());
+ ProductOrder order = productOrderMapper.selectById(productOrder);
+ productWorkOrder.setPlanQuantity(order.getQuantity());
productWorkOrder.setWorkOrderNo(workOrderNoStr);
productWorkOrder.setStatus(1);
productWorkOrderMapper.insert(productWorkOrder);
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index cac741c..58e9359 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -198,10 +198,12 @@
handleSalesLedgerProducts(purchaseLedger.getId(), productList, purchaseLedgerDto.getType());
}
//鏂板鍘熸潗鏂欐楠�
- for (SalesLedgerProduct saleProduct : productList) {
- //鏄惁鎺ㄩ�佽川妫�锛屽鏋渢rue灏辨坊鍔�
- if (saleProduct.getIsChecked()) {
- addQualityInspect(purchaseLedger, saleProduct);
+ if (productList != null) {
+ for (SalesLedgerProduct saleProduct : productList) {
+ //鏄惁鎺ㄩ�佽川妫�锛屽鏋渢rue灏辨坊鍔�
+ if (saleProduct.getIsChecked()) {
+ addQualityInspect(purchaseLedger, saleProduct);
+ }
}
}
// 5. 杩佺Щ涓存椂鏂囦欢鍒版寮忕洰褰�
@@ -217,7 +219,7 @@
qualityInspect.setInspectType(0);
qualityInspect.setSupplier(purchaseLedger.getSupplierName());
qualityInspect.setPurchaseLedgerId(purchaseLedger.getId());
- qualityInspect.setProductId(saleProduct.getId());
+ qualityInspect.setProductId(saleProduct.getProductId());
qualityInspect.setProductName(saleProduct.getProductCategory());
qualityInspect.setModel(saleProduct.getSpecificationModel());
qualityInspect.setProductModelId(saleProduct.getProductModelId());
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
index 22001e6..17ecdc6 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
@@ -88,7 +88,7 @@
BigDecimal stockQuantity = stockUtils.getStockQuantity(item.getProductModelId()).get("stockQuantity");
if(stockQuantity != null) {
// ProcurementPageDtoCopy procurementDtoCopy = result.getRecords().get(0);
- if (item.getQuantity().compareTo(stockQuantity) >= 0 && item.getApproveStatus() == 0) {
+ if (item.getQuantity().compareTo(stockQuantity) <= 0 && item.getApproveStatus() == 0) {
item.setApproveStatus(1);
salesLedgerProductService.addOrUpdateSalesLedgerProduct(item);
}
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index e805784..acab688 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -291,6 +291,7 @@
productProcessRouteItem.setProcessId(processRouteItem.getProcessId());
productProcessRouteItem.setProductOrderId(productOrder.getId());
productProcessRouteItem.setProductRouteId(productProcessRoute.getId());
+ productProcessRouteItem.setDragSort(processRouteItem.getDragSort());
int insert = productProcessRouteItemMapper.insert(productProcessRouteItem);
if (insert > 0) {
// 鏌ヨ浠婃棩宸插瓨鍦ㄧ殑鏈�澶у伐鍗曞彿
diff --git a/src/main/java/com/ruoyi/staff/controller/StaffLeaveController.java b/src/main/java/com/ruoyi/staff/controller/StaffLeaveController.java
new file mode 100644
index 0000000..f4a0830
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/controller/StaffLeaveController.java
@@ -0,0 +1,78 @@
+package com.ruoyi.staff.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.staff.dto.StaffLeaveDto;
+import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
+import com.ruoyi.staff.service.StaffLeaveService;
+import io.swagger.annotations.Api;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 鍛樺伐绂昏亴
+ */
+@RestController
+@RequestMapping("/staff/staffLeave")
+@Api(tags = "鍛樺伐绂昏亴")
+public class StaffLeaveController {
+ @Resource
+ private StaffLeaveService staffLeaveService;
+ /**
+ * 鏂板绂昏亴鍒嗛〉鏌ヨ
+ * @param page
+ * @param staffLeaveDto
+ * @return
+ */
+ @GetMapping("/listPage")
+ public AjaxResult staffLeaveListPage(Page page, StaffLeaveDto staffLeaveDto) {
+ return AjaxResult.success(staffLeaveService.staffLeaveListPage(page, staffLeaveDto));
+ }
+
+ /**
+ * 鏂板绂昏亴
+ * @param staffLeaveDto
+ * @return
+ */
+ @PostMapping("")
+ public AjaxResult add(@RequestBody StaffLeaveDto staffLeaveDto) {
+ return AjaxResult.success(staffLeaveService.add(staffLeaveDto));
+ }
+
+ /**
+ * 鏇存柊绂昏亴淇℃伅
+ * @param id
+ * @param staffLeaveDto
+ * @return
+ */
+ @PutMapping("/{id}")
+ public AjaxResult update(@PathVariable("id") Long id, @RequestBody StaffLeaveDto staffLeaveDto) {
+ return AjaxResult.success(staffLeaveService.update(id, staffLeaveDto));
+ }
+
+ /**
+ * 鍒犻櫎鍏ヨ亴
+ * @param ids
+ * @return
+ */
+ @DeleteMapping("/del")
+ public AjaxResult del(@RequestBody List<Integer> ids) {
+ if(CollectionUtils.isEmpty(ids)){
+ return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+ }
+ return AjaxResult.success(staffLeaveService.del(ids));
+ }
+
+ /**
+ * 绂昏亴瀵煎嚭
+ * @param staffLeaveDto
+ */
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, StaffLeaveDto staffLeaveDto) {
+ staffLeaveService.export(response, staffLeaveDto);
+ }
+}
diff --git a/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java b/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
index 55a93b2..f996ad1 100644
--- a/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
+++ b/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
@@ -25,7 +25,7 @@
*/
@RestController
@RequestMapping("/staff/staffOnJob")
-@Api(tags = "鍛樺伐鍙拌处/鍚堝悓绠$悊")
+@Api(tags = "鍛樺伐鍙拌处")
public class StaffOnJobController {
@Resource
@@ -91,7 +91,7 @@
* @return
*/
@GetMapping("/{id}")
- public AjaxResult staffJoinLeaveRecordDetail(@PathVariable("id") Long id) {
+ public AjaxResult staffOnJobDetail(@PathVariable("id") Long id) {
return AjaxResult.success(staffOnJobService.staffOnJobDetail(id));
}
diff --git a/src/main/java/com/ruoyi/staff/dto/StaffLeaveDto.java b/src/main/java/com/ruoyi/staff/dto/StaffLeaveDto.java
new file mode 100644
index 0000000..d615c7f
--- /dev/null
+++ b/src/main/java/com/ruoyi/staff/dto/StaffLeaveDto.java
@@ -0,0 +1,92 @@
+package com.ruoyi.staff.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.staff.pojo.StaffLeave;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class StaffLeaveDto extends StaffLeave {
+ @Excel(name = "鐘舵��", readConverterExp = "0=绂昏亴,1=鍦ㄨ亴", sort = 1)
+ private Integer staffState;
+
+ /**
+ * 鍛樺伐缂栧彿
+ */
+ @Excel(name = "鍛樺伐缂栧彿", type = Excel.Type.EXPORT, cellType = Excel.ColumnType.STRING, sort = 2)
+ private String staffNo;
+
+ /**
+ * 鍛樺伐濮撳悕
+ */
+ @Excel(name = "鍛樺伐濮撳悕", sort = 3)
+ private String staffName;
+
+ /**
+ * 鎬у埆
+ */
+ @Excel(name = "鎬у埆", sort = 4)
+ private String sex;
+
+ /**
+ * 绫嶈疮
+ */
+ @Excel(name = "绫嶈疮", sort = 5)
+ private String nativePlace;
+
+ /**
+ * 瀹跺涵浣忓潃
+ */
+ @Excel(name = "瀹跺涵浣忓潃", sort = 6)
+ private String adress;
+
+ /**
+ * 宀椾綅
+ */
+ @Excel(name = "宀椾綅",sort = 7)
+ private String postName;
+
+ /**
+ * 绗竴瀛﹀巻
+ */
+ @Excel(name = "绗竴瀛﹀巻", sort = 8)
+ private String firstStudy;
+
+ /**
+ * 涓撲笟
+ */
+ @Excel(name = "涓撲笟", sort = 9)
+ private String profession;
+
+ /**
+ * 韬唤璇佸彿鐮�
+ */
+ @Excel(name = "韬唤璇佸彿鐮�", sort = 10)
+ private String identityCard;
+
+ /**
+ * 骞撮緞
+ */
+ @Excel(name = "骞撮緞", sort = 11)
+ private String age;
+
+ /**
+ * 鑱旂郴鐢佃瘽
+ */
+ @Excel(name = "鑱旂郴鐢佃瘽", sort = 12)
+ private String phone;
+
+ /**
+ * 绱ф�ヨ仈绯讳汉
+ */
+ @Excel(name = "绱ф�ヨ仈绯讳汉", sort = 13)
+ private String emergencyContact;
+
+ /**
+ * 绱ф�ヨ仈绯讳汉鐢佃瘽
+ */
+ @Excel(name = "绱ф�ヨ仈绯讳汉鐢佃瘽", sort = 14)
+ private String emergencyContactPhone;
+}
diff --git a/src/main/java/com/ruoyi/staff/mapper/StaffLeaveMapper.java b/src/main/java/com/ruoyi/staff/mapper/StaffLeaveMapper.java
index d8fce17..e8d2854 100644
--- a/src/main/java/com/ruoyi/staff/mapper/StaffLeaveMapper.java
+++ b/src/main/java/com/ruoyi/staff/mapper/StaffLeaveMapper.java
@@ -1,10 +1,21 @@
package com.ruoyi.staff.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.staff.dto.StaffLeaveDto;
+import com.ruoyi.staff.dto.StaffOnJobDto;
import com.ruoyi.staff.pojo.StaffLeave;
+import com.ruoyi.staff.pojo.StaffOnJob;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
@Mapper
public interface StaffLeaveMapper extends BaseMapper<StaffLeave> {
+ IPage<StaffLeaveDto> staffLeaveListPage(Page page, @Param("c") StaffLeaveDto staffLeaveDto);
+
+ List<StaffLeaveDto> staffLeaveList(@Param("c") StaffLeaveDto staffLeaveDto);
}
diff --git a/src/main/java/com/ruoyi/staff/pojo/StaffLeave.java b/src/main/java/com/ruoyi/staff/pojo/StaffLeave.java
index 9965c6d..3f5532c 100644
--- a/src/main/java/com/ruoyi/staff/pojo/StaffLeave.java
+++ b/src/main/java/com/ruoyi/staff/pojo/StaffLeave.java
@@ -21,6 +21,12 @@
@ApiModelProperty(value = "鍦ㄨ亴鍛樺伐ID")
private Long staffOnJobId;
+ @ApiModelProperty(value = "绂昏亴鍘熷洜")
+ private String reason;
+
+ @ApiModelProperty(value = "绂昏亴澶囨敞")
+ private String remark;
+
@ApiModelProperty(value = "绉熸埛ID")
@TableField(fill = FieldFill.INSERT)
private Long tenantId;
diff --git a/src/main/java/com/ruoyi/staff/service/StaffLeaveService.java b/src/main/java/com/ruoyi/staff/service/StaffLeaveService.java
index 67aede2..be27fdc 100644
--- a/src/main/java/com/ruoyi/staff/service/StaffLeaveService.java
+++ b/src/main/java/com/ruoyi/staff/service/StaffLeaveService.java
@@ -1,7 +1,34 @@
package com.ruoyi.staff.service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.staff.dto.StaffLeaveDto;
+import com.ruoyi.staff.dto.StaffOnJobDto;
+import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
import com.ruoyi.staff.pojo.StaffLeave;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
public interface StaffLeaveService extends IService<StaffLeave> {
+ IPage<StaffLeaveDto> staffLeaveListPage(Page page, StaffLeaveDto staffLeaveDto);
+ /**
+ * 鏂板绂昏亴
+ * @param staffLeaveDto
+ * @return
+ */
+ int add(StaffLeaveDto staffLeaveDto);
+
+ /**
+ * 鏇存柊绂昏亴淇℃伅
+ * @param id
+ * @param staffLeaveDto
+ * @return
+ */
+ int update(Long id, StaffLeaveDto staffLeaveDto);
+
+ int del(List<Integer> ids);
+
+ void export(HttpServletResponse response, StaffLeaveDto staffLeaveDto);
}
diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
index 78f94b2..0b2eba7 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
@@ -19,13 +19,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import javax.annotation.Resource;
-import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
-import java.util.function.Function;
-import static com.ruoyi.common.enums.StaffJoinLeaveRecordDimissionReason.StaffJoinLeaveRecordDimissionReasonOther;
@Service
@AllArgsConstructor
@@ -83,9 +79,6 @@
}
if (staffJoinLeaveRecord.getDimissionReason()==null){
throw new BaseException("绂昏亴鍘熷洜涓嶈兘涓虹┖!!!");
- }
- if (!StaffJoinLeaveRecordDimissionReasonOther.getCode().equals(staffJoinLeaveRecord.getDimissionReason())){
- staffJoinLeaveRecord.setDimissionRemark("");
}
}
return staffJoinLeaveRecordMapper.insert(staffJoinLeaveRecord);
@@ -179,9 +172,6 @@
//绂昏亴鐨勭紪杈戜笉浼氬奖鍝嶅湪鑱岃〃
if (staffJoinLeaveRecord.getDimissionReason()==null){
throw new BaseException("绂昏亴鍘熷洜涓嶈兘涓虹┖!!!");
- }
- if (!StaffJoinLeaveRecordDimissionReasonOther.getCode().equals(staffJoinLeaveRecord.getDimissionReason())){
- staffJoinLeaveRecord.setDimissionRemark("");
}
}
return staffJoinLeaveRecordMapper.updateById(staffJoinLeaveRecord);
diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java
index 0fc3807..20ec7be 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffLeaveServiceImpl.java
@@ -1,15 +1,106 @@
package com.ruoyi.staff.service.impl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.staff.dto.StaffLeaveDto;
+import com.ruoyi.staff.dto.StaffOnJobDto;
import com.ruoyi.staff.mapper.StaffLeaveMapper;
+import com.ruoyi.staff.mapper.StaffOnJobMapper;
+import com.ruoyi.staff.pojo.StaffContract;
+import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
+import com.ruoyi.staff.pojo.StaffOnJob;
import com.ruoyi.staff.service.StaffLeaveService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.staff.pojo.StaffLeave;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+import static com.ruoyi.common.enums.StaffLeaveReason.StaffLeaveReasonOther;
@AllArgsConstructor
@Service
public class StaffLeaveServiceImpl extends ServiceImpl<StaffLeaveMapper, StaffLeave> implements StaffLeaveService {
+ private StaffLeaveMapper staffLeaveMapper;
+
+ private StaffOnJobMapper staffOnJobMapper;
+
+ //鏂板绂昏亴鍒楄〃鍒嗛〉鏌ヨ
+ @Override
+ public IPage<StaffLeaveDto> staffLeaveListPage(Page page, StaffLeaveDto staffLeaveDto) {
+ return staffLeaveMapper.staffLeaveListPage(page,staffLeaveDto);
+ }
+
+ //鏂板绂昏亴
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int add(StaffLeaveDto staffLeaveDto) {
+ // 鏍¢獙鍦ㄨ亴鍛樺伐鏄惁瀛樺湪
+ StaffOnJob staffOnJob = staffOnJobMapper.selectById(staffLeaveDto.getStaffOnJobId());
+ if (staffOnJob == null) {
+ throw new IllegalArgumentException("鍛樺伐涓嶅瓨鍦�");
+ }
+
+ // 鏍¢獙鍛樺伐鏄惁绂昏亴
+ if (staffOnJob.getStaffState() == 0) {
+ throw new IllegalArgumentException("鍛樺伐宸茬鑱�");
+ }
+
+ // 鏂板绂昏亴璁板綍
+ StaffLeave staffLeave = new StaffLeave();
+ staffLeave.setStaffOnJobId(staffLeaveDto.getStaffOnJobId());
+ String reason = staffLeaveDto.getReason();
+ if (!StaffLeaveReasonOther.getCode().equals(reason)){
+ staffLeave.setRemark("");
+ }
+ staffLeaveMapper.insert(staffLeave);
+
+ // 鏇存柊绂昏亴鐘舵�佷负绂昏亴
+ staffOnJob.setStaffState(0);
+ return staffOnJobMapper.updateById(staffOnJob);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int update(Long id, StaffLeaveDto staffLeaveDto) {
+ // 鍒ゆ柇瀵硅薄鏄惁瀛樺湪
+ StaffLeave leave = staffLeaveMapper.selectById(id);
+ if (leave == null){
+ throw new BaseException("璇ョ鑱岃褰曚笉瀛樺湪,鏃犳硶鏇存柊!!!");
+ }
+
+ String reason = staffLeaveDto.getReason();
+ leave.setReason(reason);
+ // 鏍¢獙绂昏亴鍘熷洜鏄惁涓哄叾浠栵紝濡傛灉鏄叾浠栵紝澶囨敞璧嬪��
+ if (StaffLeaveReasonOther.getCode().equals(reason)){
+ leave.setRemark(staffLeaveDto.getRemark());
+ } else {
+ leave.setRemark("");
+ }
+ return staffLeaveMapper.updateById(leave);
+ }
+
+ //鍒犻櫎绂昏亴
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int del(List<Integer> ids) {
+ // 鍒犻櫎绂昏亴鏁版嵁
+ return staffLeaveMapper.deleteBatchIds(ids);
+ }
+
+ //瀵煎嚭
+ @Override
+ public void export(HttpServletResponse response, StaffLeaveDto staffLeaveDto) {
+ List<StaffLeaveDto> staffLeaves =staffLeaveMapper.staffLeaveList(staffLeaveDto);
+ ExcelUtil<StaffLeaveDto> util = new ExcelUtil<StaffLeaveDto>(StaffLeaveDto.class);
+ util.exportExcel(response, staffLeaves, "鍛樺伐绂昏亴瀵煎嚭");
+ }
}
diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
index 69e0638..3de1ca9 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
@@ -38,8 +38,6 @@
import java.time.ZoneId;
import java.util.*;
-import static com.ruoyi.common.enums.StaffJoinLeaveRecordDimissionReason.StaffJoinLeaveRecordDimissionReasonOther;
-
@AllArgsConstructor
@Service
public class StaffOnJobServiceImpl extends ServiceImpl<StaffOnJobMapper, StaffOnJob> implements IStaffOnJobService {
diff --git a/src/main/resources/mapper/staff/StaffLeaveMapper.xml b/src/main/resources/mapper/staff/StaffLeaveMapper.xml
new file mode 100644
index 0000000..1d43ecc
--- /dev/null
+++ b/src/main/resources/mapper/staff/StaffLeaveMapper.xml
@@ -0,0 +1,58 @@
+<?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.ruoyi.staff.mapper.StaffLeaveMapper">
+ <select id="staffLeaveListPage" resultType="com.ruoyi.staff.dto.StaffLeaveDto">
+ SELECT
+ staff_leave.*,
+ soj.staff_name as staffName,
+ soj.staff_state as staffState,
+ soj.staff_no as staffNo,
+ soj.sex as sex,
+ soj.native_place as nativePlace,
+ soj.adress as adress,
+ soj.first_study as firstStudy,
+ soj.profession as profession,
+ soj.identity_card as identityCard,
+ soj.age as age,
+ soj.phone as phone,
+ soj.emergency_contact as emergencyContact,
+ soj.emergency_contact_phone as emergencyContactPhone,
+ sp.post_name as postName
+ FROM staff_leave
+ LEFT JOIN
+ staff_on_job soj ON soj.id = staff_leave.staff_on_job_id
+ LEFT JOIN
+ sys_post sp ON sp.post_id = soj.sys_post_id
+ where 1=1
+ <if test="c.staffName != null and c.staffName != '' ">
+ AND soj.staff_name LIKE CONCAT('%',#{c.staffName},'%')
+ </if>
+ </select>
+ <select id="staffLeaveList" resultType="com.ruoyi.staff.dto.StaffLeaveDto">
+ SELECT
+ staff_leave.*,
+ soj.staff_name as staffName,
+ soj.staff_state as staffState,
+ soj.staff_no as staffNo,
+ soj.sex as sex,
+ soj.native_place as nativePlace,
+ soj.adress as adress,
+ soj.first_study as firstStudy,
+ soj.profession as profession,
+ soj.identity_card as identityCard,
+ soj.age as age,
+ soj.phone as phone,
+ soj.emergency_contact as emergencyContact,
+ soj.emergency_contact_phone as emergencyContactPhone,
+ sp.post_name as postName
+ FROM staff_leave
+ LEFT JOIN
+ staff_on_job soj ON soj.id = staff_leave.staff_on_job_id
+ LEFT JOIN
+ sys_post sp ON sp.post_id = soj.sys_post_id
+ where 1=1
+ <if test="c.staffName != null and c.staffName != '' ">
+ AND soj.staff_name LIKE CONCAT('%',#{c.staffName},'%')
+ </if>
+ </select>
+</mapper>
--
Gitblit v1.9.3