功能修改

master
sunjianxi 1 year ago
parent ea920b0576
commit 1ffd6befdf
  1. 8
      src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java
  2. 30
      src/main/java/org/springblade/modules/business/contraller/supplies/ApplyController.java
  3. 63
      src/main/java/org/springblade/modules/business/contraller/supplies/ApplyDetailController.java
  4. 32
      src/main/java/org/springblade/modules/business/mapper/ApplyDetailMapper.xml
  5. 5
      src/main/java/org/springblade/modules/business/pojo/entity/supplies/Apply.java
  6. 13
      src/main/java/org/springblade/modules/business/pojo/vo/supplies/ApplyDetailVO.java
  7. 24
      src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java
  8. 3
      src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
  9. 3
      src/main/java/org/springblade/modules/system/pojo/entity/User.java
  10. 1
      src/main/resources/application.yml

@ -213,9 +213,9 @@ public class WorkBenchesController extends BladeController {
BladeUser bladeUser = AuthUtil.getUser(); BladeUser bladeUser = AuthUtil.getUser();
List<User> users = null; List<User> users = null;
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) { 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{ }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<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
for (User user : users) { for (User user : users) {
@ -281,11 +281,11 @@ public class WorkBenchesController extends BladeController {
LocalDate now = LocalDate.now(); 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 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)); 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));

@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import lombok.AllArgsConstructor; 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.common.cache.UserCache;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.base.BaseEntity; 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.IApplyDetailService;
import org.springblade.modules.business.service.supplies.IApplyService; import org.springblade.modules.business.service.supplies.IApplyService;
import org.springblade.modules.business.service.supplies.IGoodsService; 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.pojo.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Date; import java.util.Date;
@ -49,6 +53,7 @@ public class ApplyController extends BladeController {
private final IApplyDetailService applyDetailService; private final IApplyDetailService applyDetailService;
private final IGoodsService goodsService; private final IGoodsService goodsService;
private final IWorkOrderService workOrderService; 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(apply.getIsReturn() != null, Apply::getIsReturn, apply.getIsReturn());
wrapper.eq(StringUtils.isNotBlank(apply.getApplyUser()), Apply::getApplyUser, apply.getApplyUser()); wrapper.eq(StringUtils.isNotBlank(apply.getApplyUser()), Apply::getApplyUser, apply.getApplyUser());
if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) { if (!user.getRoleName().contains("administrator") && !user.getRoleName().contains("admin")) {
if(user.getRoleName().contains("库管员") || user.getRoleName().contains("维修负责人")){ if(user.getRoleName().contains("客服") || user.getRoleName().contains("库管员") || user.getRoleName().contains("维修负责人")){
wrapper.eq(BaseEntity::getCreateDept,user.getDeptId()); List<String> deptIds = null;
String deptId = user.getDeptId();
List<Dept> 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{ }else{
wrapper.eq(Apply::getApplyUserId,user.getUserId()); wrapper.eq(Apply::getApplyUserId,user.getUserId());
} }
@ -94,14 +106,24 @@ public class ApplyController extends BladeController {
WorkOrder order = workOrderService.getById(record.getWorkId()); WorkOrder order = workOrderService.getById(record.getWorkId());
if(order != null){ if(order != null){
record.setRequirementCode(order.getRequirementCode()); record.setRequirementCode(order.getRequirementCode());
Dept dept = DeptCache.getDept(order.getReportUnit());
record.setReportUnitName(dept.getDeptName());
}
} }
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<Long> ids = records.stream().map(Apply::getId).collect(Collectors.toList()); List<Long> ids = records.stream().map(Apply::getId).collect(Collectors.toList());
List<ApplyDetail> details = applyDetailService.list(Wrappers.lambdaQuery(ApplyDetail.class).in(ApplyDetail::getApplyId, ids)); List<ApplyDetail> details = applyDetailService.list(Wrappers.lambdaQuery(ApplyDetail.class).in(ApplyDetail::getApplyId, ids));
for (Apply record : records) { for (Apply record : records) {
record.setDetails(details.stream().filter(applyDetail -> applyDetail.getApplyId().equals(record.getId())).collect(Collectors.toList())); record.setDetails(details.stream().filter(applyDetail -> applyDetail.getApplyId().equals(record.getId())).collect(Collectors.toList()));
} }
} }
}
return R.data(pages); return R.data(pages);
} }
@ -114,10 +136,10 @@ public class ApplyController extends BladeController {
// User user = UserCache.getUser(AuthUtil.getUserId()); // User user = UserCache.getUser(AuthUtil.getUserId());
List<ApplyDetail> details = apply.getDetails(); List<ApplyDetail> details = apply.getDetails();
// apply.setApplyTime(new Date()); // apply.setApplyTime(new Date());
// apply.setApplyUserId(user.getId()); // apply.setApplyUserId(user.getId());0
// apply.setApplyUser(user.getRealName()); // apply.setApplyUser(user.getRealName());
apply.setIsUpdate(-1); apply.setIsUpdate(-1);
apply.setCode("编码格式待定"); apply.setCode("SL-" + DateFormatUtils.format(new Date(),"yyyyMMddHHmmss"));
apply.setApplyTypeNum(details.size()); apply.setApplyTypeNum(details.size());
long count = details.stream().filter(applyDetail -> applyDetail.getReturnTime() != null).count(); long count = details.stream().filter(applyDetail -> applyDetail.getReturnTime() != null).count();
apply.setIsReturn(count > 0 ? 1 : 0); apply.setIsReturn(count > 0 ? 1 : 0);

@ -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<IPage<ApplyDetailVO>> list(ApplyDetailVO applyDetail, Query query) {
IPage<ApplyDetailVO> pages = applyDetailService.selectApplyDetailPage(Condition.getPage(query), applyDetail);
return R.data(pages);
}
}

@ -34,8 +34,36 @@
</resultMap> </resultMap>
<select id="selectApplyDetailPage" resultMap="applyDetailResultMap"> <select id="selectApplyDetailPage" resultType="org.springblade.modules.business.pojo.vo.supplies.ApplyDetailVO">
select * from lab_apply_detail where is_deleted = 0 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
<if test="applyDetail.productCode != null and applyDetail.productCode !=''">
and a.product_code = #{applyDetail.productCode}
</if>
</select> </select>

@ -99,5 +99,8 @@ public class Apply extends BaseEntity {
List<ApplyDetail> details; List<ApplyDetail> details;
@TableField(exist = false) @TableField(exist = false)
private String requirementCode;; private String requirementCode;
@TableField(exist = false)
private String reportUnitName;
} }

@ -20,6 +20,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.modules.business.pojo.entity.supplies.ApplyDetail; 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 { public class ApplyDetailVO extends ApplyDetail {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String applyUser;
private Integer applyTypeNum;
private Date applyTime;
private String requirementCode;
private String reportUnitName;
} }

@ -153,7 +153,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
public boolean saveAndSubmit(List<WorkOrderVO> workOrders) { public boolean saveAndSubmit(List<WorkOrderVO> workOrders) {
String role = "1839536982874193922"; String role = "1839536982874193922";
List<User> customerServiceList = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getRoleId, role)); List<User> 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(); Date now = DateUtil.date();
String todayStr = format.format(now); String todayStr = format.format(now);
@ -197,7 +197,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Synchronized @Synchronized
public boolean serviceSave(List<WorkOrderVO> workOrders) { public boolean serviceSave(List<WorkOrderVO> workOrders) {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
Date now = DateUtil.date(); Date now = DateUtil.date();
String todayStr = format.format(now); String todayStr = format.format(now);
@ -229,7 +229,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Synchronized @Synchronized
public boolean serviceSaveAndSubmit(List<WorkOrderVO> workOrders) { public boolean serviceSaveAndSubmit(List<WorkOrderVO> workOrders) {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
Date now = DateUtil.date(); Date now = DateUtil.date();
String todayStr = format.format(now); String todayStr = format.format(now);
@ -250,6 +250,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
// 保存附件 // 保存附件
saveFiles(workOrder.getVideoAttaches(), workOrder.getPicAttaches(), workOrder.getId()); saveFiles(workOrder.getVideoAttaches(), workOrder.getPicAttaches(), workOrder.getId());
LogUtil.saveLog(workOrder.getRequirementCode(), WorkOrderStatusEnum.KF_ORDER_SUBMIT.getName());
} }
return save; return save;
} }
@ -641,10 +643,18 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} }
User repairPerson = userService.getOne(Wrappers.lambdaQuery(User.class).eq(User::getId, workOrder.getRepairPerson())); User repairPerson = userService.getOne(Wrappers.lambdaQuery(User.class).eq(User::getId, workOrder.getRepairPerson()));
User customer = userService.getOne(Wrappers.lambdaQuery(User.class).eq(User::getId, workOrder.getInformant())); User customer = userService.getOne(Wrappers.lambdaQuery(User.class).eq(User::getId, workOrder.getInformant()));
if(customer != null){
map.put("customerName", customer.getRealName()); map.put("customerName", customer.getRealName());
map.put("informant", customer.getRealName()); map.put("informant", customer.getRealName());
map.put("informantPhone", customer.getPhone()); map.put("informantPhone", customer.getPhone());
map.put("address", customer.getAddress()); map.put("address", customer.getAddress());
}else{
map.put("customerName", "");
map.put("informant", "");
map.put("informantPhone", "");
map.put("address", "");
}
map.put("faultDescribe", workOrder.getFaultDescribe()); map.put("faultDescribe", workOrder.getFaultDescribe());
map.put("faultCause", workOrder.getFaultCause()); map.put("faultCause", workOrder.getFaultCause());
map.put("total", total); map.put("total", total);
@ -760,10 +770,18 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} }
User repairPerson = userService.getOne(Wrappers.lambdaQuery(User.class).eq(User::getId, workOrder.getRepairPerson())); User repairPerson = userService.getOne(Wrappers.lambdaQuery(User.class).eq(User::getId, workOrder.getRepairPerson()));
User customer = userService.getOne(Wrappers.lambdaQuery(User.class).eq(User::getId, workOrder.getInformant())); User customer = userService.getOne(Wrappers.lambdaQuery(User.class).eq(User::getId, workOrder.getInformant()));
if(customer != null){
map.put("customerName", customer.getRealName()); map.put("customerName", customer.getRealName());
map.put("informant", customer.getRealName()); map.put("informant", customer.getRealName());
map.put("informantPhone", customer.getPhone()); map.put("informantPhone", customer.getPhone());
map.put("address", customer.getAddress()); map.put("address", customer.getAddress());
}else{
map.put("customerName", "");
map.put("informant", "");
map.put("informantPhone", "");
map.put("address", "");
}
map.put("faultDescribe", workOrder.getFaultDescribe()); map.put("faultDescribe", workOrder.getFaultDescribe());
map.put("faultCause", workOrder.getFaultCause()); map.put("faultCause", workOrder.getFaultCause());
map.put("total", total); map.put("total", total);

@ -55,7 +55,8 @@
FROM FROM
blade_user_dept blade_user_dept
WHERE WHERE
dept_id IN is_deleted = 0
and dept_id IN
<foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")"> <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>

@ -26,6 +26,8 @@
package org.springblade.modules.system.pojo.entity; package org.springblade.modules.system.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName; 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.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity; import org.springblade.core.tenant.mp.TenantEntity;
@ -89,6 +91,7 @@ public class User extends TenantEntity {
/** /**
* 性别 * 性别
*/ */
@JsonSerialize(nullsUsing = NullSerializer.class)
private Integer sex; private Integer sex;
/** /**
* 角色id * 角色id

@ -220,7 +220,6 @@ blade:
- /blade-test/** - /blade-test/**
- /blade-system/user/register/** - /blade-system/user/register/**
- /lab-ops/invoice-apply/** - /lab-ops/invoice-apply/**
- /**
#授权认证配置 #授权认证配置
auth: auth:
- method: ALL - method: ALL

Loading…
Cancel
Save