From 04abe23808d72c86781c2fa9af358d93455f2bb1 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 13 十一月 2025 17:35:56 +0800
Subject: [PATCH] yys 1.仓储物流增加分类管理 2.仓储物流分类管理导出接口 4.新疆生产管控定制化
---
src/main/java/com/ruoyi/device/pojo/DeviceLedger.java | 12 ++
src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java | 38 ++++-
src/main/java/com/ruoyi/staff/service/StaffSchedulingService.java | 2
src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingDto.java | 3
src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java | 3
src/main/java/com/ruoyi/compensationperformance/pojo/CompensationPerformance.java | 44 +++---
src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java | 8 +
src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java | 9 +
src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java | 13 ++
src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java | 31 ++++
src/main/java/com/ruoyi/project/system/controller/SysUserController.java | 12 ++
src/main/java/com/ruoyi/staff/pojo/StaffScheduling.java | 15 ++
src/main/java/com/ruoyi/sales/pojo/Loss.java | 31 +++++
src/main/java/com/ruoyi/staff/controller/StaffSchedulingController.java | 8 +
src/main/resources/mapper/staff/StaffSchedulingMapper.xml | 7
src/main/resources/mapper/system/SysUserMapper.xml | 6 +
src/main/resources/mapper/device/DeviceLedgerMapper.xml | 2
src/main/java/com/ruoyi/staff/service/impl/StaffSchedulingServiceImpl.java | 12 ++
src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java | 34 +++++
src/main/java/com/ruoyi/staff/dto/SaveStaffSchedulingDto.java | 24 ++-
src/main/java/com/ruoyi/staff/dto/StaffSchedulingDto.java | 10 +
src/main/java/com/ruoyi/sales/mapper/LossMapper.java | 11 +
22 files changed, 288 insertions(+), 47 deletions(-)
diff --git a/src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java b/src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java
index 84fdbe5..e1faffb 100644
--- a/src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java
+++ b/src/main/java/com/ruoyi/compensationperformance/controller/CompensationPerformanceController.java
@@ -1,5 +1,6 @@
package com.ruoyi.compensationperformance.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -9,16 +10,23 @@
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.purchase.dto.PaymentRegistrationDto;
+import com.ruoyi.staff.mapper.StaffOnJobMapper;
+import com.ruoyi.staff.pojo.StaffOnJob;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* @author :yys
@@ -76,5 +84,31 @@
util.exportExcel(response, list, "瀵煎嚭钖祫绠$悊鍒楄〃");
}
+ @Log(title = "涓嬭浇钖祫绠$悊鍒楄〃妯℃澘", businessType = BusinessType.EXPORT)
+ @PostMapping("/exportTemplate")
+ public void exportTemplate(HttpServletResponse response) {
+ List<CompensationPerformance> list = new ArrayList<>();
+ ExcelUtil<CompensationPerformance> util = new ExcelUtil<>(CompensationPerformance.class);
+ util.exportExcel(response, list, "涓嬭浇钖祫绠$悊鍒楄〃妯℃澘");
+ }
+
+ @Autowired
+ private SysUserMapper sysUserMapper;
+
+ @Log(title = "瀵煎叆钖祫绠$悊鍒楄〃", businessType = BusinessType.IMPORT)
+ @PostMapping("/importData")
+ public AjaxResult importData(MultipartFile file) throws Exception {
+ ExcelUtil<CompensationPerformance> util = new ExcelUtil<>(CompensationPerformance.class);
+ List<CompensationPerformance> list = util.importExcel(file.getInputStream());
+ list.forEach(item->{
+ SysUser staffOnJob = sysUserMapper.selectUserByNickName(item.getName());
+ if(staffOnJob!=null){
+ item.setStaffId(staffOnJob.getUserId());
+ }
+ });
+ boolean b = compensationPerformanceService.saveBatch(list);
+ return AjaxResult.success(b);
+ }
+
}
diff --git a/src/main/java/com/ruoyi/compensationperformance/pojo/CompensationPerformance.java b/src/main/java/com/ruoyi/compensationperformance/pojo/CompensationPerformance.java
index 499d75a..84d6138 100644
--- a/src/main/java/com/ruoyi/compensationperformance/pojo/CompensationPerformance.java
+++ b/src/main/java/com/ruoyi/compensationperformance/pojo/CompensationPerformance.java
@@ -28,9 +28,9 @@
private Long id;
/**
- * 鍛樺伐id
+ * 鐢ㄦ埛id
*/
- @ApiModelProperty("鍛樺伐id")
+ @ApiModelProperty("鐢ㄦ埛id")
private Long staffId;
/**
@@ -61,14 +61,14 @@
* 搴斿嚭鍕ゅぉ鏁�
*/
@ApiModelProperty("搴斿嚭鍕ゅぉ鏁�")
- @Excel(name = "搴斿嚭鍕ゅぉ鏁�")
+// @Excel(name = "搴斿嚭鍕ゅぉ鏁�")
private BigDecimal shouldAttendedNum;
/**
* 瀹為檯鍑哄嫟澶╂暟
*/
@ApiModelProperty("瀹為檯鍑哄嫟澶╂暟")
- @Excel(name = "瀹為檯鍑哄嫟澶╂暟")
+// @Excel(name = "瀹為檯鍑哄嫟澶╂暟")
private BigDecimal actualAttendedNum;
@@ -76,21 +76,21 @@
* 鍩烘湰宸ヨ祫
*/
@ApiModelProperty("鍩烘湰宸ヨ祫")
- @Excel(name = "鍩烘湰宸ヨ祫")
+// @Excel(name = "鍩烘湰宸ヨ祫")
private BigDecimal basicSalary;
/**
* 宀椾綅宸ヨ祫
*/
@ApiModelProperty("宀椾綅宸ヨ祫")
- @Excel(name = "宀椾綅宸ヨ祫")
+// @Excel(name = "宀椾綅宸ヨ祫")
private BigDecimal postSalary;
/**
* 鍏ョ鑱岀己鍕ゆ墸娆�
*/
@ApiModelProperty("鍏ョ鑱岀己鍕ゆ墸娆�")
- @Excel(name = "鍏ョ鑱岀己鍕ゆ墸娆�")
+// @Excel(name = "鍏ョ鑱岀己鍕ゆ墸娆�")
private BigDecimal deductionAbsenteeism;
@@ -98,34 +98,34 @@
* 鐥呭亣鎵f
*/
@ApiModelProperty("鐥呭亣鎵f")
- @Excel(name = "鐥呭亣鎵f")
+// @Excel(name = "鐥呭亣鎵f")
private BigDecimal sickLeaveDeductions;
/**
* 浜嬪亣鎵f
*/
@ApiModelProperty("浜嬪亣鎵f")
- @Excel(name = "浜嬪亣鎵f")
+// @Excel(name = "浜嬪亣鎵f")
private BigDecimal deductionPersonalLeave;
/**
* 蹇樿鎵撳崱鎵f
*/
@ApiModelProperty("蹇樿鎵撳崱鎵f")
- @Excel(name = "蹇樿鎵撳崱鎵f")
+// @Excel(name = "蹇樿鎵撳崱鎵f")
private BigDecimal forgetClockDeduct;
/**
* 缁╂晥寰楀垎
*/
@ApiModelProperty("缁╂晥寰楀垎")
- @Excel(name = "缁╂晥寰楀垎")
+// @Excel(name = "缁╂晥寰楀垎")
private BigDecimal performanceScore;
/**
* 缁╂晥宸ヨ祫
*/
@ApiModelProperty("缁╂晥宸ヨ祫")
- @Excel(name = "缁╂晥宸ヨ祫")
+// @Excel(name = "缁╂晥宸ヨ祫")
private BigDecimal performancePay;
@@ -133,67 +133,67 @@
* 搴斿彂鍚堣
*/
@ApiModelProperty("搴斿彂鍚堣")
- @Excel(name = "搴斿彂鍚堣")
+// @Excel(name = "搴斿彂鍚堣")
private BigDecimal payableWages;
/**
* 绀句繚涓汉
*/
@ApiModelProperty("绀句繚涓汉")
- @Excel(name = "绀句繚涓汉")
+// @Excel(name = "绀句繚涓汉")
private BigDecimal socialSecurityIndividuals;
/**
* 绀句繚鍏徃
*/
@ApiModelProperty("绀句繚鍏徃")
- @Excel(name = "绀句繚鍏徃")
+// @Excel(name = "绀句繚鍏徃")
private BigDecimal socialSecurityCompanies;
/**
* 绀句繚鍚堣
*/
@ApiModelProperty("绀句繚鍚堣")
- @Excel(name = "绀句繚鍚堣")
+// @Excel(name = "绀句繚鍚堣")
private BigDecimal socialSecurityTotal;
/**
* 鍏Н閲戝悎璁�
*/
@ApiModelProperty("鍏Н閲戝悎璁�")
- @Excel(name = "鍏Н閲戝悎璁�")
+// @Excel(name = "鍏Н閲戝悎璁�")
private BigDecimal providentFundTotal;
/**
* 鍏Н閲戝叕鍙�
*/
@ApiModelProperty("鍏Н閲戝叕鍙�")
- @Excel(name = "鍏Н閲戝叕鍙�")
+// @Excel(name = "鍏Н閲戝叕鍙�")
private BigDecimal providentFundCompany;
/**
* 鍏Н閲戜釜浜�
*/
@ApiModelProperty("鍏Н閲戜釜浜�")
- @Excel(name = "鍏Н閲戜釜浜�")
+// @Excel(name = "鍏Н閲戜釜浜�")
private BigDecimal providentFundIndividuals;
/**
* 搴旂◣宸ヨ祫
*/
@ApiModelProperty("搴旂◣宸ヨ祫")
- @Excel(name = "搴旂◣宸ヨ祫")
+// @Excel(name = "搴旂◣宸ヨ祫")
private BigDecimal taxableWaget;
/**
* 涓汉鎵�寰楃◣
*/
@ApiModelProperty("涓汉鎵�寰楃◣")
- @Excel(name = "涓汉鎵�寰楃◣")
+// @Excel(name = "涓汉鎵�寰楃◣")
private BigDecimal personalIncomeTax;
/**
* 瀹炲彂宸ヨ祫
*/
@ApiModelProperty("瀹炲彂宸ヨ祫")
- @Excel(name = "瀹炲彂宸ヨ祫")
+ @Excel(name = "瀹炲彂宸ヨ祫", width = 30)
private BigDecimal actualWages;
/**
diff --git a/src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java b/src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java
index 26bdc91..604001d 100644
--- a/src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java
+++ b/src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java
@@ -37,6 +37,19 @@
private String deviceModel;
/**
+ * 璁惧鍝佺墝
+ */
+ @ApiModelProperty("璁惧鍝佺墝")
+ private String deviceBrand;
+
+ /**
+ * 瀛樻斁浣嶇疆
+ */
+ @ApiModelProperty("瀛樻斁浣嶇疆")
+ private String storageLocation;
+
+
+ /**
* 渚涘簲鍟嗗悕绉�
*/
private String supplierName;
diff --git a/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java b/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
index caa8f32..785cf91 100644
--- a/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
+++ b/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
@@ -41,6 +41,18 @@
private String deviceModel;
/**
+ * 璁惧鍝佺墝
+ */
+ @ApiModelProperty("璁惧鍝佺墝")
+ private String deviceBrand;
+
+ /**
+ * 瀛樻斁浣嶇疆
+ */
+ @ApiModelProperty("瀛樻斁浣嶇疆")
+ private String storageLocation;
+
+ /**
* 渚涘簲鍟嗗悕绉�
*/
private String supplierName;
diff --git a/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java b/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
index 169b83f..51b5f0d 100644
--- a/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
+++ b/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
@@ -15,6 +15,8 @@
import com.ruoyi.production.mapper.SpeculativeTradingInfoMapper;
import com.ruoyi.production.pojo.SpeculativeTradingInfo;
import com.ruoyi.production.service.impl.SalesLedgerSchedulingServiceImpl;
+import com.ruoyi.sales.mapper.LossMapper;
+import com.ruoyi.sales.pojo.Loss;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -44,15 +46,40 @@
@Autowired
private SpeculativeTradingInfoMapper speculativeTradingInfoMapper;
+ @Autowired
+ private LossMapper lossMapper;
+
+ @GetMapping("/loss")
+ @Log(title = "鐢熶骇绠$悊-鐢熶骇娲惧伐-鎹熻�楃巼", businessType = BusinessType.OTHER)
+ @ApiOperation("鐢熶骇绠$悊-鐢熶骇娲惧伐-鎹熻�楃巼")
+ public AjaxResult loss() {
+ return AjaxResult.success(lossMapper.selectList(null));
+ }
+
+ @PostMapping("/addLoss")
+ @Log(title = "鐢熶骇绠$悊-鐢熶骇娲惧伐-娣诲姞鎹熻�楃巼", businessType = BusinessType.INSERT)
+ @ApiOperation("鐢熶骇绠$悊-鐢熶骇娲惧伐-娣诲姞鎹熻�楃巼")
+ public AjaxResult addLoss(@RequestBody Loss loss) {
+ lossMapper.insert(loss);
+ return AjaxResult.success("娣诲姞鎹熻�楃巼鎴愬姛");
+ }
+
+ @PostMapping("/updateLoss")
+ @Log(title = "鐢熶骇绠$悊-鐢熶骇娲惧伐-淇敼鎹熻�楃巼", businessType = BusinessType.UPDATE)
+ @ApiOperation("鐢熶骇绠$悊-鐢熶骇娲惧伐-淇敼鎹熻�楃巼")
+ public AjaxResult updateLoss(@RequestBody Loss loss) {
+ lossMapper.updateById(loss);
+ return AjaxResult.success("淇敼鎹熻�楃巼鎴愬姛");
+ }
+
@GetMapping("/list")
@Log(title = "鐢熶骇绠$悊-鐢熶骇娲惧伐-鐐掓満淇℃伅", businessType = BusinessType.OTHER)
@ApiOperation("鐢熶骇绠$悊-鐢熶骇娲惧伐-鐐掓満淇℃伅")
public AjaxResult list() {
List<SpeculativeTradingInfo> result = speculativeTradingInfoMapper.selectList(null);
result.forEach(item -> {
-
item.setCurrentWorkLoad(salesLedgerSchedulingService.getSchedulingNumBySpeculativeTradingName(item.getName()).divide(new BigDecimal(1000),2, RoundingMode.CEILING));
- item.setVacant(item.getWorkLoad().subtract(item.getCurrentWorkLoad()));
+ item.setVacant(item.getWorkLoad().subtract(item.getCurrentWorkLoad()).setScale(2, RoundingMode.HALF_UP)); //淇濈暀涓や綅灏忔暟
});
return AjaxResult.success(result);
}
diff --git a/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingDto.java b/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingDto.java
index 1acb484..d72bdc3 100644
--- a/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingDto.java
+++ b/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingDto.java
@@ -27,6 +27,9 @@
@ApiModelProperty(value = "閿�鍞彴璐D")
private Long salesLedgerId;
+ @ApiModelProperty(value = "鐢熶骇鎬婚噺(鍗曚綅kg)")
+ private BigDecimal totalProduction;
+
/**
* 鐢熶骇鐐掓満
*/
diff --git a/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java b/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java
index f60b055..10d472a 100644
--- a/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java
+++ b/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java
@@ -23,6 +23,9 @@
@ApiModelProperty(value = "閿�鍞骇鍝両D")
private Long salesLedgerProductId;
+ @ApiModelProperty(value = "鐢熶骇鎬婚噺(鍗曚綅kg)")
+ private BigDecimal totalProduction;
+
@ApiModelProperty(value = "閿�鍞彴璐D")
private Long salesLedgerId;
diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
index 3d510b8..5a7fe76 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerProductionAccountingServiceImpl.java
@@ -11,6 +11,8 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
+
/**
* @author :yys
* @date : 2025/7/21 14:41
@@ -25,6 +27,13 @@
@Override
public IPage<SalesLedgerProductionAccountingDto> listPage(Page page, SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto) {
IPage<SalesLedgerProductionAccountingDto> list = salesLedgerProductionAccountingMapper.listPage(page, salesLedgerProductionAccountingDto);
+ list.getRecords().forEach(item -> {
+ String[] split = item.getSpecificationModel().split("\\*");
+ if(split.length == 2){
+ // 璁$畻宸ヨ祫 = 宸ユ椂瀹氶 * 鏁伴噺 * 瑙勬牸
+ item.setWages(item.getWages().multiply(new BigDecimal(split[1])));
+ }
+ });
return list;
}
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
index f9d6105..96be320 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
@@ -18,7 +18,9 @@
import com.ruoyi.production.service.SalesLedgerSchedulingService;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
+import com.ruoyi.sales.mapper.LossMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.pojo.Loss;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -28,6 +30,7 @@
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
@@ -77,6 +80,15 @@
}else{
i.setStatus("鐢熶骇涓�");
}
+ // 璁$畻鐢熶骇鎬婚噺 = 瑙勬牸 * 鏁伴噺 / 1000
+ String[] split = i.getSpecificationModel().split("\\*");
+ if(split.length == 2){
+ BigDecimal multiply = new BigDecimal(split[0])
+ .multiply(new BigDecimal(split[1])
+ .multiply(i.getQuantity()).divide(new BigDecimal(1000),2, RoundingMode.CEILING));
+ i.setTotalProduction(multiply);
+ }
+
});
return list;
}
@@ -210,8 +222,14 @@
totalNum.addAndGet(productionNum.intValue());
}
});
- return new BigDecimal(totalNum.get());
+ // 闇�瑕� / 鎹熻�楃巼
+ Loss loss = lossMapper.selectOne(new LambdaQueryWrapper<Loss>().last("limit 1"));
+ BigDecimal lossNum = loss == null ? new BigDecimal(6) : loss.getRate(); //娌℃湁鎹熻�楃巼鍒欓粯璁や负6
+
+ return new BigDecimal(totalNum.get()).multiply(new BigDecimal(100)).divide(lossNum, 2,RoundingMode.HALF_UP);
}
+
+ private LossMapper lossMapper;
/**
@@ -256,14 +274,16 @@
// salesLedgerWorkLambdaQueryWrapper.in(SalesLedgerWork::getSalesLedgerSchedulingId, collect)
// .ne(SalesLedgerWork::getStatus, 1);
// List<SalesLedgerWork> salesLedgerWorks = salesLedgerWorkMapper.selectList(salesLedgerWorkLambdaQueryWrapper);
-// list.getRecords().forEach(i -> {
-// // 鑾峰彇瀹屾垚鏁伴噺
-// i.setSuccessNum(salesLedgerWorks
-// .stream()
-// .filter(j -> j.getSalesLedgerSchedulingId().equals(i.getId()))
-// .map(SalesLedgerWork::getFinishedNum)
-// .reduce(BigDecimal.ZERO, BigDecimal::add));
-// });
+ list.getRecords().forEach(i -> {
+ // 璁$畻鐢熶骇鎬婚噺 = 瑙勬牸 * 鏁伴噺 / 1000
+ String[] split = i.getSpecificationModel().split("\\*");
+ if(split.length == 2){
+ BigDecimal multiply = new BigDecimal(split[0])
+ .multiply(new BigDecimal(split[1])
+ .multiply(i.getSuccessNum()).divide(new BigDecimal(1000),2, RoundingMode.CEILING));
+ i.setTotalProduction(multiply);
+ }
+ });
return list;
}
diff --git a/src/main/java/com/ruoyi/project/system/controller/SysUserController.java b/src/main/java/com/ruoyi/project/system/controller/SysUserController.java
index 14618a9..4ddd819 100644
--- a/src/main/java/com/ruoyi/project/system/controller/SysUserController.java
+++ b/src/main/java/com/ruoyi/project/system/controller/SysUserController.java
@@ -5,6 +5,7 @@
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.project.system.domain.vo.SysUserDeptVo;
+import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.project.system.service.*;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -67,6 +68,17 @@
return getDataTable(list);
}
+ /**
+ * 鑾峰彇鐢ㄦ埛鍒楄〃
+ */
+ @PreAuthorize("@ss.hasPermi('system:user:list')")
+ @GetMapping("/listAll")
+ public AjaxResult listAll(SysUser user)
+ {
+ List<SysUser> list = userService.selectUserList(user);
+ return AjaxResult.success(list);
+ }
+
@Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:user:export')")
@PostMapping("/export")
diff --git a/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java b/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
index 550fa51..5b0f56d 100644
--- a/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
+++ b/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
@@ -49,6 +49,14 @@
public SysUser selectUserByUserName(String userName);
/**
+ * 閫氳繃鏄电О鏌ヨ鐢ㄦ埛
+ *
+ * @param nickName 鐢ㄦ埛鍚�
+ * @return 鐢ㄦ埛瀵硅薄淇℃伅
+ */
+ public SysUser selectUserByNickName(String nickName);
+
+ /**
* 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛
*
* @param userId 鐢ㄦ埛ID
diff --git a/src/main/java/com/ruoyi/sales/mapper/LossMapper.java b/src/main/java/com/ruoyi/sales/mapper/LossMapper.java
new file mode 100644
index 0000000..e4cf991
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/mapper/LossMapper.java
@@ -0,0 +1,11 @@
+package com.ruoyi.sales.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.sales.pojo.Loss;
+
+/**
+ * @author :yys
+ * @date : 2025/11/13 16:17
+ */
+public interface LossMapper extends BaseMapper<Loss> {
+}
diff --git a/src/main/java/com/ruoyi/sales/pojo/Loss.java b/src/main/java/com/ruoyi/sales/pojo/Loss.java
new file mode 100644
index 0000000..ad0a03e
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/pojo/Loss.java
@@ -0,0 +1,31 @@
+package com.ruoyi.sales.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author :yys
+ * @date : 2025/11/13 16:16
+ */
+@Data
+@TableName("loss")
+public class Loss {
+
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 搴忓彿
+ */
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ private BigDecimal rate;
+
+ @ApiModelProperty(value = "绉熸埛ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+
+}
diff --git a/src/main/java/com/ruoyi/staff/controller/StaffSchedulingController.java b/src/main/java/com/ruoyi/staff/controller/StaffSchedulingController.java
index 9f5d82c..a54096a 100644
--- a/src/main/java/com/ruoyi/staff/controller/StaffSchedulingController.java
+++ b/src/main/java/com/ruoyi/staff/controller/StaffSchedulingController.java
@@ -53,6 +53,14 @@
return AjaxResult.success();
}
+ /**
+ * 鑾峰彇褰撳墠鐢ㄦ埛鏈�鏂版帓鐝褰�
+ */
+ @GetMapping("/getCurrentUserLatestScheduling")
+ public AjaxResult getCurrentUserLatestScheduling(){
+ return AjaxResult.success(staffSchedulingService.getCurrentUserLatestScheduling());
+ }
+
@Log(title = "瀵煎嚭浜哄憳鎺掔彮鍒楄〃", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response ) {
diff --git a/src/main/java/com/ruoyi/staff/dto/SaveStaffSchedulingDto.java b/src/main/java/com/ruoyi/staff/dto/SaveStaffSchedulingDto.java
index 25a41b3..7e57745 100644
--- a/src/main/java/com/ruoyi/staff/dto/SaveStaffSchedulingDto.java
+++ b/src/main/java/com/ruoyi/staff/dto/SaveStaffSchedulingDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.staff.dto;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -21,27 +22,34 @@
public class SaveStaffSchedulingDto implements Serializable {
private Integer id;
- @NotNull(message = "蹇呴』瑕侀�夋嫨鍛樺伐")
- private Integer staffId;
+// @NotNull(message = "蹇呴』瑕侀�夋嫨鍛樺伐")
+ private String staffId;
- @NotNull(message = "閮ㄩ棬id涓嶈兘涓虹┖!")
+ /**
+ * 鍗堜紤鏃堕棿
+ */
+ private String lunchTime;
+
+ private String staffName;
+
+// @NotNull(message = "閮ㄩ棬id涓嶈兘涓虹┖!")
private Integer department;
- @NotNull(message = "鐝id涓嶈兘涓虹┖!")
+// @NotNull(message = "鐝id涓嶈兘涓虹┖!")
private Integer shiftType;
- @NotNull(message = "宸ヤ綔鏃ヤ笉鑳戒负绌�!")
+// @NotNull(message = "宸ヤ綔鏃ヤ笉鑳戒负绌�!")
private Date workDate;
- @NotNull(message = "涓婄彮鏃堕棿涓嶈兘涓虹┖!")
+// @NotNull(message = "涓婄彮鏃堕棿涓嶈兘涓虹┖!")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime workStartTime;
- @NotNull(message = "涓嬬彮鏃堕棿涓嶈兘涓虹┖!")
+// @NotNull(message = "涓嬬彮鏃堕棿涓嶈兘涓虹┖!")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime workEndTime;
- @NotNull(message = "宸ユ椂涓嶈兘涓虹┖!")
+// @NotNull(message = "宸ユ椂涓嶈兘涓虹┖!")
private Integer status;
private String remark;
diff --git a/src/main/java/com/ruoyi/staff/dto/StaffSchedulingDto.java b/src/main/java/com/ruoyi/staff/dto/StaffSchedulingDto.java
index ad8b812..727b773 100644
--- a/src/main/java/com/ruoyi/staff/dto/StaffSchedulingDto.java
+++ b/src/main/java/com/ruoyi/staff/dto/StaffSchedulingDto.java
@@ -1,6 +1,7 @@
package com.ruoyi.staff.dto;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
@@ -24,7 +25,14 @@
/**
* 鍛樺伐ID
*/
- private Integer staffId;
+ private String staffId;
+
+
+ /**
+ * 鍗堜紤鏃堕棿
+ */
+ @Excel(name = "鍗堜紤鏃堕棿")
+ private String lunchTime;
@Excel(name = "鍛樺伐鍚嶇О")
private String staffName;
diff --git a/src/main/java/com/ruoyi/staff/pojo/StaffScheduling.java b/src/main/java/com/ruoyi/staff/pojo/StaffScheduling.java
index 89be920..a00040c 100644
--- a/src/main/java/com/ruoyi/staff/pojo/StaffScheduling.java
+++ b/src/main/java/com/ruoyi/staff/pojo/StaffScheduling.java
@@ -24,7 +24,19 @@
* 鍛樺伐ID
*/
@TableField(value = "staff_id")
- private Integer staffId;
+ private String staffId;
+
+ /**
+ * 鎺掔彮浜哄憳
+ */
+ @TableField(value = "staff_name")
+ private String staffName;
+
+ /**
+ * 鍗堜紤鏃堕棿
+ */
+ @TableField(value = "lunch_time")
+ private String lunchTime;
/**
* 閮ㄩ棬
@@ -44,6 +56,7 @@
@TableField(value = "work_date")
private Date workDate;
+
/**
* 寮�濮嬪伐浣滄椂闂�
*/
diff --git a/src/main/java/com/ruoyi/staff/service/StaffSchedulingService.java b/src/main/java/com/ruoyi/staff/service/StaffSchedulingService.java
index b12faa1..177485d 100644
--- a/src/main/java/com/ruoyi/staff/service/StaffSchedulingService.java
+++ b/src/main/java/com/ruoyi/staff/service/StaffSchedulingService.java
@@ -17,4 +17,6 @@
void saveStaffScheduling(SaveStaffSchedulingDto saveStaffSchedulingDto);
IPage<StaffSchedulingDto> listPage(SearchSchedulingVo vo);
+
+ StaffScheduling getCurrentUserLatestScheduling();
}
diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffSchedulingServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffSchedulingServiceImpl.java
index b42d1fc..b05fc92 100644
--- a/src/main/java/com/ruoyi/staff/service/impl/StaffSchedulingServiceImpl.java
+++ b/src/main/java/com/ruoyi/staff/service/impl/StaffSchedulingServiceImpl.java
@@ -1,8 +1,11 @@
package com.ruoyi.staff.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.staff.dto.SaveStaffSchedulingDto;
import com.ruoyi.staff.dto.StaffSchedulingDto;
import com.ruoyi.staff.mapper.StaffSchedulingMapper;
@@ -54,6 +57,15 @@
return staffSchedulingMapper.listPage(page, vo);
}
+
+ @Override
+ public StaffScheduling getCurrentUserLatestScheduling() {
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ return staffSchedulingMapper.selectOne(new LambdaQueryWrapper<StaffScheduling>()
+ .like(StaffScheduling::getStaffId,loginUser.getUserId())
+ .orderByDesc(StaffScheduling::getWorkEndTime)
+ .last("LIMIT 1"));
+ }
}
diff --git a/src/main/resources/mapper/device/DeviceLedgerMapper.xml b/src/main/resources/mapper/device/DeviceLedgerMapper.xml
index 9cee459..b37f95f 100644
--- a/src/main/resources/mapper/device/DeviceLedgerMapper.xml
+++ b/src/main/resources/mapper/device/DeviceLedgerMapper.xml
@@ -11,6 +11,8 @@
dl.device_name,
dl.device_model,
dl.supplier_name,
+ dl.device_brand,
+ dl.storage_location,
dl.unit,
dl.number,
dl.status,
diff --git a/src/main/resources/mapper/staff/StaffSchedulingMapper.xml b/src/main/resources/mapper/staff/StaffSchedulingMapper.xml
index 1a32ef1..5bc5e4a 100644
--- a/src/main/resources/mapper/staff/StaffSchedulingMapper.xml
+++ b/src/main/resources/mapper/staff/StaffSchedulingMapper.xml
@@ -6,7 +6,7 @@
<resultMap id="BaseResultMap" type="com.ruoyi.staff.pojo.StaffScheduling">
<id property="id" column="id" jdbcType="INTEGER"/>
- <result property="staffId" column="staff_id" jdbcType="INTEGER"/>
+ <result property="staffId" column="staff_id" jdbcType="VARCHAR"/>
<result property="department" column="department" jdbcType="INTEGER"/>
<result property="shiftType" column="shift_type" jdbcType="INTEGER"/>
<result property="workDate" column="work_date" jdbcType="DATE"/>
@@ -31,12 +31,11 @@
</sql>
<select id="listPage" resultType="com.ruoyi.staff.dto.StaffSchedulingDto">
SELECT
- t1.*,t2.staff_name as 'staff_name' ,t2.staff_no as 'staff_no'
+ t1.*
FROM staff_scheduling t1
- left join staff_join_leave_record t2 on t1.staff_id = t2.id
where 1=1
<if test="vo.staffName != null and vo.staffName != '' ">
- AND t2.staff_name LIKE CONCAT('%', #{vo.staffName}, '%')
+ AND t1.staff_name LIKE CONCAT('%', #{vo.staffName}, '%')
</if>
<if test="vo.shiftType != null and vo.shiftType != '' ">
AND t1.shift_type = #{vo.shiftType}
diff --git a/src/main/resources/mapper/system/SysUserMapper.xml b/src/main/resources/mapper/system/SysUserMapper.xml
index f77e62c..5c94ed9 100644
--- a/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/src/main/resources/mapper/system/SysUserMapper.xml
@@ -180,6 +180,12 @@
#{id}
</foreach>
</select>
+ <select id="selectUserByNickName" resultType="com.ruoyi.project.system.domain.SysUser"
+ parameterType="java.lang.String">
+ <include refid="selectUserVo"/>
+ where u.nick_name = #{nickName} and u.del_flag = '0'
+ limit 1
+ </select>
<insert id="insertUser" parameterType="com.ruoyi.project.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
insert into sys_user(
--
Gitblit v1.9.3