diff --git a/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java b/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java index 8f84dcd..ffa8e9f 100644 --- a/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java +++ b/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java @@ -213,9 +213,9 @@ public class WorkBenchesController extends BladeController { BladeUser bladeUser = AuthUtil.getUser(); List users = null; if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) { - users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getStatus, 1).eq(User::getParentDeptId,bladeUser.getDeptId()).isNotNull(User::getAddressLon).isNotNull(User::getDeptName)); + users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getStatus, 1).eq(User::getParentDeptId,bladeUser.getDeptId()).isNotNull(User::getAddressLon).isNotNull(User::getDeptName).ne(User::getAddressLon,"")); }else{ - users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getStatus, 1).isNotNull(User::getAddressLon).isNotNull(User::getDeptName)); + users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getStatus, 1).isNotNull(User::getAddressLon).isNotNull(User::getDeptName).ne(User::getAddressLon,"")); } Map map = new HashMap<>(); for (User user : users) { @@ -281,11 +281,11 @@ public class WorkBenchesController extends BladeController { LocalDate now = LocalDate.now(); // 本月已办结-需求提报 - int monthCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, KF_TICKET_FINISH.getValue()).between(WorkOrder::getSignatureTime, getMonthStartAsDate(now), getMonthEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds)); + int monthCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).in(WorkOrder::getStatus, KF_TICKET_FINISH.getValue(),KF_ORDER_CLOSE.getValue()).between(WorkOrder::getSignatureTime, getMonthStartAsDate(now), getMonthEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds)); // 本月已办结-巡检任务 int monthCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).between(MaintenanceTask::getFinishTime, getMonthStartAsDate(now), getMonthEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds)); // 今年已办结-需求提报 - int yearCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, KF_TICKET_FINISH.getValue()).between(WorkOrder::getSignatureTime, getYearStartAsDate(now), getYearEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds)); + int yearCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).in(WorkOrder::getStatus, KF_TICKET_FINISH.getValue(),KF_ORDER_CLOSE.getValue()).between(WorkOrder::getSignatureTime, getYearStartAsDate(now), getYearEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds)); // 今年已办结-巡检任务 int yearCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).between(MaintenanceTask::getFinishTime, getYearStartAsDate(now), getYearEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds)); diff --git a/src/main/java/org/springblade/modules/business/contraller/supplies/ApplyController.java b/src/main/java/org/springblade/modules/business/contraller/supplies/ApplyController.java index 440a620..5a2b362 100644 --- a/src/main/java/org/springblade/modules/business/contraller/supplies/ApplyController.java +++ b/src/main/java/org/springblade/modules/business/contraller/supplies/ApplyController.java @@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import jakarta.validation.Valid; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.time.DateFormatUtils; +import org.springblade.common.cache.DeptCache; import org.springblade.common.cache.UserCache; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.base.BaseEntity; @@ -27,7 +29,9 @@ import org.springblade.modules.business.service.IWorkOrderService; import org.springblade.modules.business.service.supplies.IApplyDetailService; import org.springblade.modules.business.service.supplies.IApplyService; import org.springblade.modules.business.service.supplies.IGoodsService; +import org.springblade.modules.system.pojo.entity.Dept; import org.springblade.modules.system.pojo.entity.User; +import org.springblade.modules.system.service.IDeptService; import org.springframework.web.bind.annotation.*; import java.util.Date; @@ -49,6 +53,7 @@ public class ApplyController extends BladeController { private final IApplyDetailService applyDetailService; private final IGoodsService goodsService; private final IWorkOrderService workOrderService; + private final IDeptService deptService; /** * 物品申领表 详情 @@ -71,8 +76,15 @@ public class ApplyController extends BladeController { wrapper.eq(apply.getIsReturn() != null, Apply::getIsReturn, apply.getIsReturn()); wrapper.eq(StringUtils.isNotBlank(apply.getApplyUser()), Apply::getApplyUser, apply.getApplyUser()); if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) { - if(user.getRoleName().contains("库管员") || user.getRoleName().contains("维修负责人")){ - wrapper.eq(BaseEntity::getCreateDept,user.getDeptId()); + if(user.getRoleName().contains("客服") || user.getRoleName().contains("库管员") || user.getRoleName().contains("维修负责人")){ + List deptIds = null; + String deptId = user.getDeptId(); + List deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0)); + if(CollectionUtil.isNotEmpty(deptList)){ + deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList()); + } + deptIds.add(deptId); + wrapper.in(BaseEntity::getCreateDept,deptIds); }else{ wrapper.eq(Apply::getApplyUserId,user.getUserId()); } @@ -94,13 +106,23 @@ public class ApplyController extends BladeController { WorkOrder order = workOrderService.getById(record.getWorkId()); if(order != null){ record.setRequirementCode(order.getRequirementCode()); + Dept dept = DeptCache.getDept(order.getReportUnit()); + record.setReportUnitName(dept.getDeptName()); } } - List ids = records.stream().map(Apply::getId).collect(Collectors.toList()); - List details = applyDetailService.list(Wrappers.lambdaQuery(ApplyDetail.class).in(ApplyDetail::getApplyId, ids)); - for (Apply record : records) { - record.setDetails(details.stream().filter(applyDetail -> applyDetail.getApplyId().equals(record.getId())).collect(Collectors.toList())); + if(StringUtils.isNotEmpty(apply.getReportUnitName())){ + records = records.stream().filter(record -> StringUtils.isNotEmpty(record.getReportUnitName())&&record.getReportUnitName().contains(apply.getReportUnitName())).collect(Collectors.toList()); + pages.setTotal(records.size()); + pages.setRecords(records); + } + if(CollectionUtil.isNotEmpty(records)){ + List ids = records.stream().map(Apply::getId).collect(Collectors.toList()); + List details = applyDetailService.list(Wrappers.lambdaQuery(ApplyDetail.class).in(ApplyDetail::getApplyId, ids)); + for (Apply record : records) { + record.setDetails(details.stream().filter(applyDetail -> applyDetail.getApplyId().equals(record.getId())).collect(Collectors.toList())); + } } + } return R.data(pages); } @@ -114,10 +136,10 @@ public class ApplyController extends BladeController { // User user = UserCache.getUser(AuthUtil.getUserId()); List details = apply.getDetails(); // apply.setApplyTime(new Date()); -// apply.setApplyUserId(user.getId()); +// apply.setApplyUserId(user.getId());0 // apply.setApplyUser(user.getRealName()); apply.setIsUpdate(-1); - apply.setCode("编码格式待定"); + apply.setCode("SL-" + DateFormatUtils.format(new Date(),"yyyyMMddHHmmss")); apply.setApplyTypeNum(details.size()); long count = details.stream().filter(applyDetail -> applyDetail.getReturnTime() != null).count(); apply.setIsReturn(count > 0 ? 1 : 0); diff --git a/src/main/java/org/springblade/modules/business/contraller/supplies/ApplyDetailController.java b/src/main/java/org/springblade/modules/business/contraller/supplies/ApplyDetailController.java new file mode 100644 index 0000000..25110d4 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/contraller/supplies/ApplyDetailController.java @@ -0,0 +1,63 @@ +package org.springblade.modules.business.contraller.supplies; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import jakarta.validation.Valid; +import lombok.AllArgsConstructor; +import org.checkerframework.checker.units.qual.A; +import org.springblade.common.cache.UserCache; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.mp.base.BaseEntity; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.CollectionUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.modules.business.pojo.dto.supplies.ApplyDTO; +import org.springblade.modules.business.pojo.entity.supplies.Apply; +import org.springblade.modules.business.pojo.entity.supplies.ApplyDetail; +import org.springblade.modules.business.pojo.entity.supplies.Goods; +import org.springblade.modules.business.pojo.entity.workorder.WorkOrder; +import org.springblade.modules.business.pojo.vo.supplies.ApplyDetailVO; +import org.springblade.modules.business.service.IWorkOrderService; +import org.springblade.modules.business.service.supplies.IApplyDetailService; +import org.springblade.modules.business.service.supplies.IApplyService; +import org.springblade.modules.business.service.supplies.IGoodsService; +import org.springblade.modules.system.pojo.entity.User; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 物品申领表 控制器 + * + * @author BladeX + * @since 2024-10-17 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/applyDetail") +public class ApplyDetailController extends BladeController { + + private final IApplyDetailService applyDetailService; + + + /** + * 物品申领表 分页 + */ + @GetMapping("/list") + public R> list(ApplyDetailVO applyDetail, Query query) { + IPage pages = applyDetailService.selectApplyDetailPage(Condition.getPage(query), applyDetail); + + return R.data(pages); + } + + +} diff --git a/src/main/java/org/springblade/modules/business/mapper/ApplyDetailMapper.xml b/src/main/java/org/springblade/modules/business/mapper/ApplyDetailMapper.xml index cbcc988..a34367f 100644 --- a/src/main/java/org/springblade/modules/business/mapper/ApplyDetailMapper.xml +++ b/src/main/java/org/springblade/modules/business/mapper/ApplyDetailMapper.xml @@ -34,8 +34,36 @@ - + SELECT + a.apply_num, + a.product_code, + a.product_name, + a.brand, + a.xh, + a.rule, + a.return_num, + a.is_return, + a.is_ck, + a.out_num, + a.danger, + b.code as "applyCode", + b.apply_user, + b.apply_type_num, + b.apply_time, + b.status, + c.requirement_code, + d.dept_name as "reportUnitName" + FROM + lab_apply_detail a + LEFT JOIN lab_apply b ON a.apply_id = b.id + LEFT JOIN lab_work_order c on b.work_id = c.id + LEFT JOIN blade_dept d on c.report_unit = d.id + WHERE + a.is_deleted = 0 + + and a.product_code = #{applyDetail.productCode} + diff --git a/src/main/java/org/springblade/modules/business/pojo/entity/supplies/Apply.java b/src/main/java/org/springblade/modules/business/pojo/entity/supplies/Apply.java index c1ac538..ffa2b58 100644 --- a/src/main/java/org/springblade/modules/business/pojo/entity/supplies/Apply.java +++ b/src/main/java/org/springblade/modules/business/pojo/entity/supplies/Apply.java @@ -99,5 +99,8 @@ public class Apply extends BaseEntity { List details; @TableField(exist = false) - private String requirementCode;; + private String requirementCode; + + @TableField(exist = false) + private String reportUnitName; } diff --git a/src/main/java/org/springblade/modules/business/pojo/vo/supplies/ApplyDetailVO.java b/src/main/java/org/springblade/modules/business/pojo/vo/supplies/ApplyDetailVO.java index 5b1c6d8..fe465c6 100644 --- a/src/main/java/org/springblade/modules/business/pojo/vo/supplies/ApplyDetailVO.java +++ b/src/main/java/org/springblade/modules/business/pojo/vo/supplies/ApplyDetailVO.java @@ -20,6 +20,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.modules.business.pojo.entity.supplies.ApplyDetail; +import java.util.Date; + /** * 物品申领表明细 视图实体类 * @@ -31,4 +33,15 @@ import org.springblade.modules.business.pojo.entity.supplies.ApplyDetail; public class ApplyDetailVO extends ApplyDetail { private static final long serialVersionUID = 1L; + private String applyUser; + + private Integer applyTypeNum; + + private Date applyTime; + + private String requirementCode; + + private String reportUnitName; + + } diff --git a/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java index 86e3efc..b861767 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java @@ -153,7 +153,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workOrders) { String role = "1839536982874193922"; List customerServiceList = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getRoleId, role)); - SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); Date now = DateUtil.date(); String todayStr = format.format(now); @@ -197,7 +197,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workOrders) { - SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); Date now = DateUtil.date(); String todayStr = format.format(now); @@ -229,7 +229,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workOrders) { - SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); Date now = DateUtil.date(); String todayStr = format.format(now); @@ -250,6 +250,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl #{item} diff --git a/src/main/java/org/springblade/modules/system/pojo/entity/User.java b/src/main/java/org/springblade/modules/system/pojo/entity/User.java index e4e33f8..eb264f2 100644 --- a/src/main/java/org/springblade/modules/system/pojo/entity/User.java +++ b/src/main/java/org/springblade/modules/system/pojo/entity/User.java @@ -26,6 +26,8 @@ package org.springblade.modules.system.pojo.entity; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.NullSerializer; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.tenant.mp.TenantEntity; @@ -89,6 +91,7 @@ public class User extends TenantEntity { /** * 性别 */ + @JsonSerialize(nullsUsing = NullSerializer.class) private Integer sex; /** * 角色id diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 8c9f59b..73cf5dc 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -220,7 +220,6 @@ blade: - /blade-test/** - /blade-system/user/register/** - /lab-ops/invoice-apply/** - - /** #授权认证配置 auth: - method: ALL