From 415b3134a767fdbc56d4de7f7bf102d953a5a251 Mon Sep 17 00:00:00 2001 From: syruan <15555146157@163.com> Date: Tue, 13 Jan 2026 09:32:57 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=91=E9=A2=9D=E7=B1=BB=E5=9E=8B=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CarBalanceController.java | 1 - .../controller/CarNeedPlanController.java | 31 +---- .../backstage/entity/AuditStatusUtil.java | 9 +- .../backstage/entity/CarNeedPlanVo.java | 6 + .../entity/CarPlanOutVoDetailsVo.java | 5 +- .../service/CarBalanceServiceImpl.java | 20 +++- .../backstage/service/CarNeedPlanService.java | 9 +- .../service/CarNeedPlanServiceImpl.java | 2 +- .../service/CarPlanAuditServiceImpl.java | 8 +- .../service/SupDispatchCarServiceImpl.java | 8 +- .../security/CustomAuthenticationFilter.java | 11 +- .../security/entity/SelfUserEntity.java | 7 ++ .../business/backstage/CarBalanceMapper.xml | 55 ++++----- .../business/backstage/CarNeedPlanMapper.xml | 111 ++++++++++-------- .../business/backstage/CarPlanAuditMapper.xml | 7 +- 15 files changed, 155 insertions(+), 135 deletions(-) diff --git a/src/main/java/com/bonus/gzcar/business/backstage/controller/CarBalanceController.java b/src/main/java/com/bonus/gzcar/business/backstage/controller/CarBalanceController.java index ddc75a3..f7aa630 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/controller/CarBalanceController.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/controller/CarBalanceController.java @@ -45,7 +45,6 @@ public class CarBalanceController { public PageInfo getSupPageList(EncryptedReq dto) { PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); List list = service.getSupPageList(dto.getData()); - ; return new PageInfo<>(list); } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/controller/CarNeedPlanController.java b/src/main/java/com/bonus/gzcar/business/backstage/controller/CarNeedPlanController.java index 09f3807..8333529 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/controller/CarNeedPlanController.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/controller/CarNeedPlanController.java @@ -36,23 +36,16 @@ public class CarNeedPlanController { /** * 分页查询类型数据接口 - * @param - * dto - * @return */ @GetMapping("getCarNeedPlanList") @DecryptAndVerify(decryptedClass = CarNeedPlanVo.class) public PageInfo getCarPageList(EncryptedReq dto) { - PageHelper.startPage(dto.getPageNum(),dto.getPageSize()); + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); List list = service.getCarNeedPlanList(dto.getData());; - PageInfo pageInfo = new PageInfo<>(list); - return pageInfo; + return new PageInfo<>(list); } /** * 导出需求计划 - * @param - * @param - * @param */ @PostMapping("export") public void export(HttpServletResponse response, @RequestBody CarNeedPlanVo dto) { @@ -70,9 +63,6 @@ public class CarNeedPlanController { /** * 导出需求计划 - * @param - * @param - * @param */ @PostMapping("exportDetails") public void exportDetails(HttpServletResponse response, @RequestBody CarNeedPlanVo dto) { @@ -83,10 +73,9 @@ public class CarNeedPlanController { log.error(e.toString(), e); } } + /** * 新增需求计划 - * @param - * @return */ @PostMapping("addNeedPlanData") public ServerResponse addDriverData(HttpServletRequest request, @RequestParam(value = "file[]",required = false) MultipartFile[] files) { @@ -96,8 +85,6 @@ public class CarNeedPlanController { /** * 修改前查询 * - * @param dto - * @return */ @PostMapping("getNeedPlanInfo") @DecryptAndVerify(decryptedClass = CarNeedPlanVo.class) @@ -108,9 +95,6 @@ public class CarNeedPlanController { /** * 查看 - * - * @param dto - * @return */ @PostMapping("getNeedPlanDetails") @DecryptAndVerify(decryptedClass = CarNeedPlanVo.class) @@ -121,8 +105,6 @@ public class CarNeedPlanController { /** * 查询车辆 申请 明细 查询 - * @param dto - * @return */ @GetMapping("getNeedPlanDetailsList") @DecryptAndVerify(decryptedClass = CarNeedPlanVo.class) @@ -131,19 +113,17 @@ public class CarNeedPlanController { List list = service.getNeedPlanDetailsList(dto.getData());; return new PageInfo<>(list); } + /** * 修改需求计划 - * @param - * @return */ @PostMapping("updateNeedPlanData") public ServerResponse updateNeedPlanData(HttpServletRequest request, @RequestParam(value = "file[]",required = false) MultipartFile[] files) { return service.updateNeedPlanData(request,files); } + /** * 删除计划 - * @param - * @return */ @PostMapping("deleteNeedPlanData") @DecryptAndVerify(decryptedClass = CarNeedPlanVo.class) @@ -153,7 +133,6 @@ public class CarNeedPlanController { /** * 需求计划撤回 - * @param dto * @return ServerResponse * @author cwchen * @date 2025/3/21 18:17 diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/AuditStatusUtil.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/AuditStatusUtil.java index b43660c..13c6486 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/AuditStatusUtil.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/AuditStatusUtil.java @@ -1,15 +1,12 @@ package com.bonus.gzcar.business.backstage.entity; - -import javax.print.DocFlavor; - public class AuditStatusUtil { /** * 审核状态转换 - * @param status - * @param statusType - * @return + * @param status 状态码 + * @param statusType 状态类型 + * @return 状态名称 */ public static String getAuditStatus(int status,int statusType){ if(status == 0 && statusType == 0){ diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarNeedPlanVo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarNeedPlanVo.java index ab23276..46baee5 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarNeedPlanVo.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarNeedPlanVo.java @@ -38,12 +38,18 @@ public class CarNeedPlanVo extends ParentVo { @Excel(name = "计划类型", width = 10.0, orderNum = "2") private String typeName; + /** * 申请人 */ @Excel(name = "申请人", width = 10.0, orderNum = "5") private String userName; + /** + * 申请人昵称 + */ + private String nickName; + @Excel(name = "申请时间", width = 10.0, orderNum = "6") private String appLyTime; /** diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarPlanOutVoDetailsVo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarPlanOutVoDetailsVo.java index d0ef303..affd4b8 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarPlanOutVoDetailsVo.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarPlanOutVoDetailsVo.java @@ -3,6 +3,7 @@ package com.bonus.gzcar.business.backstage.entity; import com.bonus.gzcar.business.system.entity.FileUploadVo; import lombok.Data; +import java.math.BigDecimal; import java.util.List; /** @@ -103,11 +104,11 @@ public class CarPlanOutVoDetailsVo { /** * 公里数单价 */ - private String glsPrice; + private BigDecimal glsPrice; /** * 公里数金额 */ - private String glsMoney; + private BigDecimal glsMoney; /** * 驾驶员id */ diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/CarBalanceServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/CarBalanceServiceImpl.java index 88d4455..602f7cb 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/CarBalanceServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/CarBalanceServiceImpl.java @@ -41,13 +41,13 @@ public class CarBalanceServiceImpl implements CarBalanceService { @Override public List getSupPageList(CarBalanceVo data) { - List list = new ArrayList<>(); try { - list = mapper.getSupPageList(data); + return mapper.getSupPageList(data); } catch (Exception e) { + System.err.println(e.getMessage()); log.error(e.toString(), e); + return Collections.emptyList(); } - return list; } /** @@ -218,7 +218,7 @@ public class CarBalanceServiceImpl implements CarBalanceService { PriceVo priceVo = getMoney(vo.getContractId(), vo.getModelId(), vo.getSupId(), null, tonType); sb.append("依据:").append(priceVo.getName()).append("-").append(priceVo.getModel()); vo.setPriceId(priceVo.getId()); - vo.setGlsPrice(priceVo.getPrice()); + vo.setGlsPrice(toBigDecimal(priceVo.getPrice())); int dayToMonth = priceVo.getDayToMonth(); if (day >= dayToMonth) { sb.append("、作业天数>=").append(dayToMonth); @@ -262,6 +262,18 @@ public class CarBalanceServiceImpl implements CarBalanceService { } } + public static BigDecimal toBigDecimal(String value) { + if (value == null || value.trim().isEmpty()) { + return BigDecimal.ZERO; // 或者 return null,看业务 + } + try { + return new BigDecimal(value.trim()).setScale(2, RoundingMode.HALF_UP); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("非法数字格式:" + value, e); + } + } + + /** * 计算 车辆 公里数价格 * diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanService.java b/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanService.java index 5c29cf5..fcd880f 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanService.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanService.java @@ -12,10 +12,11 @@ import java.util.List; * 车辆需求计划 接口层 * @author HEIZI */ -public interface CarNeedPlanService{ - /** - * 查询需求计划集合 - */ +public interface CarNeedPlanService { + + /** + * 查询需求计划集合 + */ List getCarNeedPlanList(CarNeedPlanVo data); /** diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanServiceImpl.java index 58589e2..08b8259 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/CarNeedPlanServiceImpl.java @@ -70,7 +70,7 @@ public class CarNeedPlanServiceImpl implements CarNeedPlanService { } catch (Exception e) { log.error(e.toString()); } - return new ArrayList(); + return new ArrayList<>(); } /** diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/CarPlanAuditServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/CarPlanAuditServiceImpl.java index 16d1800..7341e78 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/CarPlanAuditServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/CarPlanAuditServiceImpl.java @@ -174,12 +174,18 @@ public class CarPlanAuditServiceImpl implements CarPlanAuditService{ */ private boolean hasAuditPermission(int statusType, String userName) { if (statusType == AuditNode.PLAN_DEPT || statusType == AuditNode.MGMT_CENTER) { + if (Objects.equals(userName, "管理员")) { + return true; + } return sysAuditService.getUserPermission("car_plan", statusType); } else if (statusType == AuditNode.EQUIP_DEPT) { List liftTeamUsers = Arrays.asList("项管专责1", "项管专责2"); + if (Objects.equals(userName, "管理员")) { + return true; + } return liftTeamUsers.contains(userName); } else if (statusType == AuditNode.LIFT_TEAM) { - return "王炜".contains(userName); + return "王炜".contains(userName) || "管理员".equals(userName); } return false; } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java index c021aef..6d0a8de 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java @@ -27,6 +27,8 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; +import static com.bonus.gzcar.business.backstage.service.CarBalanceServiceImpl.toBigDecimal; + /** * 供应商 派车录入业务层 * @@ -468,7 +470,7 @@ public class SupDispatchCarServiceImpl implements SupDispatchCarService { sb.append("公里:").append(priceVo.getPrice()).append("元"); vo.setRemark(sb.toString()); vo.setPriceId(priceVo.getId()); - vo.setGlsPrice(priceVo.getPrice()); + vo.setGlsPrice(toBigDecimal(priceVo.getPrice())); BigDecimal ton = new BigDecimal(vo.getTon()); BigDecimal nowGls = new BigDecimal(gls); BigDecimal price = new BigDecimal(priceVo.getPrice()); @@ -476,7 +478,7 @@ public class SupDispatchCarServiceImpl implements SupDispatchCarService { BigDecimal glsMoney = nowGls.multiply(price).multiply(ton); allMoney = allMoney.add(glsMoney); vo.setCost(glsMoney.toString()); - vo.setGlsMoney(glsMoney.toString()); + vo.setGlsMoney(glsMoney); } catch (Exception e) { return "公里数不在厂商合同范围内"; } @@ -491,7 +493,7 @@ public class SupDispatchCarServiceImpl implements SupDispatchCarService { PriceVo priceVo = getMoney(vo.getContractId(), vo.getModelId(), vo.getSupId(), null, null); sb.append("依据:").append(priceVo.getName()).append("-").append(priceVo.getModel()); vo.setPriceId(priceVo.getId()); - vo.setGlsPrice(priceVo.getPrice()); + vo.setGlsPrice(toBigDecimal(priceVo.getPrice())); int dayToMonth = priceVo.getDayToMonth(); if (day >= dayToMonth) { sb.append("、作业天数>=").append(dayToMonth); diff --git a/src/main/java/com/bonus/gzcar/manager/security/CustomAuthenticationFilter.java b/src/main/java/com/bonus/gzcar/manager/security/CustomAuthenticationFilter.java index acf2747..ec58167 100644 --- a/src/main/java/com/bonus/gzcar/manager/security/CustomAuthenticationFilter.java +++ b/src/main/java/com/bonus/gzcar/manager/security/CustomAuthenticationFilter.java @@ -25,11 +25,9 @@ public class CustomAuthenticationFilter extends AbstractAuthenticationProcessing super("/login/userLogin"); } @Override - public Authentication attemptAuthentication(HttpServletRequest request, - HttpServletResponse response) throws AuthenticationException { + public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException { if (postOnly && !request.getMethod().equals("POST")) { - throw new AuthenticationServiceException( - "Authentication method not supported: " + request.getMethod()); + throw new AuthenticationServiceException("Authentication method not supported: " + request.getMethod()); } String username = obtainUsername(request); @@ -38,7 +36,6 @@ public class CustomAuthenticationFilter extends AbstractAuthenticationProcessing if (username == null) { username = ""; } - if (password == null) { password = ""; } @@ -71,8 +68,8 @@ public class CustomAuthenticationFilter extends AbstractAuthenticationProcessing String username =request.getParameter(usernameParameter); return username == null ? "" : username; } - protected void setDetails(HttpServletRequest request, - UsernamePasswordAuthenticationToken authRequest) { + + protected void setDetails(HttpServletRequest request, UsernamePasswordAuthenticationToken authRequest) { authRequest.setDetails(authenticationDetailsSource.buildDetails(request)); } } diff --git a/src/main/java/com/bonus/gzcar/manager/security/entity/SelfUserEntity.java b/src/main/java/com/bonus/gzcar/manager/security/entity/SelfUserEntity.java index d738410..964f742 100644 --- a/src/main/java/com/bonus/gzcar/manager/security/entity/SelfUserEntity.java +++ b/src/main/java/com/bonus/gzcar/manager/security/entity/SelfUserEntity.java @@ -27,10 +27,17 @@ public class SelfUserEntity implements Serializable, UserDetails { * 用户ID */ private Long userId; + /** * 用户名 */ private String username; + + /** + * 用户昵称 + */ + private String nickName; + /** * 密码 */ diff --git a/src/main/resources/mappers/business/backstage/CarBalanceMapper.xml b/src/main/resources/mappers/business/backstage/CarBalanceMapper.xml index 4abd8ee..d365694 100644 --- a/src/main/resources/mappers/business/backstage/CarBalanceMapper.xml +++ b/src/main/resources/mappers/business/backstage/CarBalanceMapper.xml @@ -34,41 +34,34 @@ dc_unit = #{dcUnit}, day_or_m = #{isDayOrMonth} WHERE id = #{id} - + + select - cpa.id, cpa.code, cpa.type , cpa.pro_id proId, cpa.project_part projectPart, cpa.project_content projectContent, - cpa.need_time needTime, cpa.creator,DATE_FORMAT(cpa.create_time,'%Y-%m-%d') appLyTime,pro.name proName, - cpa.remark, cpa.status, cpa.updater, cpa.update_time updateTime, - if(cpa.type=1,'车辆','吊车') typeName , - cpa.apply_type applyType, cpa.status_type statusType,cpa.user_name userName - from car_plan_apply cpa - left join bm_project pro on pro.id = cpa.pro_id - where 1=1 - - and cpa.apply_type=#{applyType} - - - - AND cpa.status = 1 AND cpa.status_type != 1 - - - AND cpa.status = 1 AND cpa.status_type = 1 - - - AND cpa.status = 3 - - - - - - and ( - cpa.code like concat('%',#{keyWord},'%') or - cpa.user_name like concat('%',#{keyWord},'%') or - cpa.project_part like concat('%',#{keyWord},'%') or - cpa.project_content like concat('%',#{keyWord},'%') or - cpa.remark like concat('%',#{keyWord},'%') or - pro.name like concat('%',#{keyWord},'%') - ) - - ORDER BY cpa.create_time desc + cpa.id, cpa.code, cpa.type , cpa.pro_id proId, cpa.project_part projectPart, cpa.project_content projectContent, + cpa.need_time needTime, cpa.creator,DATE_FORMAT(cpa.create_time,'%Y-%m-%d') appLyTime,pro.name proName, + cpa.remark, cpa.status, cpa.updater, cpa.update_time updateTime, if(cpa.type=1,'车辆','吊车') typeName , + cpa.apply_type applyType, cpa.status_type statusType,cpa.user_name userName, pu.`NAME` nickName + from + car_plan_apply cpa + left join bm_project pro on pro.id = cpa.pro_id + left join pm_user pu ON cpa.creator = pu.ID + where + 1 = 1 + + and cpa.apply_type=#{applyType} + + + + AND cpa.status = 1 AND cpa.status_type != 1 + + + AND cpa.status = 1 AND cpa.status_type = 1 + + + AND cpa.status = 3 + + + + and ( + cpa.code like concat('%',#{keyWord},'%') or + cpa.user_name like concat('%',#{keyWord},'%') or + cpa.project_part like concat('%',#{keyWord},'%') or + cpa.project_content like concat('%',#{keyWord},'%') or + cpa.remark like concat('%',#{keyWord},'%') or + pro.name like concat('%',#{keyWord},'%') + ) + + ORDER BY + cpa.create_time desc + + + + + + \ No newline at end of file diff --git a/src/main/resources/mappers/business/backstage/CarPlanAuditMapper.xml b/src/main/resources/mappers/business/backstage/CarPlanAuditMapper.xml index 03097c6..01bde4d 100644 --- a/src/main/resources/mappers/business/backstage/CarPlanAuditMapper.xml +++ b/src/main/resources/mappers/business/backstage/CarPlanAuditMapper.xml @@ -13,7 +13,7 @@ where id=#{id} - select cpa.id, cpa.code, cpa.type , cpa.pro_id proId, cpa.project_part projectPart, cpa.project_content projectContent, cpa.need_time needTime, cpa.creator,DATE_FORMAT(cpa.create_time,'%Y-%m-%d') appLyTime,pro.name proName, @@ -29,10 +29,11 @@ WHEN cpa.status_type = '0' AND cpa.status = '0' then '已撤回' END AS auditStatus,cpa.create_time createTime, cpa.remark, cpa.status, cpa.updater, cpa.update_time updateTime, - if(cpa.type=1,'车辆','吊车') typeName , + if(cpa.type=1,'车辆','吊车') typeName , pu.NAME as nickName, cpa.apply_type applyType, cpa.status_type statusType,cpa.user_name userName from car_plan_apply cpa - left join bm_project pro on pro.id=cpa.pro_id + left join bm_project pro on pro.id=cpa.pro_id + left join pm_user pu ON cpa.creator = pu.ID where 1=1 and cpa.apply_type=0 and status = 1 and status_type != 1