diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java index 568b5f20..98329b21 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java @@ -176,6 +176,9 @@ public class BackApplyInfo implements Serializable { @ApiModelProperty(value="二维码") private String qrCode; + @ApiModelProperty(value = "审批人签名类型 手写0 和 图片上传1") + private int directAuditSignType; + @ApiModelProperty(value = "审批人人签名URL") private String directAuditSignUrl; @@ -212,4 +215,10 @@ public class BackApplyInfo implements Serializable { @ApiModelProperty(value = "退料方式(1 直退,2 数据同步)") private String backStyle; + + @ApiModelProperty(value = "制单人签名地址") + private String signUrl; + + @ApiModelProperty(value = "制单人签名类型 手写0 和 图片上传1") + private int signType; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java index d79a8cc3..21ce84d0 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java @@ -334,7 +334,7 @@ public interface BackApplyInfoMapper { Long getDirectAuditBy(); /** 设置审批人签名url 防止代码冲突 **/ - String getDirectAuditUrl(BackApplyInfo backApplyInfo); + BackApplyInfo getDirectAuditUrl(BackApplyInfo backApplyInfo); /** * 根据任务id查询是否有签名 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java index aa32d929..8c3aea8d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java @@ -112,16 +112,32 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { if (CollectionUtils.isEmpty(typeIdList)) { backApplyInfo.setUserId(userId == 0 ? null : userId); } - - /** 设置审批人签名url 防止代码冲突 **/ - String directAuditUrl = backApplyInfoMapper.getDirectAuditUrl(backApplyInfo); - backApplyInfo.setDirectAuditSignUrl(directAuditUrl); - /** 设置审批人签名url 防止代码冲突 **/ + + // 设置审批人签名url,目前固定查询夏成刚签名信息 + BackApplyInfo info = backApplyInfoMapper.getDirectAuditUrl(backApplyInfo); + if (info != null && StringUtils.isNotBlank(info.getDirectAuditSignUrl())) { + backApplyInfo.setDirectAuditSignType(info.getDirectAuditSignType()); + if (!info.getDirectAuditSignUrl().startsWith("http")) { + backApplyInfo.setDirectAuditSignUrl("data:image/png;base64," + info.getDirectAuditSignUrl()); + } else { + backApplyInfo.setDirectAuditSignUrl(info.getDirectAuditSignUrl()); + } + } + + // 设置退料人签名url if (StringUtils.isNotBlank(backApplyInfo.getBackSignUrl())) { if (!backApplyInfo.getBackSignUrl().startsWith("http")) { backApplyInfo.setBackSignUrl("data:image/png;base64," + backApplyInfo.getBackSignUrl()); } } + + // 设置制单人签名url + if (StringUtils.isNotBlank(backApplyInfo.getSignUrl())) { + if (!backApplyInfo.getSignUrl().startsWith("http")) { + backApplyInfo.setSignUrl("data:image/png;base64," + backApplyInfo.getBackSignUrl()); + } + } + backApplyRequestVo.setBackApplyInfo(backApplyInfo); //查询退料详情信息 @@ -583,7 +599,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { tmTask.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); BackApplyInfo backApplyInfo = dto.getBackApplyInfo(); backApplyInfo.setCode(code); - backApplyInfo.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); + backApplyInfo.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString()); backApplyInfo.setCreateTime(DateUtils.getNowDate()); // 保存退料信息到 tm_task 表中 result += taskMapper.insertTmTask(tmTask); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java index da72773a..b0d20cf7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java @@ -63,6 +63,18 @@ public class LeaseApplyInfoController extends BaseController { return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); } + /** + * 统计时间段出库总数量 + * @param leaseApplyInfo + * @return + */ + @ApiOperation(value = "统计时间段出库总数量") + @GetMapping("/getOutNum") + public AjaxResult getOutNum(LeaseApplyInfo leaseApplyInfo) { + LeaseApplyInfo info = leaseApplyInfoService.getOutNum(leaseApplyInfo); + return AjaxResult.success(info); + } + /** * 查询已完成出库的任务 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java index 4bae96e3..cc35df4f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java @@ -202,4 +202,11 @@ public interface LeaseApplyInfoMapper { LeaseApplyInfo getUserPhoneById(LeaseApplyInfo item); LeaseApplyInfo getOutList(LeaseApplyInfo applyInfo); + + /** + * 统计时间段出库总数量 + * @param leaseApplyInfo + * @return + */ + LeaseApplyInfo getOutNum(LeaseApplyInfo leaseApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java index a6eb6264..13f362b2 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java @@ -178,4 +178,11 @@ public interface ILeaseApplyInfoService { LeaseApplyRequestVo getLeaseRequestVo(LeaseApplyDetails bean); List getConfirmTaskList(LeaseApplyInfo leaseApplyInfo); + + /** + * 统计时间段出库总数量 + * @param leaseApplyInfo + * @return + */ + LeaseApplyInfo getOutNum(LeaseApplyInfo leaseApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java index 764cca98..59b4c057 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java @@ -725,6 +725,8 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { List leaseApplyOutList = leaseApplyInfoMapper.selectPublish(leaseApplyInfo); if (!CollectionUtils.isEmpty(leaseApplyOutList)) { list.addAll(leaseApplyOutList); + } + if (!CollectionUtils.isEmpty(list)) { for (LeaseApplyInfo applyInfo : list) { // 根据id去查询出库数量 LeaseApplyInfo outList = leaseApplyInfoMapper.getOutList(applyInfo); @@ -767,38 +769,20 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { .filter(item -> containsKeyword(item, keyWord)) .collect(Collectors.toList()); } -// // 判断状态 -// if (!CollectionUtils.isEmpty(leaseApplyInfo.getStatusList())) { -// // 将集合sortedList中状态taskStatus包含在leaseApplyInfo.getStatusList()中的元素 -// sortedList = sortedList.stream() -// .filter(item -> leaseApplyInfo.getStatusList().contains(item.getTaskStatus())) -// .collect(Collectors.toList()); -// } } - sortedList.removeIf(Objects::isNull); - if (leaseApplyInfo.getIsConfirm() != null) { - if (leaseApplyInfo.getIsConfirm() == 1) { - for (LeaseApplyInfo item : sortedList) { - if(item.getPreCountNum().compareTo(item.getAlNum()) != 0){ - item.setIsConfirm(1); - }else{ - //查找签名的数量之和是否为 - - } - } -// sortedList.removeIf(item -> item.getIsConfirm() != null && item.getIsConfirm() == 2); - } else if (leaseApplyInfo.getIsConfirm() == 2) { - sortedList.removeIf(item -> item.getIsConfirm() == null || item.getIsConfirm() != 2); - } - } - // 再次移除可能的null值 - sortedList.removeIf(Objects::isNull); - // 只有出库完成的任务才需要进行确认,这里过滤掉任务状态不等于4(出库已完成)的 -// sortedList.removeIf(item -> item.getTaskStatus() != 4); - return sortedList; } + /** + * 统计时间段出库总数量 + * @param leaseApplyInfo + * @return + */ + @Override + public LeaseApplyInfo getOutNum(LeaseApplyInfo leaseApplyInfo) { + return leaseApplyInfoMapper.getOutNum(leaseApplyInfo); + } + /** * 关键字搜索 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java index 28497fc1..8d942350 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java @@ -72,7 +72,7 @@ public class PurchaseBindController extends BaseController { */ @ApiOperation(value = "编码绑定") @PreventRepeatSubmit - @RequiresPermissions("purchase:bind:add") + //@RequiresPermissions("purchase:bind:add") @PostMapping("/bind") public AjaxResult bind(@RequestBody @NotNull(message = "参数不能为空") PurchaseDto dto) { return purchaseBindService.bind(dto); @@ -120,7 +120,7 @@ public class PurchaseBindController extends BaseController { @ApiOperation(value = "二维码生成下载") @PostMapping(value = "/downloadQrCode") @PreventRepeatSubmit - @RequiresPermissions("purchase:bind:download") + //@RequiresPermissions("purchase:bind:download") public void downloadQrCode(HttpServletResponse response, PurchaseDto purchaseDto) { purchaseBindService.downloadQrCode(response, purchaseDto); } @@ -132,7 +132,7 @@ public class PurchaseBindController extends BaseController { */ @ApiOperation(value = "驳回或批量驳回操作") @PreventRepeatSubmit - @RequiresPermissions("purchase:bind:reject") + //@RequiresPermissions("purchase:bind:reject") @PostMapping("/reject") public AjaxResult reject(@RequestBody @NotNull(message = "参数不能为空") PurchaseDto dto) { return purchaseBindService.reject(dto); @@ -143,7 +143,7 @@ public class PurchaseBindController extends BaseController { */ @ApiOperation(value = "导出新购验收绑定详细列表") @PreventRepeatSubmit - @RequiresPermissions("purchase:bind:export") + //@RequiresPermissions("purchase:bind:export") @SysLog(title = "新购验收绑定任务", businessType = OperaType.EXPORT, module = "仓储管理->导出新购验收绑定任务") @PostMapping("/export") public void export(HttpServletResponse response, PurchaseDto dto) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java index 7920cb76..27cf21a9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java @@ -181,11 +181,6 @@ public class RepairServiceImpl implements RepairService { List repairDeviceSummaryVoList = new ArrayList<>(); List repairDeviceList = repairMapper.getRepairDeviceList(bean); if (CollectionUtil.isNotEmpty(repairDeviceList)) { - for (RepairDeviceVO repairDeviceVO : repairDeviceList) { - // 获取待修数量 - repairDeviceVO.setWaitRepairNum(repairDeviceVO.getRepairNum().subtract(repairDeviceVO.getRepairedNum() - .subtract(repairDeviceVO.getScrapNum()))); - } if (CollectionUtil.isNotEmpty(typeIdList)) { repairDeviceList = repairDeviceList.stream() .filter(item -> typeIdList.contains(item.getFirstId())) @@ -216,7 +211,7 @@ public class RepairServiceImpl implements RepairService { .filter(Objects::nonNull) .map(status -> "1".equals(status) ? 1 : 0) // 安全转换 .reduce(0, Integer::sum); - + BigDecimal waitRepairNum = repairNumSum.subtract(repairedNumSum).subtract(scrapNumSum); BigDecimal typeCostSum = tempList.stream().map(RepairDeviceVO::getTotalCost).reduce(BigDecimal.ZERO, BigDecimal::add); vo.setRepairDeviceList(tempList) .setIds(ids).setTypeRepairNum(repairNumSum).setTypeRepairedNum(repairedNumSum) @@ -226,7 +221,7 @@ public class RepairServiceImpl implements RepairService { .setUnitName(tempList.get(0).getUnitName()).setManageType(tempList.get(0).getManageType()) .setDataStatusNum(dataStatusSum) .setUnitValue(tempList.get(0).getUnitValue()) - .setWaitRepairNum(tempList.get(0).getWaitRepairNum()) + .setWaitRepairNum(waitRepairNum) .setTypeCost(typeCostSum); repairDeviceSummaryVoList.add(vo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/ScheduledTasks.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/ScheduledTasks.java index 5e3fcf43..7202848f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/ScheduledTasks.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/ScheduledTasks.java @@ -8,6 +8,7 @@ import com.bonus.common.biz.constant.BmConfigItems; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.utils.sms.SmsUtils; import com.bonus.material.back.domain.BackApplyInfo; +import com.bonus.material.back.mapper.BackApplyInfoMapper; import com.bonus.material.back.service.IBackApplyInfoService; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.config.ScheduledTaskRegistrar; @@ -31,7 +32,7 @@ public class ScheduledTasks { private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); @Resource - private IBackApplyInfoService backApplyInfoService; + private BackApplyInfoMapper backApplyInfoMapper; @Resource private ScheduledTaskRegistrar scheduledTaskRegistrar; @@ -76,8 +77,7 @@ public class ScheduledTasks { public void taskWithFixedRate() { log.info("开始执行退料人未签字任务"); BackApplyInfo info = new BackApplyInfo(); - info.setIsExport(false); - List list = backApplyInfoService.selectBackApplyInfoList(info); + List list = backApplyInfoMapper.selectBackApplyInfoList(info); // 用于标记是否有 BackSignUrl 为 null 的记录 boolean hasNullBackSignUrl = false; if (CollectionUtils.isNotEmpty(list)) { diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml index 967c06c8..9f8c514c 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml @@ -41,7 +41,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bu.unit_name as unitName, bai.back_time as backTime, tt.task_status as taskStatus, - bai.create_by as createBy, + CASE + WHEN bai.create_by REGEXP '^[0-9]+$' THEN su1.nick_name -- 如果是纯数字,使用昵称 + ELSE bai.create_by -- 否则直接使用create_by的值 + END AS createBy, bai.create_time as createTime, bai.back_sign_url as backSignUrl, bai.back_sign_type as backSignType, @@ -72,6 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join ma_type mt3 ON mt2.parent_id = mt3.type_id and mt3.del_flag = '0' left join ma_type mt4 ON mt3.parent_id = mt4.type_id and mt4.del_flag = '0' left join sys_user su on su.user_id = bai.material_man + left join sys_user su1 on su1.user_id = bai.create_by JOIN ma_type_repair mtr ON mtr.type_id = bad.type_id AND mtr.user_id = #{userId} @@ -157,7 +161,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bai.task_id AS taskId, bai.back_person AS backPerson, bai.phone AS phone, - bai.create_by AS createBy, + CASE + WHEN bai.create_by REGEXP '^[0-9]+$' THEN su.nick_name -- 如果是纯数字,使用昵称 + ELSE bai.create_by -- 否则直接使用create_by的值 + END AS createBy, bai.create_time AS createTime, bai.update_by AS updateBy, bai.update_time AS updateTime, @@ -171,7 +178,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bp.pro_name AS proName, bai.direct_audit_by AS directAuditBy, bai.back_sign_url AS backSignUrl, - bai.back_sign_type AS backSignType + bai.back_sign_type AS backSignType, + su.sign_type AS signType, + su.sign_url AS signUrl FROM back_apply_info bai LEFT JOIN tm_task_agreement tta ON bai.task_id = tta.task_id @@ -181,6 +190,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND bu.del_flag = '0' LEFT JOIN bm_project bp ON ba.project_id = bp.pro_id AND bp.del_flag = '0' + LEFT JOIN sys_user su ON su.user_id = bai.create_by WHERE bai.id = #{id} @@ -853,13 +863,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where sc.process_id = 1 and sc.sign_type = 0 and sc.del_flag = 0 - - + + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml index 718d962b..6fd696d1 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml @@ -49,7 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" lai.company_audit_time, lai.company_audit_remark, lai.dept_audit_by, lai.dept_audit_time, lai.dept_audit_remark, lai.direct_audit_by, lai.direct_audit_time, lai.direct_audit_remark, lai.create_by, lai.create_time, lai.update_by, lai.update_time, lai.remark, lai.company_id, - lai.direct_id, lai.lease_type, lai.estimate_lease_time, lai.cost_bearing_party, lai.lease_sign_url, lai.lease_sign_type, + lai.direct_id, lai.lease_type, lai.estimate_lease_time, lai.cost_bearing_party, lai.material_man, lai.confirm_time, lai.is_confirm, lai.confirm_remark, bai.unit_id,bai.project_id,bu.unit_name, bp.pro_name, bai.agreement_code, tt.task_status as taskStatus, sda.dict_label as taskStatusName, @@ -472,7 +472,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" lai.company_audit_time, lai.company_audit_remark, lai.dept_audit_by as directAuditBy, lai.dept_audit_time, lai.dept_audit_remark, lai.direct_audit_by, lai.direct_audit_time, lai.direct_audit_remark, lai.create_by, DATE_FORMAT(lai.create_time, '%Y-%m-%d') as createTime, lai.update_by, lai.update_time, lai.remark, lai.company_id, - lai.direct_id, lai.lease_type, lai.estimate_lease_time, lai.cost_bearing_party, lai.lease_sign_url as leaseSignUrl, lai.lease_sign_type as leaseSignType, + lai.direct_id, lai.lease_type, lai.estimate_lease_time, lai.cost_bearing_party, lai.material_man, lai.confirm_time, lai.is_confirm, lai.confirm_remark, bai.unit_id,bai.project_id,bu.unit_name as unitName, bp.pro_name as projectName,bp.external_id as externalId, bai.agreement_code as agreementCode, tt.task_status as taskStatus, sda.dict_label as taskStatusName, @@ -486,8 +486,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bp.contract_part as contractPart, sd.dept_name as impUnitName, tt.task_type as taskType, - su.sign_type as lease_sign_type, - su.sign_url as lease_sign_url + su.sign_type as leaseSignType, + su.sign_url as leaseSignUrl from lease_apply_info lai left join tm_task tt on lai.task_id = tt.task_id @@ -858,4 +858,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE bai.unit_id = #{teamId} AND bai.project_id = #{projectId} + +