Merge branch 'master' of http://192.168.0.75:3000/bonus/Bonus-Cloud-Material
This commit is contained in:
commit
38421b6367
|
|
@ -144,6 +144,7 @@ public class StoreLogAspect {
|
|||
bmStorageLog.setManageType(String.valueOf(leaseOutDetails.getManageType()));
|
||||
bmStorageLog.setTypeModelName(leaseOutDetails.getTypeName());
|
||||
bmStorageLog.setPreStoreNum(leaseOutDetails.getPreStoreNum());
|
||||
bmStorageLog.setAgreementId(leaseOutDetails.getAgreementId());
|
||||
//数量类型设备
|
||||
if (leaseOutDetails.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) {
|
||||
bmStorageLog.setOutNum(leaseOutDetails.getInputNum());
|
||||
|
|
|
|||
|
|
@ -88,6 +88,11 @@ public class MaterialConstants {
|
|||
/** 配件领料单号的开头字母 */
|
||||
public static final String PART_LEASE_TASK_TYPE_LEASE = "LP";
|
||||
|
||||
/**
|
||||
* 领用发布
|
||||
*/
|
||||
public static final String LEASE_PUBLISH = "LF";
|
||||
|
||||
/**
|
||||
* 内部单位协议
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -265,4 +265,29 @@ public class LeaseApplyInfo extends BaseEntity{
|
|||
|
||||
@ApiModelProperty(value = "公司名称")
|
||||
private String companyName;
|
||||
|
||||
@ApiModelProperty(value = "本流程节点id")
|
||||
private Integer nodeId;
|
||||
|
||||
@ApiModelProperty(value = "下个流程节点id")
|
||||
private Integer nextNodeId;
|
||||
|
||||
@ApiModelProperty(value = "流程配置值")
|
||||
private String configValue;
|
||||
|
||||
@ApiModelProperty(value = "所属记录")
|
||||
private Integer recordId;
|
||||
|
||||
@ApiModelProperty(value = "设备编码")
|
||||
private String maCode;
|
||||
|
||||
@ApiModelProperty(value = "设备id")
|
||||
private Long maId;
|
||||
|
||||
@ApiModelProperty(value = "流程节点签名方式 0:或签 1:会签")
|
||||
private Integer nodeSignType;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "发布批次")
|
||||
private String publishTask;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,4 +99,10 @@ public class LeaseOutDetails extends BaseEntity {
|
|||
|
||||
/** 类型名称 */
|
||||
private String typeModelName;
|
||||
|
||||
@ApiModelProperty(value = "发布批次")
|
||||
private String publishTask;
|
||||
|
||||
@ApiModelProperty(value = "协议id")
|
||||
private Long agreementId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ public enum LeaseTaskStatusEnum {
|
|||
LEASE_TASK_ZERO(0, "待审核"),
|
||||
LEASE_TASK_SUBMIT(5, "待提交"),
|
||||
LEASE_TASK_TO_PUBLISHED(1, "待发布"),
|
||||
LEASE_TASK_TO_AUDIT(2, "待审核"),
|
||||
LEASE_TASK_TO_AUDIT(2, "已终结"),
|
||||
LEASE_TASK_IN_PROGRESS(3, "出库进行中"),
|
||||
LEASE_TASK_FINISHED(4, "出库已完成");
|
||||
private final Integer status;
|
||||
|
|
|
|||
|
|
@ -98,4 +98,13 @@ public class OutRecordInfo {
|
|||
|
||||
@ApiModelProperty(value = "装备管理方式")
|
||||
private String manageType;
|
||||
|
||||
@ApiModelProperty(value = "三级ID")
|
||||
private Integer thirdTypeId;
|
||||
|
||||
@ApiModelProperty(value = "二级ID")
|
||||
private Integer secondTypeId;
|
||||
|
||||
@ApiModelProperty(value = "一级ID")
|
||||
private Integer firstTypeId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,8 +73,9 @@ public class LeaseApplyInfoController extends BaseController {
|
|||
//@RequiresPermissions("lease:info:query")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@NotNull(message = "领料任务ID不能为空") @PathVariable("id") Long id,
|
||||
@RequestParam(value = "keyWord", required = false) String keyWord) {
|
||||
return success(leaseApplyInfoService.selectLeaseApplyInfoById(id, keyWord));
|
||||
@RequestParam(value = "keyWord", required = false) String keyWord,
|
||||
@RequestParam(value = "publishTask", required = false) String publishTask) {
|
||||
return success(leaseApplyInfoService.selectLeaseApplyInfoById(id, keyWord, publishTask));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -121,7 +122,7 @@ public class LeaseApplyInfoController extends BaseController {
|
|||
@PostMapping("/exportInfo")
|
||||
public void exportInfo(HttpServletResponse response, LeaseApplyInfo leaseApplyInfo) {
|
||||
LeaseApplyRequestVo leaseApplyRequestVo = leaseApplyInfoService.getInfo(leaseApplyInfo.getId());
|
||||
leaseApplyInfoService.exportInfo(leaseApplyRequestVo, response);
|
||||
leaseApplyInfoService.exportInfo(leaseApplyInfo, leaseApplyRequestVo, response);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "导出领料任务详情")
|
||||
|
|
|
|||
|
|
@ -144,6 +144,17 @@ public class LeaseTaskController extends BaseController {
|
|||
return success(service.getDetailsById(leaseApplyInfo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 发布数据保存
|
||||
* @param leaseApplyRequestVo
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "发布数据保存")
|
||||
@PostMapping("/addPublish")
|
||||
public AjaxResult addPublish(@RequestBody LeaseApplyRequestVo leaseApplyRequestVo) {
|
||||
return service.addPublish(leaseApplyRequestVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出领料发布列表
|
||||
* @param response
|
||||
|
|
|
|||
|
|
@ -49,6 +49,9 @@ public class LeaseApplyDetails extends BaseEntity {
|
|||
@ApiModelProperty(value = "规格型号id")
|
||||
private Long typeId;
|
||||
|
||||
@ApiModelProperty(value = "规格型号id")
|
||||
private Long newTypeId;
|
||||
|
||||
@ApiModelProperty(value = "三级id")
|
||||
private Long thirdTypeId;
|
||||
|
||||
|
|
@ -82,6 +85,9 @@ public class LeaseApplyDetails extends BaseEntity {
|
|||
@ApiModelProperty(value = "待发布数量")
|
||||
private BigDecimal pendingNum;
|
||||
|
||||
@ApiModelProperty(value = "本次发布数量")
|
||||
private BigDecimal num;
|
||||
|
||||
/** 预领料数 */
|
||||
@Excel(name = "预领数量")
|
||||
@ApiModelProperty(value = "预领料数")
|
||||
|
|
@ -128,6 +134,24 @@ public class LeaseApplyDetails extends BaseEntity {
|
|||
@ApiModelProperty(value = "编码类型集合")
|
||||
private List<MaCodeVo> maCodeVoList;
|
||||
|
||||
@ApiModelProperty(value = "往来单位id")
|
||||
private Long unitId;
|
||||
|
||||
@ApiModelProperty(value = "工程id")
|
||||
private Long projectId;
|
||||
|
||||
@ApiModelProperty(value = "领料人")
|
||||
private String leasePerson;
|
||||
|
||||
@ApiModelProperty(value = "联系方式")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "任务当月序号 例如:1 插入及查询时请携带任务类型")
|
||||
private Integer monthOrder;
|
||||
|
||||
@ApiModelProperty(value = "发布批次")
|
||||
private String publishTask;
|
||||
|
||||
public LeaseApplyDetails(Long id, Long parentId, Long typeId, BigDecimal preNum, BigDecimal auditNum, BigDecimal alNum, String status, Long companyId) {
|
||||
this.id = id;
|
||||
this.parentId = parentId;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,9 @@ public class LeaseOutVo {
|
|||
@ApiModelProperty("任务id")
|
||||
private Long taskId;
|
||||
|
||||
@ApiModelProperty("机具id")
|
||||
private Long maId;
|
||||
|
||||
@ApiModelProperty("机具名称")
|
||||
private String typeName;
|
||||
|
||||
|
|
|
|||
|
|
@ -126,4 +126,20 @@ public interface LeaseApplyDetailsMapper {
|
|||
* @return
|
||||
*/
|
||||
int updateBackDetailsOutNum(LeaseOutDetails leaseOutDetails);
|
||||
|
||||
/**
|
||||
* 根据机具id查询领料任务详细
|
||||
* @param maId
|
||||
* @return
|
||||
*/
|
||||
List<LeaseOutVo> selectByMaId(@Param("maId") Long maId);
|
||||
|
||||
/**
|
||||
* 根据领料任务id查询领料任务详细
|
||||
* @param keyWord
|
||||
* @param publishTask
|
||||
* @return
|
||||
*/
|
||||
List<LeaseApplyDetails> getDetailsPublish(@Param("keyWord") String keyWord, @Param("publishTask") String publishTask);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,4 +73,11 @@ public interface LeaseApplyInfoMapper {
|
|||
|
||||
/** 设置发料单位 防止代码冲突 **/
|
||||
String getSendUnit(LeaseApplyInfo leaseApplyInfo);
|
||||
|
||||
/**
|
||||
* 查询领用出库数据
|
||||
* @param leaseApplyInfo
|
||||
* @return
|
||||
*/
|
||||
List<LeaseApplyInfo> selectPublishList(LeaseApplyInfo leaseApplyInfo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,4 +112,33 @@ public interface LeaseTaskMapper {
|
|||
* @return
|
||||
*/
|
||||
List<LeaseApplyDetails> selectPublishDetails(LeaseApplyInfo leaseApplyInfo);
|
||||
|
||||
/**
|
||||
* 根据taskId查询领用申请详情
|
||||
* @param parentId
|
||||
* @return
|
||||
*/
|
||||
List<LeaseApplyDetails> selectLeaseApplyDetailsById(Long parentId);
|
||||
|
||||
/**
|
||||
* 领用申请发布详情保存
|
||||
* @param applyDetails
|
||||
* @return
|
||||
*/
|
||||
int addPublish(LeaseApplyDetails applyDetails);
|
||||
|
||||
/**
|
||||
* 领用申请发布详情修改
|
||||
* @param applyDetails
|
||||
* @return
|
||||
*/
|
||||
int updatePublish(LeaseApplyDetails applyDetails);
|
||||
|
||||
/**
|
||||
* 根据当前年月查询最大序号
|
||||
* @param year
|
||||
* @param month
|
||||
* @return
|
||||
*/
|
||||
int getMonthMaxOrderByDate(@Param("year") String year, @Param("month") String month);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,9 +24,10 @@ public interface ILeaseApplyInfoService {
|
|||
*
|
||||
* @param id 领料任务主键
|
||||
* @param keyword keyword 关键字
|
||||
* @param publishTask 发布批次
|
||||
* @return 领料任务
|
||||
*/
|
||||
LeaseApplyRequestVo selectLeaseApplyInfoById(Long id, String keyword);
|
||||
LeaseApplyRequestVo selectLeaseApplyInfoById(Long id, String keyword, String publishTask);
|
||||
|
||||
/**
|
||||
* 查询领料任务列表
|
||||
|
|
@ -110,10 +111,11 @@ public interface ILeaseApplyInfoService {
|
|||
|
||||
/**
|
||||
* 导出领料出库详细
|
||||
* @param leaseApplyInfo
|
||||
* @param leaseApplyRequestVo
|
||||
* @param response
|
||||
*/
|
||||
void exportInfo(LeaseApplyRequestVo leaseApplyRequestVo, HttpServletResponse response);
|
||||
void exportInfo(LeaseApplyInfo leaseApplyInfo, LeaseApplyRequestVo leaseApplyRequestVo, HttpServletResponse response);
|
||||
|
||||
/**
|
||||
* 根据id查询内部领料任务详情
|
||||
|
|
|
|||
|
|
@ -107,5 +107,12 @@ public interface ILeaseTaskService {
|
|||
* @return
|
||||
*/
|
||||
LeaseApplyRequestVo getDetailsById(LeaseApplyInfo leaseApplyInfo);
|
||||
|
||||
/**
|
||||
* 发布数据保存
|
||||
* @param leaseApplyRequestVo
|
||||
* @return
|
||||
*/
|
||||
AjaxResult addPublish(LeaseApplyRequestVo leaseApplyRequestVo);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
* @return 领料任务
|
||||
*/
|
||||
@Override
|
||||
public LeaseApplyRequestVo selectLeaseApplyInfoById(Long id, String keyword) {
|
||||
public LeaseApplyRequestVo selectLeaseApplyInfoById(Long id, String keyword, String publishTask) {
|
||||
try {
|
||||
LeaseApplyInfo leaseApplyInfo = new LeaseApplyInfo();
|
||||
leaseApplyInfo.setId(id);
|
||||
|
|
@ -125,6 +125,23 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
}
|
||||
|
||||
});
|
||||
// 走单独的领用详情查询
|
||||
if (StringUtils.isNotBlank(publishTask)) {
|
||||
LeaseApplyRequestVo info = new LeaseApplyRequestVo();
|
||||
// 根据领用批次查询领用详情
|
||||
List<LeaseApplyDetails> details = leaseApplyDetailsMapper.getDetailsPublish(keyword,publishTask);
|
||||
if (!CollectionUtils.isEmpty(details)) {
|
||||
for (LeaseApplyDetails detail : details) {
|
||||
if (detail.getOutNum().compareTo(detail.getAlNum()) == 0) {
|
||||
detail.setStatus("2");
|
||||
} else {
|
||||
detail.setStatus("1");
|
||||
}
|
||||
}
|
||||
info.setLeaseApplyDetailsList(details);
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
return leaseApplyRequestVo;
|
||||
} catch (Exception e) {
|
||||
|
|
@ -145,16 +162,38 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
public List<LeaseApplyInfo> selectLeaseApplyInfoList(LeaseApplyInfo leaseApplyInfo) {
|
||||
leaseApplyInfo.setUserId(SecurityUtils.getUserId());
|
||||
List<LeaseApplyInfo> list = leaseApplyInfoMapper.selectLeaseApplyInfoList(leaseApplyInfo);
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
// 如果statusList包含3、4、5,则为领料出库查询,需查询领用出库数据,进行拼接
|
||||
if (leaseApplyInfo.getStatusList() != null && leaseApplyInfo.getStatusList().contains(3)
|
||||
&& leaseApplyInfo.getStatusList().contains(4) && leaseApplyInfo.getStatusList().contains(5)) {
|
||||
// 查询领用出库数据
|
||||
List<LeaseApplyInfo> leaseApplyOutList = leaseApplyInfoMapper.selectPublishList(leaseApplyInfo);
|
||||
if (!CollectionUtils.isEmpty(leaseApplyOutList)) {
|
||||
for (LeaseApplyInfo applyInfo : leaseApplyOutList) {
|
||||
if (applyInfo.getPreCountNum().compareTo(applyInfo.getAlNum()) == 0) {
|
||||
applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus());
|
||||
applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatusName());
|
||||
} else {
|
||||
applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatus());
|
||||
applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatusName());
|
||||
}
|
||||
}
|
||||
list.addAll(leaseApplyOutList);
|
||||
}
|
||||
}
|
||||
// 使用 Stream API 进行降序排序
|
||||
List<LeaseApplyInfo> sortedList = list.stream()
|
||||
.sorted(Comparator.comparing(LeaseApplyInfo::getCreateTime).reversed())
|
||||
.collect(Collectors.toList());
|
||||
if (!CollectionUtils.isEmpty(sortedList)) {
|
||||
String keyWord = leaseApplyInfo.getKeyWord();
|
||||
// 如果关键字不为空,进行过滤
|
||||
if (!StringUtils.isBlank(keyWord)) {
|
||||
list = list.stream()
|
||||
sortedList = sortedList.stream()
|
||||
.filter(item -> containsKeyword(item, keyWord))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
return list;
|
||||
return sortedList;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -183,6 +222,59 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
*/
|
||||
@Override
|
||||
public AjaxResult insertLeaseApplyInfo(LeaseApplyRequestVo leaseApplyRequestVo) {
|
||||
/*int result = 0;
|
||||
if (null == leaseApplyRequestVo.getLeaseApplyInfo()) {
|
||||
return AjaxResult.error("请先填写领料任务信息");
|
||||
}
|
||||
if (CollectionUtil.isEmpty(leaseApplyRequestVo.getLeaseApplyDetailsList())) {
|
||||
return AjaxResult.error("请先添加领料任务物资明细");
|
||||
}
|
||||
leaseApplyRequestVo.getLeaseApplyInfo().setCreateTime(DateUtils.getNowDate());
|
||||
leaseApplyRequestVo.getLeaseApplyInfo().setCreateBy(SecurityUtils.getUsername());
|
||||
try {
|
||||
// 获取 LeaseApplyDetails 列表
|
||||
List<LeaseApplyDetails> leaseApplyDetailsList = leaseApplyRequestVo.getLeaseApplyDetailsList();
|
||||
for (LeaseApplyDetails applyDetails : leaseApplyDetailsList) {
|
||||
if (applyDetails.getCompanyId() == null) {
|
||||
throw new RuntimeException("未知所属公司领料任务,无法操作!");
|
||||
}
|
||||
}
|
||||
// 按 companyId 进行分组
|
||||
Map<Long, List<LeaseApplyDetails>> groupedByCompanyId = leaseApplyDetailsList.stream()
|
||||
.collect(Collectors.groupingBy(LeaseApplyDetails::getCompanyId));
|
||||
for (Map.Entry<Long, List<LeaseApplyDetails>> entry : groupedByCompanyId.entrySet()) {
|
||||
Long key = entry.getKey();
|
||||
List<LeaseApplyDetails> details = entry.getValue();
|
||||
TmTaskTypeEnum splitType = null;
|
||||
String taskTypeLabel = null;
|
||||
// 机具领料任务
|
||||
if (key == 101) {
|
||||
splitType = TmTaskTypeEnum.TM_TASK_JJ_LEASE;
|
||||
taskTypeLabel = MaterialConstants.JJ_LEASE_TASK_TYPE_LABEL;
|
||||
// 安全工器具领料任务
|
||||
} else if (key == 102) {
|
||||
splitType = TmTaskTypeEnum.TM_TASK_SAFE_LEASE;
|
||||
taskTypeLabel = MaterialConstants.AQ_LEASE_TASK_TYPE_LABEL;
|
||||
// 宏源领料任务
|
||||
} else if (key == 309) {
|
||||
splitType = TmTaskTypeEnum.TM_TASK_HY_LEASE;
|
||||
taskTypeLabel = MaterialConstants.HY_LEASE_TASK_TYPE_LABEL;
|
||||
} else {
|
||||
throw new RuntimeException("未知所属公司领料任务,无法操作!");
|
||||
}
|
||||
result += processLeaseTask(leaseApplyRequestVo, splitType, taskTypeLabel);
|
||||
if (result > 0) {
|
||||
return insertPurchaseCheckDetails(details, leaseApplyRequestVo.getLeaseApplyInfo().getId());
|
||||
} else {
|
||||
return AjaxResult.error("新增任务失败,lease_apply_info表插入0条");
|
||||
}
|
||||
}
|
||||
} catch (DataAccessException e) {
|
||||
throw new RuntimeException("数据库操作失败:" + e.getMessage());
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("新增任务失败:" + e.getMessage());
|
||||
}
|
||||
return AjaxResult.error("新增任务失败");*/
|
||||
if (null == leaseApplyRequestVo.getLeaseApplyInfo()) {
|
||||
return AjaxResult.error("请先填写领料任务信息");
|
||||
}
|
||||
|
|
@ -236,6 +328,54 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理任务
|
||||
* @param leaseApplyRequestVo
|
||||
* @param splitType
|
||||
* @param taskTypeLabel
|
||||
* @return
|
||||
*/
|
||||
/*private int processLeaseTask(LeaseApplyRequestVo leaseApplyRequestVo, TmTaskTypeEnum splitType, String taskTypeLabel) {
|
||||
int thisMonthMaxOrder = tmTaskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(),
|
||||
TmTaskTypeEnum.TM_TASK_LEASE.getTaskTypeId());
|
||||
String taskCode = genderTaskCode(thisMonthMaxOrder, taskTypeLabel);
|
||||
|
||||
TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_LEASE.getTaskTypeId(),
|
||||
LeaseTaskStatusEnum.LEASE_TASK_TO_PUBLISHED.getStatus(),
|
||||
leaseApplyRequestVo.getLeaseApplyInfo().getCompanyId(), thisMonthMaxOrder + 1, taskCode);
|
||||
tmTask.setCreateTime(DateUtils.getNowDate());
|
||||
tmTask.setCreateBy(SecurityUtils.getUsername());
|
||||
tmTask.setSplitType(splitType.getTaskTypeId());
|
||||
tmTaskMapper.insertTmTask(tmTask);
|
||||
|
||||
TmTaskAgreement tmTaskAgreement = new TmTaskAgreement(tmTask.getTaskId(), leaseApplyRequestVo.getLeaseApplyInfo().getAgreementId());
|
||||
tmTaskAgreement.setCreateTime(DateUtils.getNowDate());
|
||||
tmTaskAgreement.setCreateBy(SecurityUtils.getUsername());
|
||||
tmTaskAgreementMapper.insertTmTaskAgreement(tmTaskAgreement);
|
||||
|
||||
leaseApplyRequestVo.getLeaseApplyInfo().setTaskId(tmTask.getTaskId());
|
||||
leaseApplyRequestVo.getLeaseApplyInfo().setCode(taskCode);
|
||||
|
||||
// 设置审批人为默认的董班长 --防止代码冲突
|
||||
Long peopleId = leaseApplyInfoMapper.getDirectAuditBy();
|
||||
leaseApplyRequestVo.getLeaseApplyInfo().setDirectAuditBy(peopleId);
|
||||
|
||||
int count = leaseApplyInfoMapper.insertLeaseApplyInfo(leaseApplyRequestVo.getLeaseApplyInfo());
|
||||
|
||||
if (!CollectionUtils.isEmpty(leaseApplyRequestVo.getLeaseApplyInfo().getBmFileInfos())) {
|
||||
leaseApplyRequestVo.getLeaseApplyInfo().getBmFileInfos().forEach(bmFileInfo -> {
|
||||
bmFileInfo.setTaskType(2);
|
||||
bmFileInfo.setTaskId(tmTask.getTaskId());
|
||||
bmFileInfo.setModelId(leaseApplyRequestVo.getLeaseApplyInfo().getId());
|
||||
bmFileInfo.setFileType(5L);
|
||||
bmFileInfo.setCreateBy(SecurityUtils.getUsername());
|
||||
bmFileInfo.setCreateTime(DateUtils.getNowDate());
|
||||
bmFileInfoMapper.insertBmFileInfo(bmFileInfo);
|
||||
});
|
||||
}
|
||||
return count;
|
||||
}*/
|
||||
|
||||
/**
|
||||
* 发布任务
|
||||
*
|
||||
|
|
@ -301,6 +441,12 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入领料任务详情数据
|
||||
* @param leaseApplyDetailsList
|
||||
* @param parentId
|
||||
* @return
|
||||
*/
|
||||
private AjaxResult insertPurchaseCheckDetails(List<LeaseApplyDetails> leaseApplyDetailsList, Long parentId) {
|
||||
if (!CollectionUtils.isEmpty(leaseApplyDetailsList)) {
|
||||
for (LeaseApplyDetails details : leaseApplyDetailsList) {
|
||||
|
|
@ -325,6 +471,13 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
* @param thisMonthMaxOrder 当月最大单号
|
||||
* @return 任务对象
|
||||
*/
|
||||
/*private static String genderTaskCode(Integer thisMonthMaxOrder, String taskType) {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date nowDate = DateUtils.getNowDate();
|
||||
String format = dateFormat.format(nowDate);
|
||||
String result = format.replace("-", "");
|
||||
return taskType + result + String.format("-%03d", thisMonthMaxOrder + 1);
|
||||
}*/
|
||||
private static String genderTaskCode(Integer thisMonthMaxOrder) {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date nowDate = DateUtils.getNowDate();
|
||||
|
|
@ -340,6 +493,7 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean updateLeaseApplyInfo(LeaseApplyRequestVo leaseApplyRequestVo) {
|
||||
try {
|
||||
// 提取到局部变量中,减少重复代码
|
||||
|
|
@ -385,6 +539,54 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
} catch (Exception e) {
|
||||
throw new ServiceException("未知异常: " + e.getMessage());
|
||||
}
|
||||
/*try {
|
||||
int result = 0;
|
||||
// 提取到局部变量中,减少重复代码
|
||||
LeaseApplyInfo leaseApplyInfo = leaseApplyRequestVo.getLeaseApplyInfo();
|
||||
if (leaseApplyInfo != null && leaseApplyInfo.getId() != null) {
|
||||
// 去除创建一个新的数组对象,直接复用
|
||||
Long[] ids = {leaseApplyInfo.getId()};
|
||||
result = leaseApplyInfoMapper.deleteLeaseApplyInfoByIds(ids);
|
||||
if (result == 0) {
|
||||
throw new RuntimeException("删除主要任务失败");
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(leaseApplyRequestVo.getLeaseApplyDetailsList())) {
|
||||
// 业务逻辑代码
|
||||
result = leaseApplyDetailsMapper.deleteLeaseApplyDetailsByParentIds(ids);
|
||||
if (result == 0) {
|
||||
throw new RuntimeException("删除详情任务失败");
|
||||
}
|
||||
}
|
||||
// 查询是否存在文件
|
||||
BmFileInfo fileInfo = new BmFileInfo();
|
||||
fileInfo.setTaskId(leaseApplyInfo.getTaskId());
|
||||
fileInfo.setModelId(leaseApplyInfo.getId());
|
||||
fileInfo.setTaskType(2);
|
||||
fileInfo.setFileType(5L);
|
||||
List<BmFileInfo> bmFileInfos = bmFileInfoMapper.selectBmFileInfoList(fileInfo);
|
||||
// 删除原有数据
|
||||
if (!CollectionUtils.isEmpty(bmFileInfos)) {
|
||||
result = bmFileInfoMapper.deleteBmFileInfoByBizInfo(fileInfo);
|
||||
if (result == 0) {
|
||||
throw new RuntimeException("删除文件失败");
|
||||
}
|
||||
}
|
||||
// 重新走新增逻辑
|
||||
AjaxResult ajaxResult = insertLeaseApplyInfo(leaseApplyRequestVo);
|
||||
if (!ajaxResult.isSuccess()) {
|
||||
System.err.println(ajaxResult.get("msg"));
|
||||
throw new RuntimeException("修改新增数据异常");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
} catch (DataAccessException dae) {
|
||||
throw new ServiceException("数据访问异常: " + dae.getMessage());
|
||||
} catch (IllegalArgumentException iae) {
|
||||
throw new ServiceException("非法参数异常: " + iae.getMessage());
|
||||
} catch (Exception e) {
|
||||
throw new ServiceException("未知异常: " + e.getMessage());
|
||||
}*/
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -502,7 +704,7 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void exportInfo(LeaseApplyRequestVo leaseApplyRequestVo, HttpServletResponse response) {
|
||||
public void exportInfo(LeaseApplyInfo leaseApplyInfo, LeaseApplyRequestVo leaseApplyRequestVo, HttpServletResponse response) {
|
||||
try {
|
||||
String fileName = "施工机具设备出库检验记录表";
|
||||
String projectName = "";
|
||||
|
|
@ -512,6 +714,12 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
projectName ="领用工程:" + leaseApplyRequestVo.getLeaseApplyInfo().getLeaseProject();
|
||||
unit ="使用单位:" + leaseApplyRequestVo.getLeaseApplyInfo().getLeaseUnit();
|
||||
list = leaseApplyRequestVo.getLeaseOutVoList();
|
||||
if (leaseApplyInfo.getMaId() != null) {
|
||||
// 过滤出list中和leaseApplyInfo.getMaId()相等的元素
|
||||
list = list.stream()
|
||||
.filter(item -> item.getMaId().equals(leaseApplyInfo.getMaId()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
expOutExcel(response,list,fileName,projectName,unit);
|
||||
} catch (Exception e) {
|
||||
|
|
|
|||
|
|
@ -347,6 +347,26 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService {
|
|||
|
||||
private int updateTaskStatus(LeaseOutDetails record) {
|
||||
int res = 0;
|
||||
// 领用任务单独判断
|
||||
if (StringUtils.isNotBlank(record.getPublishTask())) {
|
||||
// 根据领用批次查询领用详情
|
||||
boolean isFinished = true;
|
||||
List<LeaseApplyDetails> details = leaseApplyDetailsMapper.getDetailsPublish(null, record.getPublishTask());
|
||||
if (!CollectionUtils.isEmpty(details)) {
|
||||
for (LeaseApplyDetails bean : details) {
|
||||
if (bean.getAlNum().compareTo(bean.getPreNum()) != 0) {
|
||||
isFinished = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isFinished) {
|
||||
String taskId = leaseApplyInfoMapper.getTaskId(record.getParentId());
|
||||
// 领用任务状态改为已完成
|
||||
res = tmTaskMapper.updateTaskStatus(taskId, LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus());
|
||||
}
|
||||
return res;
|
||||
}
|
||||
// 进行状态判断
|
||||
List<LeaseApplyDetails> leaseApplyDetailsList = leaseApplyDetailsMapper.getByParentId(record.getParentId());
|
||||
int i = 0;
|
||||
|
|
@ -422,8 +442,13 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService {
|
|||
BigDecimal outNum = record.getOutNum();
|
||||
sltAgreementInfo.setNum(num.add(outNum));
|
||||
res = sltAgreementInfoMapper.updSltInfo(sltAgreementInfo);
|
||||
record.setAgreementId(sltAgreementInfo.getAgreementId());
|
||||
} else {
|
||||
String agreementId = tmTaskAgreementMapper.getAgreementId(taskId);
|
||||
String agreementId = " ";
|
||||
agreementId = tmTaskAgreementMapper.getAgreementId(taskId);
|
||||
if (StringUtils.isBlank(agreementId)) {
|
||||
agreementId = tmTaskAgreementMapper.selectAgreementId(record.getPublishTask());
|
||||
}
|
||||
String protocol = bmAgreementInfoMapper.getProtocol(agreementId);
|
||||
Type maType = typeMapper.getMaType(record.getTypeId());
|
||||
if (StringUtils.isEmpty(protocol)) {
|
||||
|
|
@ -438,6 +463,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService {
|
|||
}
|
||||
}
|
||||
res = sltAgreementInfoMapper.insSltInfo(record, agreementId, maType);
|
||||
record.setAgreementId(Long.valueOf(agreementId));
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,10 +28,11 @@ import com.bonus.material.task.domain.TmTask;
|
|||
import com.bonus.material.task.domain.TmTaskAgreement;
|
||||
import com.bonus.material.task.mapper.TmTaskAgreementMapper;
|
||||
import com.bonus.material.task.mapper.TmTaskMapper;
|
||||
import com.bonus.material.work.domain.SysWorkflowNode;
|
||||
import com.bonus.material.work.domain.SysWorkflowRecord;
|
||||
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
|
||||
import com.bonus.material.work.domain.SysWorkflowType;
|
||||
import com.bonus.material.work.mapper.SysWorkflowRecordMapper;
|
||||
import com.bonus.material.work.mapper.SysWorkflowTypeMapper;
|
||||
import com.bonus.material.work.mapper.*;
|
||||
import com.bonus.material.work.service.SysWorkflowRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
|
|
@ -73,6 +74,17 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
|
|||
|
||||
@Resource
|
||||
private SysWorkflowRecordService sysWorkflowRecordService;
|
||||
|
||||
@Resource
|
||||
private SysWorkflowConfigMapper sysWorkflowConfigMapper;
|
||||
|
||||
@Resource
|
||||
private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper;
|
||||
|
||||
@Resource
|
||||
private SysWorkflowNodeMapper sysWorkflowNodeMapper;
|
||||
|
||||
|
||||
/**
|
||||
* 新增领用任务
|
||||
*
|
||||
|
|
@ -368,15 +380,71 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
|
|||
public List<LeaseApplyInfo> selectAuditLeaseApplyInfoList(LeaseApplyInfo leaseApplyInfo) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
leaseApplyInfo.setUserId(userId == 0 ? null : userId);
|
||||
log.info("用户id为{}",userId);
|
||||
List<LeaseApplyInfo> list = mapper.selectAuditLeaseApplyInfoList(leaseApplyInfo);
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
String keyWord = leaseApplyInfo.getKeyWord();
|
||||
// 如果关键字不为空,进行过滤
|
||||
if (!StringUtils.isBlank(keyWord)) {
|
||||
list = list.stream()
|
||||
.filter(item -> containsKeyword(item, keyWord))
|
||||
.collect(Collectors.toList());
|
||||
try {
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
String keyWord = leaseApplyInfo.getKeyWord();
|
||||
// 如果关键字不为空,进行过滤
|
||||
if (!StringUtils.isBlank(keyWord)) {
|
||||
list = list.stream()
|
||||
.filter(item -> containsKeyword(item, keyWord))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
for (LeaseApplyInfo leaseApplyInfoNew : list) {
|
||||
//获取当前节点,并根据当前节点获取审核人审核的角色信息
|
||||
if (leaseApplyInfoNew.getNodeId()!=null){
|
||||
log.info("当前节点为{}",leaseApplyInfoNew.getNodeId());
|
||||
SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(leaseApplyInfoNew.getRecordId());
|
||||
leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNodeId());
|
||||
//设置当前节点
|
||||
if (1==leaseApplyInfoNew.getNodeSignType() && sysWorkflowRecordHistory.getNodeSort()==1){
|
||||
leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId());
|
||||
}
|
||||
String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId());
|
||||
SysWorkflowNode sysWorkflowNode = sysWorkflowNodeMapper.selectSysWorkflowNodeById(leaseApplyInfoNew.getNodeId());
|
||||
leaseApplyInfoNew.setConfigValue(configValue);
|
||||
//判断当前节点是否审核
|
||||
sysWorkflowRecordHistory.setRecordId(leaseApplyInfoNew.getRecordId());
|
||||
sysWorkflowRecordHistory.setNodeId(leaseApplyInfoNew.getNodeId());
|
||||
List<SysWorkflowRecordHistory> SysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
//判断是或签还是会签0:或签 1:会签
|
||||
if (0==sysWorkflowNode.getNodeSignType()){
|
||||
//当前节点已经审核需要修改节点值
|
||||
if (SysWorkflowRecordHistoryList.get(0)!=null){
|
||||
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
leaseApplyInfoNew.setConfigValue(configValueNew);
|
||||
}
|
||||
}else {
|
||||
String[] ConfigValue = configValue.split(",");
|
||||
List<String> filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList());
|
||||
for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : SysWorkflowRecordHistoryList) {
|
||||
if (sysWorkflowRecordHistoryNew!=null){
|
||||
// 过滤数组元素
|
||||
filteredList = filteredList.stream()
|
||||
.filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy()))
|
||||
.collect(Collectors.toList());
|
||||
leaseApplyInfoNew.setConfigValue(filteredList.toString());
|
||||
}
|
||||
}
|
||||
//判断是否这个节点的所有人都审核
|
||||
if (filteredList.size()==0){
|
||||
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
leaseApplyInfoNew.setConfigValue(configValueNew);
|
||||
}else {
|
||||
if (SysWorkflowRecordHistoryList.size()>0){
|
||||
leaseApplyInfoNew.setNodeId(leaseApplyInfoNew.getNodeId());
|
||||
leaseApplyInfoNew.setConfigValue(filteredList.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
log.info("查询失败",e.getMessage());
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
|
@ -576,10 +644,8 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
|
|||
@Override
|
||||
public LeaseApplyRequestVo getDetailsById(LeaseApplyInfo leaseApplyInfo) {
|
||||
try {
|
||||
/*LeaseApplyInfo applyInfo = new LeaseApplyInfo();
|
||||
leaseApplyInfo.setId(leaseApplyInfo.getId());
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
applyInfo.setUserId(userId);*/
|
||||
leaseApplyInfo.setUserId(userId);
|
||||
Optional<LeaseApplyInfo> optionalInfo = Optional.ofNullable(mapper.selectLeaseApplyInfoById(leaseApplyInfo));
|
||||
LeaseApplyRequestVo leaseApplyRequestVo = new LeaseApplyRequestVo();
|
||||
|
||||
|
|
@ -596,4 +662,80 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
|
|||
throw new RuntimeException("Failed to select lease apply info", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发布数据保存
|
||||
* @param leaseApplyRequestVo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult addPublish(LeaseApplyRequestVo leaseApplyRequestVo) {
|
||||
if (leaseApplyRequestVo == null || leaseApplyRequestVo.getLeaseApplyInfo() == null
|
||||
|| CollectionUtils.isEmpty(leaseApplyRequestVo.getLeaseApplyDetailsList())) {
|
||||
return AjaxResult.error("参数不能为空");
|
||||
}
|
||||
try {
|
||||
int result = 0;
|
||||
LeaseApplyInfo leaseApplyInfo = leaseApplyRequestVo.getLeaseApplyInfo();
|
||||
List<LeaseApplyDetails> leaseApplyDetailsList = leaseApplyRequestVo.getLeaseApplyDetailsList();
|
||||
Long parentId = leaseApplyDetailsList.get(0).getParentId();
|
||||
int thisMonthMaxOrder = mapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth());
|
||||
for (LeaseApplyDetails applyDetails : leaseApplyDetailsList) {
|
||||
// 根据parentId及typeId更新lease_apply_details表的发布数量
|
||||
result = mapper.updatePublish(applyDetails);
|
||||
if (result == 0) {
|
||||
return AjaxResult.error("发布失败,请联系管理员");
|
||||
}
|
||||
applyDetails.setUnitId(leaseApplyInfo.getUnitId());
|
||||
applyDetails.setProjectId(leaseApplyInfo.getProjectId());
|
||||
applyDetails.setLeasePerson(leaseApplyInfo.getLeasePerson() != null ? leaseApplyInfo.getLeasePerson() : "");
|
||||
applyDetails.setPhone(leaseApplyInfo.getPhone() != null ? leaseApplyInfo.getPhone() : "");
|
||||
applyDetails.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
applyDetails.setCreateTime(DateUtils.getNowDate());
|
||||
applyDetails.setMonthOrder(thisMonthMaxOrder + 1);
|
||||
String publishTask = genderPublishTask(thisMonthMaxOrder);
|
||||
applyDetails.setPublishTask(publishTask);
|
||||
result = mapper.addPublish(applyDetails);
|
||||
if (result == 0) {
|
||||
return AjaxResult.error("发布失败,请联系管理员");
|
||||
}
|
||||
}
|
||||
List<LeaseApplyDetails> leaseApplyDetails = mapper.selectLeaseApplyDetailsById(parentId);
|
||||
boolean allMatch = true;
|
||||
if (!CollectionUtils.isEmpty(leaseApplyDetails)) {
|
||||
for (LeaseApplyDetails leaseApplyDetail : leaseApplyDetails) {
|
||||
if (leaseApplyDetail.getPreNum().compareTo(leaseApplyDetail.getPublishNum()) != 0) {
|
||||
allMatch = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (allMatch) {
|
||||
TmTask tmTask = new TmTask();
|
||||
tmTask.setTaskId(leaseApplyInfo.getTaskId());
|
||||
tmTask.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatus());
|
||||
result = tmTaskMapper.updateTmTask(tmTask);
|
||||
if (result == 0) {
|
||||
return AjaxResult.error("发布失败,请联系管理员");
|
||||
}
|
||||
}
|
||||
return AjaxResult.success("发布成功");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
return AjaxResult.error("发布失败,请联系管理员");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成发布批次任务
|
||||
* @param thisMonthMaxOrder
|
||||
* @return
|
||||
*/
|
||||
private String genderPublishTask(int thisMonthMaxOrder) {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date nowDate = DateUtils.getNowDate();
|
||||
String format = dateFormat.format(nowDate);
|
||||
String result = format.replace("-", "");
|
||||
return MaterialConstants.LEASE_PUBLISH + result + String.format("-%03d", thisMonthMaxOrder + 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -157,4 +157,31 @@ public class MachineController extends BaseController {
|
|||
return error("系统错误, " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 电子标签编码查询
|
||||
* @param machine
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "电子标签编码查询")
|
||||
@GetMapping("/getByMaCode")
|
||||
public AjaxResult getByMaCode(Machine machine) {
|
||||
try {
|
||||
return success(machineService.getByMaCode(machine));
|
||||
} catch (Exception e) {
|
||||
return error("系统错误, " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据标签信息查询出库单
|
||||
* @param leaseApplyInfo
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "获取领料出库单详细信息")
|
||||
//@RequiresPermissions("lease:info:query")
|
||||
@GetMapping(value = "/getInfoByMaId")
|
||||
public AjaxResult getInfoByMaId(LeaseApplyInfo leaseApplyInfo) {
|
||||
return success(machineService.getInfoByMaId(leaseApplyInfo));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,6 +120,17 @@ public class TypeController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询一级列表
|
||||
* @param maTypeVo
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "查询一级列表")
|
||||
@GetMapping("/getListLevel")
|
||||
public AjaxResult getListLevel(MaTypeVo maTypeVo) {
|
||||
return typeService.getListLevel(maTypeVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据物资仓库ID查询施工类型
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.bonus.material.ma.domain;
|
|||
|
||||
import com.bonus.common.core.web.domain.BaseEntity;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
|
@ -158,4 +159,18 @@ public class DirectApplyInfo extends BaseEntity {
|
|||
|
||||
private String flowId;
|
||||
|
||||
@ApiModelProperty(value = "本流程节点id")
|
||||
private Integer nodeId;
|
||||
|
||||
@ApiModelProperty(value = "下个流程节点id")
|
||||
private Integer nextNodeId;
|
||||
|
||||
@ApiModelProperty(value = "流程配置值")
|
||||
private String configValue;
|
||||
|
||||
@ApiModelProperty(value = "所属记录")
|
||||
private Integer recordId;
|
||||
|
||||
@ApiModelProperty(value = "流程节点签名方式 0:或签 1:会签")
|
||||
private Integer nodeSignType;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,9 @@ public class Machine extends BaseEntity
|
|||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键id */
|
||||
private Long id;
|
||||
|
||||
/** 机具ID */
|
||||
private Long maId;
|
||||
|
||||
|
|
@ -179,6 +182,6 @@ public class Machine extends BaseEntity
|
|||
@ApiModelProperty("检测报告地址")
|
||||
private String exUrl;
|
||||
|
||||
@ApiModelProperty("是否为机具")
|
||||
@ApiModelProperty("是否为机具 (0 代表机具)")
|
||||
private Integer isJj;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.bonus.material.ma.mapper;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
|
||||
import com.bonus.common.biz.domain.lease.LeaseOutDetails;
|
||||
import com.bonus.material.ma.domain.Machine;
|
||||
import com.bonus.material.ma.domain.Type;
|
||||
|
|
@ -112,4 +113,25 @@ public interface MachineMapper
|
|||
* @return
|
||||
*/
|
||||
List<Machine> getElectronicLabel(Machine machine);
|
||||
|
||||
/**
|
||||
* 根据标签信息查询出库单
|
||||
* @param leaseApplyInfo
|
||||
* @return
|
||||
*/
|
||||
Long selectMaId(LeaseApplyInfo leaseApplyInfo);
|
||||
|
||||
/**
|
||||
* 查询机具信息
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
Machine selectHouse(Machine dto);
|
||||
|
||||
/**
|
||||
* 电子标签编码查询
|
||||
* @param machine
|
||||
* @return
|
||||
*/
|
||||
List<Machine> getByMaCode(Machine machine);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -189,4 +189,11 @@ public interface TypeMapper {
|
|||
* @return
|
||||
*/
|
||||
List<Type> selectMaTypeThreeLists(Long agreementId);
|
||||
|
||||
/**
|
||||
* 查询一级列表
|
||||
* @param maTypeVo
|
||||
* @return
|
||||
*/
|
||||
List<MaTypeVo> getListLevel(MaTypeVo maTypeVo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ package com.bonus.material.ma.service;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo;
|
||||
import com.bonus.material.ma.domain.Machine;
|
||||
import com.bonus.material.ma.domain.Type;
|
||||
import com.bonus.material.ma.domain.vo.MachineVo;
|
||||
|
|
@ -83,4 +85,18 @@ public interface IMachineService
|
|||
* @return
|
||||
*/
|
||||
List<Machine> getElectronicLabel(Machine machine);
|
||||
|
||||
/**
|
||||
* 根据标签信息查询出库单
|
||||
* @param leaseApplyInfo
|
||||
* @return
|
||||
*/
|
||||
LeaseApplyRequestVo getInfoByMaId(LeaseApplyInfo leaseApplyInfo);
|
||||
|
||||
/**
|
||||
* 电子标签编码查询
|
||||
* @param machine
|
||||
* @return
|
||||
*/
|
||||
List<Machine> getByMaCode(Machine machine);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -130,4 +130,11 @@ public interface ITypeService {
|
|||
* @return
|
||||
*/
|
||||
List<Type> getEquipmentThreeTypes(Long typeId, Long agreementId);
|
||||
|
||||
/**
|
||||
* 查询一级列表
|
||||
* @param maTypeVo
|
||||
* @return
|
||||
*/
|
||||
AjaxResult getListLevel(MaTypeVo maTypeVo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import com.bonus.material.work.domain.SysWorkflowRecord;
|
|||
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
|
||||
import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper;
|
||||
import com.bonus.material.work.mapper.SysWorkflowRecordMapper;
|
||||
import com.bonus.material.work.service.SysWorkflowRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
|
|
@ -44,6 +45,9 @@ public class DirectRotationImpl implements DirectRotationService {
|
|||
@Resource(name = "workSiteDirectManageService")
|
||||
private WorkSiteDirectManageService workSiteDirectManageService;
|
||||
|
||||
@Resource
|
||||
private SysWorkflowRecordService sysWorkflowRecordService;
|
||||
|
||||
@Override
|
||||
public List<SltAgreementInfo> getUseringData(SltAgreementInfo sltAgreementInfo) {
|
||||
return mapper.getUseringData(sltAgreementInfo);
|
||||
|
|
@ -103,7 +107,8 @@ public class DirectRotationImpl implements DirectRotationService {
|
|||
} else {
|
||||
return AjaxResult.error("保存失败");
|
||||
}
|
||||
initAuditDir(id,code);
|
||||
sysWorkflowRecordService.addSysWorkflowRecord(id,code,TM_TASK_DIRECT.getTaskTypeId());
|
||||
//initAuditDir(id,code);
|
||||
|
||||
|
||||
return AjaxResult.success("保存成功");
|
||||
|
|
@ -116,7 +121,7 @@ public class DirectRotationImpl implements DirectRotationService {
|
|||
wf.setTaskId(id);
|
||||
wf.setTaskType(TM_TASK_DIRECT.getTaskTypeId());
|
||||
wf.setTaskCode(code);
|
||||
wf.setWorkflowId(16);
|
||||
wf.setWorkflowId(15);
|
||||
wfMapper.addSysWorkflowRecord(wf);
|
||||
//2 生成直转审核人
|
||||
SysWorkflowRecordHistory his = new SysWorkflowRecordHistory();
|
||||
|
|
@ -128,6 +133,7 @@ public class DirectRotationImpl implements DirectRotationService {
|
|||
his.setCreateBy(SecurityUtils.getUsername());
|
||||
his.setCreateTime(new Date());
|
||||
hisMapper.addSysWorkflowRecordHistory(his) ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,17 @@ package com.bonus.material.ma.service.impl;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.alibaba.nacos.common.utils.CollectionUtils;
|
||||
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
|
||||
import com.bonus.common.biz.enums.HttpCodeEnum;
|
||||
import com.bonus.common.core.utils.DateUtils;
|
||||
import com.bonus.common.core.utils.StringUtils;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo;
|
||||
import com.bonus.material.lease.domain.vo.LeaseOutVo;
|
||||
import com.bonus.material.lease.mapper.LeaseApplyDetailsMapper;
|
||||
import com.bonus.material.lease.mapper.LeaseApplyInfoMapper;
|
||||
import com.bonus.material.ma.domain.Type;
|
||||
import com.bonus.material.ma.domain.vo.MachineVo;
|
||||
import com.bonus.material.purchase.config.RemoteConfig;
|
||||
|
|
@ -40,6 +46,12 @@ public class MachineServiceImpl implements IMachineService
|
|||
@Resource
|
||||
private ScrapApplyDetailsMapper scrapApplyDetailsMapper;
|
||||
|
||||
@Resource
|
||||
private LeaseApplyInfoMapper leaseApplyInfoMapper;
|
||||
|
||||
@Resource
|
||||
private LeaseApplyDetailsMapper leaseApplyDetailsMapper;
|
||||
|
||||
/**
|
||||
* 查询机具设备管理
|
||||
*
|
||||
|
|
@ -183,8 +195,72 @@ public class MachineServiceImpl implements IMachineService
|
|||
return AjaxResult.success(typeList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询电子标签信息
|
||||
* @param machine
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<Machine> getElectronicLabel(Machine machine) {
|
||||
return machineMapper.getElectronicLabel(machine);
|
||||
List<Machine> list = machineMapper.getElectronicLabel(machine);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
for (Machine dto : list) {
|
||||
// 根据typeId查询信息
|
||||
Machine info = machineMapper.selectHouse(dto);
|
||||
if (info != null) {
|
||||
if ("机具库".equals(info.getOwnHouse())) {
|
||||
dto.setIsJj(0);
|
||||
} else {
|
||||
dto.setIsJj(1);
|
||||
}
|
||||
}
|
||||
// 获取领料单详情
|
||||
List<LeaseOutVo> details = leaseApplyDetailsMapper.selectByMaId(dto.getMaId());
|
||||
if (CollectionUtils.isNotEmpty(details)) {
|
||||
Long id = details.get(0).getId();
|
||||
dto.setId(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据标签信息查询出库单
|
||||
* @param leaseApplyInfo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public LeaseApplyRequestVo getInfoByMaId(LeaseApplyInfo leaseApplyInfo) {
|
||||
try {
|
||||
LeaseApplyRequestVo leaseApplyRequestVo = new LeaseApplyRequestVo();
|
||||
// 根据maCode查询maId
|
||||
Long maId = machineMapper.selectMaId(leaseApplyInfo);
|
||||
// 获取领料单详情
|
||||
List<LeaseOutVo> details = leaseApplyDetailsMapper.selectByMaId(maId);
|
||||
if (CollectionUtils.isNotEmpty(details)) {
|
||||
leaseApplyRequestVo.setLeaseOutVoList(details);
|
||||
Long id = details.get(0).getId();
|
||||
leaseApplyInfo.setId(id);
|
||||
}
|
||||
LeaseApplyInfo optionalInfo = leaseApplyInfoMapper.selectLeaseApplyInfoById(leaseApplyInfo);
|
||||
if (optionalInfo != null) {
|
||||
leaseApplyRequestVo.setLeaseApplyInfo(optionalInfo);
|
||||
}
|
||||
return leaseApplyRequestVo;
|
||||
} catch (Exception e) {
|
||||
// 记录异常日志
|
||||
throw new RuntimeException("Failed to select lease apply info", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 电子标签编码查询
|
||||
* @param machine
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<Machine> getByMaCode(Machine machine) {
|
||||
return machineMapper.getByMaCode(machine);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -183,6 +183,17 @@ public class TypeServiceImpl implements ITypeService {
|
|||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询一级列表
|
||||
* @param maTypeVo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult getListLevel(MaTypeVo maTypeVo) {
|
||||
List<MaTypeVo> maTypeVos = typeMapper.getListLevel(maTypeVo);
|
||||
return AjaxResult.success(maTypeVos);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<MaTypeSelectVo> selectMaTypeListByHouseId(Long houseId) {
|
||||
|
|
|
|||
|
|
@ -1,28 +1,50 @@
|
|||
package com.bonus.material.record.service.impl;
|
||||
|
||||
import com.bonus.common.biz.domain.BmFileInfo;
|
||||
import com.bonus.common.core.exception.ServiceException;
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.bonus.material.ma.domain.DirectApplyInfo;
|
||||
import com.bonus.material.record.mapper.DerateRecordQueryMapper;
|
||||
import com.bonus.material.record.mapper.SltRecordQueryMapper;
|
||||
import com.bonus.material.record.service.IDerateReocrdQueryService;
|
||||
import com.bonus.material.record.service.ISltReocrdQueryService;
|
||||
import com.bonus.material.settlement.domain.SltAgreementInfo;
|
||||
import com.bonus.material.settlement.domain.SltAgreementReduce;
|
||||
import com.bonus.material.work.domain.SysWorkflowNode;
|
||||
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
|
||||
import com.bonus.material.work.mapper.SysWorkflowConfigMapper;
|
||||
import com.bonus.material.work.mapper.SysWorkflowNodeMapper;
|
||||
import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @description 减免记录查询
|
||||
* @author hay
|
||||
* @date 2025/2/19 10:47
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class DerateRecordQueryServiceImpl implements IDerateReocrdQueryService {
|
||||
@Resource
|
||||
private DerateRecordQueryMapper mapper;
|
||||
|
||||
@Resource
|
||||
private SysWorkflowNodeMapper sysWorkflowNodeMapper;
|
||||
|
||||
@Resource
|
||||
private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper;
|
||||
|
||||
|
||||
@Resource
|
||||
private SysWorkflowConfigMapper sysWorkflowConfigMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public List<SltAgreementReduce> getList(SltAgreementInfo bean) {
|
||||
return mapper.getList(bean);
|
||||
|
|
@ -32,7 +54,62 @@ public class DerateRecordQueryServiceImpl implements IDerateReocrdQueryService {
|
|||
public List<SltAgreementReduce> getAuditList(SltAgreementInfo bean) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
bean.setUserId(userId);
|
||||
return mapper.getAuditList(bean);
|
||||
List<SltAgreementReduce> sltAgreementReduceList = mapper.getAuditList(bean);
|
||||
try {
|
||||
for (SltAgreementReduce sltAgreementReduceNew : sltAgreementReduceList) {
|
||||
log.info("当前节点为{}",sltAgreementReduceNew.getNodeId());
|
||||
SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(sltAgreementReduceNew.getRecordId());
|
||||
sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistory.getNodeId());
|
||||
//设置当前节点
|
||||
if (1==sltAgreementReduceNew.getNodeSignType() && sysWorkflowRecordHistory.getNodeSort()==1){
|
||||
sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId());
|
||||
}
|
||||
String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(sltAgreementReduceNew.getNodeId());
|
||||
SysWorkflowNode sysWorkflowNode = sysWorkflowNodeMapper.selectSysWorkflowNodeById(sltAgreementReduceNew.getNodeId());
|
||||
sltAgreementReduceNew.setConfigValue(configValue);
|
||||
//判断当前节点是否审核
|
||||
sysWorkflowRecordHistory.setRecordId(sltAgreementReduceNew.getRecordId());
|
||||
sysWorkflowRecordHistory.setNodeId(sltAgreementReduceNew.getNodeId());
|
||||
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
//判断是或签还是会签0:或签 1:会签
|
||||
if (0==sysWorkflowNode.getNodeSignType()){
|
||||
//当前节点已经审核需要修改节点值
|
||||
if (sysWorkflowRecordHistoryList.get(0)!=null){
|
||||
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
sltAgreementReduceNew.setConfigValue(configValueNew);
|
||||
}
|
||||
}else {
|
||||
String[] ConfigValue = configValue.split(",");
|
||||
List<String> filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList());
|
||||
for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) {
|
||||
if (sysWorkflowRecordHistoryNew != null) {
|
||||
// 过滤数组元素
|
||||
filteredList = filteredList.stream()
|
||||
.filter(value -> value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy()))
|
||||
.collect(Collectors.toList());
|
||||
sltAgreementReduceNew.setConfigValue(filteredList.toString());
|
||||
}
|
||||
}
|
||||
//判断是否这个节点的所有人都审核
|
||||
if (filteredList.size() == 0) {
|
||||
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
sltAgreementReduceNew.setConfigValue(configValueNew);
|
||||
} else {
|
||||
if (sysWorkflowRecordHistoryList.size() > 0) {
|
||||
sltAgreementReduceNew.setNodeId(sltAgreementReduceNew.getNodeId());
|
||||
sltAgreementReduceNew.setConfigValue(filteredList.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}catch (Exception e){
|
||||
log.info("查询结果出错{}",e.getMessage());
|
||||
throw new ServiceException("查询结果出错");
|
||||
}
|
||||
return sltAgreementReduceList;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -228,8 +228,7 @@ public class SltAgreementInfo extends BaseEntity {
|
|||
private BigDecimal scrapCost;
|
||||
private BigDecimal loseCost;
|
||||
private BigDecimal reductionCost;
|
||||
|
||||
//结算费用
|
||||
private BigDecimal totalCostAll;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,4 +134,19 @@ public class SltAgreementReduce extends BaseEntity {
|
|||
|
||||
private Integer proId;
|
||||
private String projectName;
|
||||
|
||||
@ApiModelProperty(value = "本流程节点id")
|
||||
private Integer nodeId;
|
||||
|
||||
@ApiModelProperty(value = "下个流程节点id")
|
||||
private Integer nextNodeId;
|
||||
|
||||
@ApiModelProperty(value = "流程配置值")
|
||||
private String configValue;
|
||||
|
||||
@ApiModelProperty(value = "所属记录")
|
||||
private Integer recordId;
|
||||
|
||||
@ApiModelProperty(value = "流程节点签名方式 0:或签 1:会签")
|
||||
private Integer nodeSignType;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,4 +71,11 @@ public interface TmTaskAgreementMapper {
|
|||
* @return
|
||||
*/
|
||||
Long selectAgreementIdByTaskId(Long taskId);
|
||||
|
||||
/**
|
||||
* 根据发布任务ID获取协议ID
|
||||
* @param publishTask
|
||||
* @return
|
||||
*/
|
||||
String selectAgreementId(String publishTask);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,10 @@
|
|||
package com.bonus.material.work.controller;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import com.bonus.common.biz.config.ListPagingUtil;
|
||||
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
|
||||
import com.bonus.common.core.utils.ServletUtils;
|
||||
import com.bonus.common.core.web.controller.BaseController;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.common.core.web.page.TableDataInfo;
|
||||
import com.bonus.common.log.annotation.SysLog;
|
||||
import com.bonus.common.log.enums.OperaType;
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.bonus.material.common.annotation.PreventRepeatSubmit;
|
||||
import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo;
|
||||
import com.bonus.material.lease.service.ILeaseTaskService;
|
||||
import com.bonus.material.ma.domain.DirectApplyInfo;
|
||||
import com.bonus.material.ma.domain.DirectApplyInfoDetails;
|
||||
import com.bonus.material.ma.domain.Type;
|
||||
import com.bonus.material.settlement.domain.SltAgreementInfo;
|
||||
import com.bonus.material.work.domain.DirectAudit;
|
||||
import com.bonus.material.work.service.IDirectAuditService;
|
||||
import io.swagger.annotations.Api;
|
||||
|
|
@ -24,7 +12,6 @@ import io.swagger.annotations.ApiOperation;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -61,7 +48,7 @@ public class DirectAuditController extends BaseController {
|
|||
|
||||
|
||||
|
||||
@ApiOperation(value = "查看审批详情")
|
||||
/* @ApiOperation(value = "查看审批详情")
|
||||
@GetMapping("/getAuditInfo")
|
||||
public AjaxResult getAuditInfo(DirectAudit du) {
|
||||
try {
|
||||
|
|
@ -69,12 +56,12 @@ public class DirectAuditController extends BaseController {
|
|||
} catch (Exception e) {
|
||||
return AjaxResult.success(new DirectApplyInfo());
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
/**
|
||||
* 审核直转申请
|
||||
*/
|
||||
@ApiOperation(value = "审核直转申请")
|
||||
/* @ApiOperation(value = "审核直转申请")
|
||||
@PostMapping("/auditDir")
|
||||
public AjaxResult auditDir(@RequestBody DirectAudit audit) {
|
||||
try {
|
||||
|
|
@ -83,5 +70,5 @@ public class DirectAuditController extends BaseController {
|
|||
return AjaxResult.error("保存失败");
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ public class SysWorkflowTypeController extends BaseController {
|
|||
|
||||
|
||||
@Resource
|
||||
private SysWorkflowTypeService sysWorkflowTypeServicel;
|
||||
private SysWorkflowTypeService sysWorkflowTypeService;
|
||||
|
||||
/**
|
||||
* 审批类型列表
|
||||
|
|
@ -31,7 +31,7 @@ public class SysWorkflowTypeController extends BaseController {
|
|||
{
|
||||
try {
|
||||
startPage();
|
||||
List<SysWorkflowType> list = sysWorkflowTypeServicel.selectSysWorkflowTypeList(sysWorkflowType);
|
||||
List<SysWorkflowType> list = sysWorkflowTypeService.selectSysWorkflowTypeList(sysWorkflowType);
|
||||
return getDataTable(list);
|
||||
}catch (Exception e){
|
||||
return getDataTableError(null);
|
||||
|
|
@ -46,7 +46,7 @@ public class SysWorkflowTypeController extends BaseController {
|
|||
public AjaxResult add(@RequestBody SysWorkflowType sysWorkflowType)
|
||||
{
|
||||
try {
|
||||
sysWorkflowTypeServicel.addSysWorkflowType(sysWorkflowType);
|
||||
sysWorkflowTypeService.addSysWorkflowType(sysWorkflowType);
|
||||
return new AjaxResult(200,"新增成功!");
|
||||
}catch (Exception e){
|
||||
return error();
|
||||
|
|
@ -61,7 +61,7 @@ public class SysWorkflowTypeController extends BaseController {
|
|||
public AjaxResult delete(@RequestBody SysWorkflowType sysWorkflowType)
|
||||
{
|
||||
try {
|
||||
sysWorkflowTypeServicel.deleteSysWorkflowType(sysWorkflowType);
|
||||
sysWorkflowTypeService.deleteSysWorkflowType(sysWorkflowType);
|
||||
return new AjaxResult(200,"删除成功!");
|
||||
}catch (Exception e){
|
||||
return error();
|
||||
|
|
@ -76,7 +76,7 @@ public class SysWorkflowTypeController extends BaseController {
|
|||
public AjaxResult update(@RequestBody SysWorkflowType sysWorkflowType)
|
||||
{
|
||||
try {
|
||||
sysWorkflowTypeServicel.updateSysWorkflowType(sysWorkflowType);
|
||||
sysWorkflowTypeService.updateSysWorkflowType(sysWorkflowType);
|
||||
return new AjaxResult(200,"修改成功!");
|
||||
}catch (Exception e){
|
||||
return error();
|
||||
|
|
|
|||
|
|
@ -40,4 +40,9 @@ public class SysWorkflowConfig {
|
|||
* 创建人
|
||||
*/
|
||||
private String keyWord;
|
||||
|
||||
/**
|
||||
* 角色信息
|
||||
*/
|
||||
private String roleIds;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,4 +92,9 @@ public class SysWorkflowNode {
|
|||
*/
|
||||
private Integer nodeId;
|
||||
private String nodeLabel;
|
||||
|
||||
/**
|
||||
* 角色信息
|
||||
*/
|
||||
private String roleIds;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,4 +61,9 @@ public class SysWorkflowRecordHistory {
|
|||
* 所属流程类型ID
|
||||
*/
|
||||
private Integer typeId;
|
||||
|
||||
/**
|
||||
* 流程节点顺序
|
||||
*/
|
||||
private Integer nodeSort;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,4 +16,6 @@ public interface SysWorkflowNodeMapper {
|
|||
int updateSysWorkflowNode(SysWorkflowNode sysWorkflowNode);
|
||||
|
||||
List<SysWorkflowNode> listByTaskId(SysWorkflowNode sysWorkflowNode);
|
||||
|
||||
SysWorkflowNode selectSysWorkflowNodeById(Integer nodeId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,4 +11,6 @@ public interface SysWorkflowRecordHistoryMapper {
|
|||
int addSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||
|
||||
List<SysWorkflowRecordHistory> seleteSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||
|
||||
SysWorkflowRecordHistory getWorkflowRecordHistoryByRecordId(Integer recordId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,24 +7,15 @@ import com.bonus.material.ma.domain.DirectApplyInfo;
|
|||
|
||||
import com.bonus.material.work.domain.DirectAudit;
|
||||
import com.bonus.material.work.domain.SysWorkflowNode;
|
||||
import com.bonus.material.work.domain.SysWorkflowRecord;
|
||||
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
|
||||
import com.bonus.material.work.mapper.DirectAuditMapper;
|
||||
import com.bonus.material.work.mapper.SysWorkflowNodeMapper;
|
||||
import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper;
|
||||
import com.bonus.material.work.mapper.SysWorkflowRecordMapper;
|
||||
import com.bonus.material.work.mapper.*;
|
||||
import com.bonus.material.work.service.IDirectAuditService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -40,17 +31,68 @@ public class DirectAuditImpl implements IDirectAuditService {
|
|||
private DirectAuditMapper mapper;
|
||||
|
||||
@Resource
|
||||
private SysWorkflowNodeMapper wfnMapper;
|
||||
private SysWorkflowNodeMapper sysWorkflowNodeMapper;
|
||||
|
||||
@Resource
|
||||
private SysWorkflowRecordHistoryMapper hisMapper;
|
||||
private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper;
|
||||
|
||||
|
||||
@Resource
|
||||
private SysWorkflowRecordMapper wfrMapper;
|
||||
private SysWorkflowConfigMapper sysWorkflowConfigMapper;
|
||||
|
||||
@Override
|
||||
public List<DirectApplyInfo> getList(DirectApplyInfo directApplyInfo) {
|
||||
return mapper.getList(directApplyInfo);
|
||||
|
||||
List<DirectApplyInfo> directApplyInfoList = mapper.getList(directApplyInfo);
|
||||
for (DirectApplyInfo directApplyInfoNew : directApplyInfoList) {
|
||||
log.info("当前节点为{}",directApplyInfoNew.getNodeId());
|
||||
SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(directApplyInfoNew.getRecordId());
|
||||
directApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNodeId());
|
||||
//设置当前节点
|
||||
if (1==directApplyInfoNew.getNodeSignType() && sysWorkflowRecordHistory.getNodeSort()==1){
|
||||
directApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId());
|
||||
}
|
||||
String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(directApplyInfoNew.getNodeId());
|
||||
SysWorkflowNode sysWorkflowNode = sysWorkflowNodeMapper.selectSysWorkflowNodeById(directApplyInfoNew.getNodeId());
|
||||
directApplyInfoNew.setConfigValue(configValue);
|
||||
//判断当前节点是否审核
|
||||
sysWorkflowRecordHistory.setRecordId(directApplyInfoNew.getRecordId());
|
||||
sysWorkflowRecordHistory.setNodeId(directApplyInfoNew.getNodeId());
|
||||
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
//判断是或签还是会签0:或签 1:会签
|
||||
if (0==sysWorkflowNode.getNodeSignType()){
|
||||
//当前节点已经审核需要修改节点值
|
||||
if (sysWorkflowRecordHistoryList.get(0)!=null){
|
||||
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
directApplyInfoNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
directApplyInfoNew.setConfigValue(configValueNew);
|
||||
}
|
||||
}else {
|
||||
String[] ConfigValue = configValue.split(",");
|
||||
List<String> filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList());
|
||||
for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) {
|
||||
if (sysWorkflowRecordHistoryNew != null) {
|
||||
// 过滤数组元素
|
||||
filteredList = filteredList.stream()
|
||||
.filter(value -> value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy()))
|
||||
.collect(Collectors.toList());
|
||||
directApplyInfoNew.setConfigValue(filteredList.toString());
|
||||
}
|
||||
}
|
||||
//判断是否这个节点的所有人都审核
|
||||
if (filteredList.size() == 0) {
|
||||
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
directApplyInfoNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId());
|
||||
directApplyInfoNew.setConfigValue(configValueNew);
|
||||
} else {
|
||||
if (sysWorkflowRecordHistoryList.size() > 0) {
|
||||
directApplyInfoNew.setNodeId(directApplyInfoNew.getNodeId());
|
||||
directApplyInfoNew.setConfigValue(filteredList.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return directApplyInfoList;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -102,7 +144,7 @@ public class DirectAuditImpl implements IDirectAuditService {
|
|||
|
||||
String isAccept = audit.getIsAccept();
|
||||
String remark = audit.getRemark();
|
||||
List<SysWorkflowNode> nodes = wfnMapper.selectSysWorkflowNodeList(node);
|
||||
List<SysWorkflowNode> nodes = sysWorkflowNodeMapper.selectSysWorkflowNodeList(node);
|
||||
int flowId = audit.getFlowId();
|
||||
if(nodes !=null && nodes.size()>0){
|
||||
|
||||
|
|
@ -134,7 +176,7 @@ public class DirectAuditImpl implements IDirectAuditService {
|
|||
his.setCreateBy(SecurityUtils.getUsername());
|
||||
his.setCreateTime(new Date());
|
||||
his.setRemark(remark);
|
||||
hisMapper.addSysWorkflowRecordHistory(his) ;
|
||||
sysWorkflowRecordHistoryMapper.addSysWorkflowRecordHistory(his) ;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,8 +15,9 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
|
||||
|
|
@ -55,8 +56,11 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
|
|||
int count = sysWorkflowNodeMapper.addSysWorkflowNode(sysWorkflowNode);
|
||||
SysWorkflowConfig sysWorkflowConfig = new SysWorkflowConfig();
|
||||
sysWorkflowConfig.setNodeId(sysWorkflowNode.getId());
|
||||
sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType());
|
||||
sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignConfig());
|
||||
sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues());
|
||||
if (sysWorkflowNode.getNodeSignConfig()==0){
|
||||
sysWorkflowConfig.setRoleIds(sysWorkflowNode.getRoleIds());
|
||||
}
|
||||
//新增审核详情表信息
|
||||
sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig);
|
||||
return count;
|
||||
|
|
@ -90,8 +94,11 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
|
|||
sysWorkflowConfig.setNodeId(sysWorkflowNode.getId());
|
||||
sysWorkflowConfigMapper.deleteSysWorkflowConfig(sysWorkflowConfig);
|
||||
sysWorkflowConfig.setNodeId(sysWorkflowNode.getId());
|
||||
sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType());
|
||||
sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignConfig());
|
||||
sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues());
|
||||
if (sysWorkflowNode.getNodeSignConfig()==0){
|
||||
sysWorkflowConfig.setRoleIds(sysWorkflowNode.getRoleIds());
|
||||
}
|
||||
//新增审核详情表信息
|
||||
sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig);
|
||||
return count;
|
||||
|
|
@ -106,42 +113,54 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
|
|||
sysWorkflowRecordHistory.setRecordId(SysWorkflowNode.getRecordId());
|
||||
sysWorkflowRecordHistory.setNodeId(SysWorkflowNode.getNodeId());
|
||||
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
if (StringUtils.isNotNull(sysWorkflowRecordHistoryList)){
|
||||
if (sysWorkflowRecordHistoryList.size()>0){
|
||||
//判断是或签还是会签0:或签 1:会签
|
||||
if (0==SysWorkflowNode.getNodeSignType()){
|
||||
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept());
|
||||
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime());
|
||||
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark());
|
||||
}else {
|
||||
String[] ConfigValue =SysWorkflowNode.getConfigValues().split(",");
|
||||
String[] configValue = SysWorkflowNode.getConfigValues().split(",");
|
||||
List<String> filteredList = Arrays.stream(configValue).collect(Collectors.toList());
|
||||
// 过滤数组元素
|
||||
for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) {
|
||||
/*List<String> filteredList = Arrays.stream(ConfigValue)
|
||||
.filter(value -> value.equals(sysWorkflowRecordHistoryNew.getCreateBy()))
|
||||
// 过滤数组元素
|
||||
filteredList = filteredList.stream()
|
||||
.filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy()))
|
||||
.collect(Collectors.toList());
|
||||
//判断是不是所有人都审核完成
|
||||
if(filteredList.size()==0){
|
||||
|
||||
}*/
|
||||
//查看当前人是否审核
|
||||
if(userId.toString().equals(sysWorkflowRecordHistoryNew.getCreateBy())){
|
||||
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryNew.getIsAccept());
|
||||
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryNew.getCreateTime());
|
||||
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryNew.getRemark());
|
||||
}
|
||||
//查看别人审核是否有驳回的
|
||||
if (sysWorkflowRecordHistoryNew.getIsAccept().equals(2)){
|
||||
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryNew.getIsAccept());
|
||||
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryNew.getCreateTime());
|
||||
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryNew.getRemark());
|
||||
//获取所有的审核状态
|
||||
List<Integer> isAcceptList =sysWorkflowRecordHistoryList.stream()
|
||||
.map(SysWorkflowRecordHistory::getIsAccept)
|
||||
.collect(Collectors.toList());
|
||||
//判断是否有人是驳回
|
||||
if(isAcceptList.contains(2)){
|
||||
//获取驳回信息
|
||||
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryListNew = sysWorkflowRecordHistoryList.stream()
|
||||
.filter(value ->value != null && 2==(value.getIsAccept()))
|
||||
.collect(Collectors.toList());
|
||||
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryListNew.get(0).getIsAccept());
|
||||
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryListNew.get(0).getCreateTime());
|
||||
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryListNew.get(0).getRemark());
|
||||
}else {
|
||||
//获取当前人的审核信息
|
||||
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryListNew = sysWorkflowRecordHistoryList.stream()
|
||||
.filter(value ->value != null && userId.toString().equals(value.getCreateBy()))
|
||||
.collect(Collectors.toList());
|
||||
//判断当前人是否是这个节点的审核人
|
||||
if (!sysWorkflowRecordHistoryListNew.isEmpty()){
|
||||
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryListNew.get(0).getIsAccept());
|
||||
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryListNew.get(0).getCreateTime());
|
||||
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryListNew.get(0).getRemark());
|
||||
}else {
|
||||
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept());
|
||||
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime());
|
||||
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return sysWorkflowNodeList;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,10 +11,7 @@ import com.bonus.material.work.domain.SysWorkflowRecord;
|
|||
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
|
||||
import com.bonus.material.work.domain.SysWorkflowType;
|
||||
import com.bonus.material.work.domain.dto.SysWorkflowAuditDto;
|
||||
import com.bonus.material.work.mapper.SysWorkflowNodeMapper;
|
||||
import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper;
|
||||
import com.bonus.material.work.mapper.SysWorkflowRecordMapper;
|
||||
import com.bonus.material.work.mapper.SysWorkflowTypeMapper;
|
||||
import com.bonus.material.work.mapper.*;
|
||||
import com.bonus.material.work.service.SysWorkflowRecordHistoryService;
|
||||
import com.bonus.material.work.service.SysWorkflowRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -22,7 +19,9 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
|
|
@ -35,7 +34,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
private ISltAgreementReduceService sltAgreementReduceService;
|
||||
|
||||
@Resource
|
||||
private SysWorkflowTypeMapper sysWorkflowTypeMapper;
|
||||
private SysWorkflowConfigMapper sysWorkflowConfigMapper;
|
||||
|
||||
@Resource
|
||||
private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper;
|
||||
|
|
@ -80,36 +79,56 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
}
|
||||
//判断是否是最后一级
|
||||
if (sysWorkflowNodeList.get(sysWorkflowNodeList.size()-1).getId().equals(sysWorkflowRecordHistory.getNodeId())){
|
||||
SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord();
|
||||
sysWorkflowRecord.setTaskId(sysWorkflowRecordHistory.getTaskId());
|
||||
sysWorkflowRecord.setWorkflowStatus(2);
|
||||
sysWorkflowRecordMapper.updateSysWorkflowRecord(sysWorkflowRecord);
|
||||
System.out.println("-------------节点更新任务信息为完成-------------");
|
||||
SysWorkflowAuditDto sysWorkflowRecodeInfo = sysWorkflowRecordMapper.getSysWorkflowRecodeByTaskId(sysWorkflowRecordHistory.getTaskId());
|
||||
if (sysWorkflowRecodeInfo == null) {
|
||||
throw new ServiceException("任务类型为空");
|
||||
//判断最后节点是否所有人都审核完成
|
||||
sysWorkflowRecordHistory.setRecordId(sysWorkflowRecordHistory.getRecordId());
|
||||
sysWorkflowRecordHistory.setNodeId(sysWorkflowRecordHistory.getNodeId());
|
||||
//获取这个节点所有审核信息
|
||||
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
//获取该节点需要审核人员信息
|
||||
String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistory.getNodeId());
|
||||
sysWorkflowNode = sysWorkflowNodeList.get(sysWorkflowNodeList.size()-1);
|
||||
String[] ConfigValue = configValueNew.split(",");
|
||||
List<String> filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList());
|
||||
for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) {
|
||||
if (sysWorkflowRecordHistoryNew!=null){
|
||||
// 过滤数组元素
|
||||
filteredList = filteredList.stream()
|
||||
.filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy()))
|
||||
.collect(Collectors.toList());
|
||||
//判断是否这个节点的所有人都审核
|
||||
if ((filteredList.size()==0&& sysWorkflowNode.getNodeSignType()==1 )||sysWorkflowNode.getNodeSignType()==0){
|
||||
SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord();
|
||||
sysWorkflowRecord.setTaskId(sysWorkflowRecordHistory.getTaskId());
|
||||
sysWorkflowRecord.setWorkflowStatus(2);
|
||||
sysWorkflowRecordMapper.updateSysWorkflowRecord(sysWorkflowRecord);
|
||||
System.out.println("-------------节点更新任务信息为完成-------------");
|
||||
SysWorkflowAuditDto sysWorkflowRecodeInfo = sysWorkflowRecordMapper.getSysWorkflowRecodeByTaskId(sysWorkflowRecordHistory.getTaskId());
|
||||
if (sysWorkflowRecodeInfo == null) {
|
||||
throw new ServiceException("任务类型为空");
|
||||
}
|
||||
// 根据任务类型修改业务状态
|
||||
switch (sysWorkflowRecodeInfo.getTaskType()) {
|
||||
// 领料任务:2
|
||||
case 2:
|
||||
//修改业务状态
|
||||
TmTask tmTask = new TmTask();
|
||||
tmTask.setTaskId(sysWorkflowRecordHistory.getTaskId().longValue());
|
||||
tmTask.setTaskStatus(1);
|
||||
tmTaskMapper.updateTmTask(tmTask);
|
||||
System.out.println("-------------执行了最后业务办理领料-------------");
|
||||
break;
|
||||
// 费用减免:13
|
||||
case 13:
|
||||
sltAgreementReduceService.audit(sysWorkflowRecodeInfo);
|
||||
System.out.println("-------------执行了最后业务办理费用减免-------------");
|
||||
break;
|
||||
// 工地直转16
|
||||
case 16:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 根据任务类型修改业务状态
|
||||
switch (sysWorkflowRecodeInfo.getTaskType()) {
|
||||
// 领料任务:2
|
||||
case 2:
|
||||
//修改业务状态
|
||||
TmTask tmTask = new TmTask();
|
||||
tmTask.setTaskId(sysWorkflowRecordHistory.getTaskId().longValue());
|
||||
tmTask.setTaskStatus(1);
|
||||
tmTaskMapper.updateTmTask(tmTask);
|
||||
System.out.println("-------------执行了最后业务办理领料-------------");
|
||||
break;
|
||||
// 费用减免:13
|
||||
case 13:
|
||||
sltAgreementReduceService.audit(sysWorkflowRecodeInfo);
|
||||
System.out.println("-------------执行了最后业务办理费用减免-------------");
|
||||
break;
|
||||
// 工地直转16
|
||||
case 16:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}else {
|
||||
SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord();
|
||||
|
|
@ -119,4 +138,5 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,9 +113,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
AND mt1.del_flag = '0'
|
||||
LEFT JOIN ma_type mt2 ON mt1.parent_id = mt2.type_id
|
||||
AND mt2.del_flag = '0'
|
||||
LEFT JOIN lease_apply_info lai ON lod.parent_id = lai.id
|
||||
LEFT JOIN tm_task_agreement tta ON lai.task_id = tta.task_id
|
||||
LEFT JOIN bm_agreement_info ba ON tta.agreement_id = ba.agreement_id
|
||||
LEFT JOIN slt_agreement_info sai on lod.type_id = sai.type_id
|
||||
LEFT JOIN bm_agreement_info ba ON sai.agreement_id = ba.agreement_id
|
||||
WHERE
|
||||
1 = 1 and mm.ma_status = '2' and mm.type_id = #{typeId}
|
||||
AND ba.unit_id = #{unitId}
|
||||
|
|
|
|||
|
|
@ -321,11 +321,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
WHEN bs.out_type = '2' THEN '二维码'
|
||||
WHEN bs.out_type = '3' THEN '标准箱'
|
||||
ELSE '未知入库方式'
|
||||
END AS outStyle
|
||||
END AS outStyle,
|
||||
mt3.type_id as firstTypeId,
|
||||
mt2.type_id as secondTypeId
|
||||
FROM
|
||||
bm_storage_log bs
|
||||
LEFT JOIN tm_task_agreement tta ON tta.task_id = bs.task_id
|
||||
LEFT JOIN bm_agreement_info bai ON bai.agreement_id = tta.agreement_id
|
||||
LEFT JOIN bm_agreement_info bai ON bai.agreement_id = bs.agreement_id
|
||||
LEFT JOIN bm_project bpl ON bpl.pro_id = bai.project_id
|
||||
LEFT JOIN sys_dept sd on sd.dept_id = bpl.imp_unit
|
||||
LEFT JOIN bm_unit bui ON bui.unit_id = bai.unit_id
|
||||
|
|
@ -333,6 +334,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
AND mt.del_flag = '0'
|
||||
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
||||
AND mt1.del_flag = '0'
|
||||
LEFT JOIN ma_type mt2 ON mt1.parent_id = mt2.type_id
|
||||
AND mt2.del_flag = '0'
|
||||
LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id
|
||||
AND mt3.del_flag = '0'
|
||||
LEFT JOIN tm_task tt ON bs.task_id = tt.task_id
|
||||
WHERE bs.out_num != 0
|
||||
<if test="unitId != null">
|
||||
|
|
@ -358,6 +363,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="typeModelName != null and typeModelName != ''">
|
||||
and bs.type_model_name like CONCAT('%',#{typeModelName},'%')
|
||||
</if>
|
||||
<if test="firstTypeId != null ">
|
||||
and mt3.type_id = #{firstTypeId}
|
||||
</if>
|
||||
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||||
AND bs.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
|
||||
</if>
|
||||
|
|
|
|||
|
|
@ -297,6 +297,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
mt.type_name AS typeModelName,
|
||||
mt.unit_name AS unit,
|
||||
lod.out_num AS num,
|
||||
lod.ma_id AS maId,
|
||||
mm.ma_code AS maCode,
|
||||
mt.rated_load AS ratedLoad,
|
||||
mt.test_load AS testLoad,
|
||||
|
|
@ -383,4 +384,62 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
ORDER BY
|
||||
lod.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectByMaId" resultType="com.bonus.material.lease.domain.vo.LeaseOutVo">
|
||||
SELECT
|
||||
lod.parent_id AS id,
|
||||
mt1.type_name AS typeName,
|
||||
mt.type_name AS typeModelName,
|
||||
mt.unit_name AS unit,
|
||||
lod.out_num AS num,
|
||||
mm.ma_code AS maCode,
|
||||
mt.rated_load AS ratedLoad,
|
||||
mt.test_load AS testLoad,
|
||||
mt.holding_time AS holdingTime,
|
||||
DATE(lod.create_time) AS testTime,
|
||||
'合格' AS checkResult,
|
||||
lad.remark AS remark,
|
||||
DATE(DATE_SUB(DATE_ADD(lod.create_time, INTERVAL 1 YEAR), INTERVAL 1 DAY)) AS nextTestTime -- 计算 nextTestTime
|
||||
FROM
|
||||
lease_out_details lod
|
||||
LEFT JOIN ma_type mt ON lod.type_id = mt.type_id AND mt.del_flag = '0'
|
||||
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0'
|
||||
LEFT JOIN ma_machine mm ON lod.ma_id = mm.ma_id
|
||||
LEFT JOIN lease_apply_details lad ON lod.type_id = lad.type_id
|
||||
LEFT JOIN purchase_check_details pcd ON lod.type_id = pcd.type_id
|
||||
WHERE lod.ma_id = #{maId}
|
||||
GROUP BY lod.type_id, mm.ma_code
|
||||
ORDER BY lod.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="getDetailsPublish" resultType="com.bonus.material.lease.domain.LeaseApplyDetails">
|
||||
SELECT
|
||||
lpd.id AS id,
|
||||
lpd.parent_id AS parentId,
|
||||
mt1.type_name AS maTypeName,
|
||||
mt.type_name AS typeName,
|
||||
mt.unit_name AS unitName,
|
||||
lpd.new_type AS typeId,
|
||||
IFNULL( lpd.num, 0 ) AS preNum,
|
||||
IFNULL( lpd.num, 0 ) - IFNULL( SUM( lod.out_num ), 0 ) AS outNum,
|
||||
IFNULL( SUM( lod.out_num ), 0 ) AS alNum,
|
||||
lpd.publish_task AS publishTask
|
||||
FROM
|
||||
lease_publish_details lpd
|
||||
LEFT JOIN ma_type mt ON lpd.new_type = mt.type_id
|
||||
AND mt.del_flag = '0'
|
||||
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
||||
AND mt1.del_flag = '0'
|
||||
LEFT JOIN lease_out_details lod ON lpd.parent_id = lod.parent_id
|
||||
AND lpd.publish_task = lod.publish_task
|
||||
WHERE
|
||||
lpd.publish_task = #{publishTask}
|
||||
<if test="keyWord != null and keyWord != ''">
|
||||
AND (mt1.type_name LIKE CONCAT(CONCAT('%', #{keyWord}), '%')
|
||||
OR mt.type_name LIKE CONCAT(CONCAT('%', #{keyWord}), '%'))
|
||||
</if>
|
||||
GROUP BY
|
||||
lpd.new_type
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -247,4 +247,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
left join sys_dept sd on su.dept_id = sd.dept_id and sd.del_flag = 0
|
||||
where su.user_id = #{directAuditBy} and su.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="selectPublishList" resultType="com.bonus.common.biz.domain.lease.LeaseApplyInfo">
|
||||
SELECT
|
||||
lai.id AS id,
|
||||
lai.code AS code,
|
||||
lai.create_by AS createBy,
|
||||
lai.create_time AS createTime,
|
||||
sd.dept_name AS impUnitName,
|
||||
bp.contract_part AS contractPart,
|
||||
lpd.lease_person AS leasePerson,
|
||||
lpd.phone AS phone,
|
||||
lpd.unit_id AS leaseUnitId,
|
||||
lpd.project_id AS leaseProjectId,
|
||||
bu.unit_name AS leaseUnit,
|
||||
bp.pro_name AS leaseProject,
|
||||
bai.agreement_code AS agreementCode,
|
||||
IFNULL( sum( lpd.num ), 0 ) AS preCountNum,
|
||||
IFNULL( sum( lod.out_num ), 0 ) AS alNum,
|
||||
GROUP_CONCAT( mt1.type_name ) AS maTypeNames,
|
||||
lpd.publish_task AS publishTask
|
||||
FROM
|
||||
lease_publish_details lpd
|
||||
LEFT JOIN lease_apply_info lai ON lai.id = lpd.parent_id
|
||||
LEFT JOIN tm_task tt ON lai.task_id = tt.task_id
|
||||
LEFT JOIN lease_out_details lod ON lpd.parent_id = lod.parent_id
|
||||
AND lpd.publish_task = lod.publish_task
|
||||
LEFT JOIN bm_unit bu ON bu.unit_id = lpd.unit_id
|
||||
LEFT JOIN bm_project bp ON bp.pro_id = lpd.project_id
|
||||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||||
LEFT JOIN ma_type mt ON lpd.new_type = mt.type_id
|
||||
AND mt.del_flag = '0'
|
||||
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
||||
AND mt1.del_flag = '0'
|
||||
LEFT JOIN bm_agreement_info bai ON lpd.unit_id = bai.unit_id
|
||||
AND lpd.project_id = bai.project_id
|
||||
GROUP BY
|
||||
lpd.publish_task
|
||||
ORDER BY
|
||||
lpd.create_time DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -107,6 +107,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="carCode!= null">
|
||||
car_code,
|
||||
</if>
|
||||
<if test="publishTask != null and publishTask != ''">
|
||||
publish_task,
|
||||
</if>
|
||||
create_time,
|
||||
update_time
|
||||
</trim>
|
||||
|
|
@ -141,6 +144,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="carCode!= null">
|
||||
#{carCode},
|
||||
</if>
|
||||
<if test="publishTask != null and publishTask != ''">
|
||||
#{publishTask},
|
||||
</if>
|
||||
NOW(),
|
||||
NOW()
|
||||
</trim>
|
||||
|
|
|
|||
|
|
@ -38,6 +38,9 @@
|
|||
<result property="leaseSignUrl" column="lease_sign_url"/>
|
||||
<result property="leaseSignType" column="lease_sign_type"/>
|
||||
<result property="applyCode" column="apply_code"/>
|
||||
<result property="nextNodeId" column="next_node_id"/>
|
||||
<result property="nodeId" column="node_id"/>
|
||||
<result property="recordId" column="record_id"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.bonus.material.lease.domain.LeaseApplyDetails" id="LeaseApplyDetailsResult">
|
||||
|
|
@ -262,6 +265,44 @@
|
|||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="addPublish">
|
||||
insert into lease_publish_details
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="parentId != null">parent_id,</if>
|
||||
<if test="typeId != null">type_id,</if>
|
||||
<if test="newTypeId != null">new_type,</if>
|
||||
<if test="num != null">num,</if>
|
||||
<if test="leasePerson != null">lease_person,</if>
|
||||
<if test="phone != null">phone,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="unitId != null">unit_id,</if>
|
||||
<if test="projectId != null">project_id,</if>
|
||||
<if test="monthOrder != null">month_order,</if>
|
||||
<if test="publishTask != null and publishTask != ''">publish_task,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="parentId != null">#{parentId},</if>
|
||||
<if test="typeId != null">#{typeId},</if>
|
||||
<if test="newTypeId != null">#{newTypeId},</if>
|
||||
<if test="num != null">#{num},</if>
|
||||
<if test="leasePerson != null">#{leasePerson},</if>
|
||||
<if test="phone != null">#{phone},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="unitId != null">#{unitId},</if>
|
||||
<if test="projectId != null">#{projectId},</if>
|
||||
<if test="monthOrder != null">#{monthOrder},</if>
|
||||
<if test="publishTask != null and publishTask != ''">#{publishTask},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateLeaseApplyInfo">
|
||||
update lease_apply_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
|
|
@ -465,14 +506,15 @@
|
|||
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,tt.task_id as taskId,
|
||||
bai.unit_id,bai.project_id,bu.unit_name, bp.pro_name,bai.agreement_id, bai.agreement_code, swr.workflow_status as taskStatus,
|
||||
|
||||
tt.task_id as taskId,swn.node_sign_type as nodeSignType,
|
||||
lai.unit_id,lai.project_id,bu.unit_name, bp.pro_name, swr.workflow_status as taskStatus,bai.agreement_code,
|
||||
swrs.node_id,swrs.next_node_id,swrs.record_id,
|
||||
case tt.task_status
|
||||
when 0 then '待审核'
|
||||
when 1 then '执行中'
|
||||
when 2 then '执行完成'
|
||||
when 3 then '执行中断'
|
||||
when 1 then '待审核'
|
||||
when 2 then '审核中'
|
||||
when 3 then '已完成'
|
||||
when 4 then '已完成'
|
||||
end as taskStatusName,
|
||||
IFNULL(sum(lad.pre_num),0) as preCountNum,
|
||||
IFNULL(sum(lad.al_num),0) as alNum,
|
||||
|
|
@ -485,8 +527,8 @@
|
|||
left join lease_apply_details lad on lai.id = lad.parent_id
|
||||
left join tm_task_agreement tta on lai.task_id = tta.task_id
|
||||
left join bm_agreement_info bai on tta.agreement_id = bai.agreement_id
|
||||
left join bm_unit bu on bu.unit_id = bai.unit_id
|
||||
left join bm_project bp on bp.pro_id = bai.project_id
|
||||
left join bm_unit bu on bu.unit_id = lai.unit_id
|
||||
left join bm_project bp on bp.pro_id = lai.project_id
|
||||
left join sys_dept sd on sd.dept_id = bp.imp_unit
|
||||
left join sys_dict_data sda on tt.task_status = sda.dict_value
|
||||
and sda.dict_type = 'lease_task_status'
|
||||
|
|
@ -496,8 +538,9 @@
|
|||
left join sys_workflow_type swt on swr.workflow_id = swt.id
|
||||
left join sys_workflow_node swn on swt.id = swn.type_id
|
||||
left join sys_workflow_config swc on swn.id = swc.node_id
|
||||
left join sys_workflow_record_history swrs on swr.id = swrs.record_id
|
||||
where 1=1
|
||||
<if test="userId != null and userId != ''">and swc.config_value = #{userId}</if>
|
||||
<if test="userId != null and userId != ''">and swc.config_value LIKE CONCAT('%', #{userId}, '%')</if>
|
||||
<if test="code != null and code != ''">and lai.code = #{code}</if>
|
||||
<if test="taskId != null ">and lai.task_id = #{taskId}</if>
|
||||
<if test="leasePerson != null and leasePerson != ''">and lai.lease_person = #{leasePerson}</if>
|
||||
|
|
@ -545,7 +588,6 @@
|
|||
<if test="costBearingParty != null and costBearingParty != ''">and lai.cost_bearing_party =
|
||||
#{costBearingParty}
|
||||
</if>
|
||||
and lai.apply_code is not null
|
||||
<if test="isApp != null and taskStatus==1">and (tt.task_status = 0 or tt.task_status = 1 or tt.task_status = 2) </if>
|
||||
<if test="isApp != null and taskStatus==3">and (tt.task_status = 3 or tt.task_status = 4)</if>
|
||||
GROUP BY lai.id
|
||||
|
|
@ -611,6 +653,14 @@
|
|||
where task_Id = #{taskId}
|
||||
</update>
|
||||
|
||||
<update id="updatePublish">
|
||||
update lease_apply_details
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="num != null">publish_num = IFNULL(publish_num, 0) + #{num},</if>
|
||||
</trim>
|
||||
where parent_id = #{parentId} and type_id = #{typeId}
|
||||
</update>
|
||||
|
||||
<select id="getApplyInfo" resultType="com.bonus.common.biz.domain.lease.LeaseApplyInfo">
|
||||
select
|
||||
lai.code as code,lai.lease_person as leasePerson,lai.phone as phone,lai.create_by as createBy,
|
||||
|
|
@ -683,6 +733,9 @@
|
|||
GROUP BY
|
||||
mt.type_id
|
||||
) AS subquery0 ON subquery0.type_id = mt.type_id
|
||||
<if test="userId != null">
|
||||
JOIN ma_type_keeper mtk ON mtk.type_id = lad.type_id AND mtk.user_id = #{userId}
|
||||
</if>
|
||||
WHERE
|
||||
lad.parent_id = #{id}
|
||||
</select>
|
||||
|
|
@ -699,11 +752,9 @@
|
|||
lai.unit_id,lai.project_id,bu.unit_name, bp.pro_name, tt.task_status as taskStatus,
|
||||
|
||||
case tt.task_status
|
||||
when 0 then '待审核'
|
||||
when 1 then '待审核'
|
||||
when 2 then '审核中'
|
||||
when 1 then '未完成'
|
||||
when 2 then '已终结'
|
||||
when 3 then '已完成'
|
||||
when 4 then '已完成'
|
||||
end as taskStatusName,
|
||||
IFNULL(sum(lad.pre_num),0) as preCountNum,
|
||||
IFNULL(sum(lad.al_num),0) as alNum,
|
||||
|
|
@ -722,8 +773,11 @@
|
|||
and sda.dict_type = 'lease_task_status'
|
||||
left join ma_type mt on lad.type_id = mt.type_id and mt.del_flag = '0'
|
||||
left join ma_type mt1 on mt.parent_id = mt1.type_id and mt1.del_flag = '0'
|
||||
<if test="userId != null">
|
||||
JOIN ma_type_keeper mtk ON mtk.type_id = lad.type_id AND mtk.user_id = #{userId}
|
||||
</if>
|
||||
where tt.task_type = '19'
|
||||
and tt.task_status = '1'
|
||||
and tt.task_status in (1, 2, 3)
|
||||
<if test="taskId != null ">and lai.task_id = #{taskId}</if>
|
||||
<if test="statusList != null and statusList.size() > 0">
|
||||
and tt.task_status in
|
||||
|
|
@ -739,4 +793,24 @@
|
|||
GROUP BY lai.id
|
||||
ORDER BY tt.task_status,tt.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectLeaseApplyDetailsById" resultType="com.bonus.material.lease.domain.LeaseApplyDetails">
|
||||
SELECT
|
||||
parent_id AS parentId,
|
||||
type_id AS typeId,
|
||||
IFNULL( SUM(pre_num), 0 ) AS preNum,
|
||||
IFNULL( SUM(publish_num), 0 ) AS publishNum
|
||||
FROM
|
||||
lease_apply_details
|
||||
WHERE
|
||||
parent_id = #{parentId}
|
||||
GROUP BY
|
||||
parent_id
|
||||
</select>
|
||||
|
||||
<select id="getMonthMaxOrderByDate" resultType="java.lang.Integer">
|
||||
select COALESCE(max(month_order), 0) from lease_publish_details
|
||||
where
|
||||
month(create_time) = #{month} and year(create_time) = #{year}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -421,16 +421,56 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
mm.check_man as checkMan,
|
||||
mm.inspect_man as inspectMan,
|
||||
mm.phone,
|
||||
mm.inspect_status as inspectStatus,
|
||||
'合格' as inspectStatus,
|
||||
mm.ma_vender as maVender,
|
||||
mm.ex_code as exCode,
|
||||
mm.ex_url as exUrl,
|
||||
mm.is_jj as isJj
|
||||
mm.is_jj as isJj,
|
||||
mm.type_id as typeId
|
||||
FROM
|
||||
ma_machine mm
|
||||
LEFT JOIN ma_type mt on mt.type_id=mm.type_id
|
||||
LEFT JOIN ma_type mt2 on mt2.type_id=mt.parent_id
|
||||
WHERE
|
||||
mm.ma_status = '2' and
|
||||
mm.ma_code like concat('%', #{maCode}, '%')
|
||||
</select>
|
||||
|
||||
<select id="selectMaId" resultType="java.lang.Long">
|
||||
select ma_id
|
||||
from ma_machine
|
||||
WHERE ma_code = #{maCode}
|
||||
</select>
|
||||
|
||||
<select id="selectHouse" resultType="com.bonus.material.ma.domain.Machine">
|
||||
SELECT
|
||||
whi.house_name as ownHouse
|
||||
FROM
|
||||
ma_type mt
|
||||
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
||||
AND mt1.del_flag = '0'
|
||||
LEFT JOIN ma_type mt2 ON mt1.parent_id = mt2.type_id
|
||||
AND mt2.del_flag = '0'
|
||||
LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id
|
||||
AND mt3.del_flag = '0'
|
||||
LEFT JOIN wh_house_set whs ON mt3.type_id = whs.type_id
|
||||
LEFT JOIN wh_house_info whi ON whs.house_id = whi.house_id
|
||||
WHERE
|
||||
mt.type_id = #{typeId}
|
||||
</select>
|
||||
|
||||
<select id="getByMaCode" resultType="com.bonus.material.ma.domain.Machine">
|
||||
SELECT
|
||||
mm.ma_id as maId,
|
||||
mt2.type_name as materialName,
|
||||
mt.type_name as materialModel,
|
||||
mm.ma_code as maCode
|
||||
FROM
|
||||
ma_machine mm
|
||||
LEFT JOIN ma_type mt on mt.type_id=mm.type_id
|
||||
LEFT JOIN ma_type mt2 on mt2.type_id=mt.parent_id
|
||||
WHERE
|
||||
mm.ma_status = '2' and
|
||||
mm.ma_code like concat('%', #{maCode}, '%')
|
||||
</select>
|
||||
|
||||
|
|
|
|||
|
|
@ -918,4 +918,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
WHERE sai.agreement_id = #{agreementId}
|
||||
AND sai.STATUS = '0')
|
||||
</select>
|
||||
|
||||
<select id="getListLevel" resultType="com.bonus.material.ma.domain.vo.MaTypeVo">
|
||||
SELECT
|
||||
type_id AS typeId,
|
||||
type_name AS typeName
|
||||
FROM
|
||||
ma_type
|
||||
WHERE `level` = '1'
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -120,15 +120,19 @@
|
|||
|
||||
<select id="getAuditList" resultType="com.bonus.material.settlement.domain.SltAgreementReduce">
|
||||
SELECT
|
||||
sra.id as id,sra.id as taskId,
|
||||
sra.id as id,swr.task_id as taskId,
|
||||
sra.create_time as createTime,
|
||||
su.user_name as createBy,
|
||||
bu.unit_name as unitName,
|
||||
bp.pro_name as projectName,
|
||||
SUM(srd.lease_price * srd.num) as leasePrice,
|
||||
SUM(srd.lease_money) as leaseMoney,
|
||||
sra.`status`,
|
||||
a.leaseMoneyAll as leaseMoneyAll
|
||||
swr.workflow_status as status,
|
||||
a.leaseMoneyAll as leaseMoneyAll,
|
||||
swrs.node_id AS nodeId,
|
||||
swrs.next_node_id AS nextNodeId,
|
||||
swrs.record_id AS recordId,
|
||||
swn.node_sign_type as nodeSignType
|
||||
FROM
|
||||
slt_reduce_apply sra
|
||||
LEFT JOIN slt_reduce_details srd on sra.id=srd.apply_id
|
||||
|
|
@ -140,7 +144,7 @@
|
|||
LEFT JOIN sys_workflow_type swt on swr.workflow_id = swt.id
|
||||
LEFT JOIN sys_workflow_node swn on swt.id = swn.type_id
|
||||
LEFT JOIN sys_workflow_config swc on swn.id = swc.node_id
|
||||
|
||||
left join sys_workflow_record_history swrs on swr.id = swrs.record_id
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
|
|
@ -178,4 +182,4 @@
|
|||
GROUP BY sra.id
|
||||
ORDER BY sra.create_time DESC
|
||||
</select>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -104,4 +104,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<select id="selectAgreementIdByTaskId" resultType="java.lang.Long">
|
||||
select agreement_id from tm_task_agreement where task_id = #{taskId}
|
||||
</select>
|
||||
|
||||
<select id="selectAgreementId" resultType="java.lang.String">
|
||||
SELECT bai.agreement_id
|
||||
FROM bm_agreement_info bai
|
||||
LEFT JOIN lease_publish_details lpd ON bai.unit_id = lpd.unit_id
|
||||
AND bai.project_id = lpd.project_id
|
||||
WHERE lpd.publish_task = #{publishTask}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -16,6 +16,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<result property="remark" column="remark" />
|
||||
<result property="companyId" column="company_id" />
|
||||
<result property="monthOrder" column="month_order" />
|
||||
<result property="splitType" column="split_type" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectTmTaskVo">
|
||||
|
|
@ -46,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="preTaskId != null">pre_task_id,</if>
|
||||
<if test="taskType != null">task_type,</if>
|
||||
<if test="splitType != null">split_type,</if>
|
||||
<if test="taskStatus != null">task_status,</if>
|
||||
<if test="code != null">`code`,</if>
|
||||
<if test="monthOrder != null">month_order,</if>
|
||||
|
|
@ -59,6 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="preTaskId != null">#{preTaskId},</if>
|
||||
<if test="taskType != null">#{taskType},</if>
|
||||
<if test="splitType != null">#{splitType},</if>
|
||||
<if test="taskStatus != null">#{taskStatus},</if>
|
||||
<if test="code != null">#{code},</if>
|
||||
<if test="monthOrder != null">#{monthOrder},</if>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<mapper namespace="com.bonus.material.work.mapper.DirectAuditMapper">
|
||||
|
||||
<select id="getList" resultType="com.bonus.material.ma.domain.DirectApplyInfo">
|
||||
SELECT DISTINCT
|
||||
SELECT
|
||||
dai.Id,
|
||||
dai.create_time AS createTime,
|
||||
su.user_name AS createName,
|
||||
|
|
@ -18,7 +18,11 @@
|
|||
bpl1.pro_name AS leaseProName,
|
||||
dai.lease_man as leaseMan ,
|
||||
swr.workflow_status as flowStatus,
|
||||
swr.id as flowId
|
||||
swr.task_id as flowId,
|
||||
swrs.node_id AS nodeId,
|
||||
swrs.next_node_id AS nextNodeId,
|
||||
swrs.record_id AS recordId,
|
||||
swn.node_sign_type as nodeSignType
|
||||
FROM
|
||||
direct_apply_info dai
|
||||
LEFT JOIN bm_agreement_info bai ON dai.back_agreement_id = bai.agreement_id
|
||||
|
|
@ -30,6 +34,10 @@
|
|||
LEFT JOIN direct_apply_details dad on dad.direct_id=dai.id
|
||||
left join sys_user su on dai.create_by = su.user_id
|
||||
left join sys_workflow_record swr on dai.id = swr.task_id
|
||||
left join sys_workflow_type swt on swr.workflow_id = swt.id
|
||||
left join sys_workflow_node swn on swt.id = swn.type_id
|
||||
left join sys_workflow_config swc on swn.id = swc.node_id
|
||||
left join sys_workflow_record_history swrs on swr.id = swrs.record_id
|
||||
<where>
|
||||
swr.task_id is not null
|
||||
<if test="keyWord != null and keyWord != ''">
|
||||
|
|
@ -52,7 +60,7 @@
|
|||
<if test="isApp != null and taskStatus==0">and dai.status = 0 </if>
|
||||
<if test="isApp != null and taskStatus==1">and (dai.status = 1 or dai.status = 2)</if>
|
||||
</where>
|
||||
order by dai.create_time desc
|
||||
GROUP BY swr.task_id order by dai.create_time desc
|
||||
</select>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="configType != null">config_type,</if>
|
||||
<if test="configValue != null">config_value,</if>
|
||||
<if test="isEnable != null">is_enable,</if>
|
||||
<if test="roleIds != null">roleIds,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="nodeId != null">#{nodeId},</if>
|
||||
<if test="configType != null">#{configType},</if>
|
||||
<if test="configValue != null">#{configValue},</if>
|
||||
<if test="isEnable != null">#{isEnable},</if>
|
||||
<if test="roleIds != null">#{roleIds},</if>
|
||||
</trim>
|
||||
|
||||
</insert>
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<select id="selectSysWorkflowNodeList" resultType="com.bonus.material.work.domain.SysWorkflowNode">
|
||||
select swn.id as id, swn.type_id typeId, swn.node_name as nodeName, swn.node_sort as nodeSort,
|
||||
swn.node_sign_type as nodeSignType, swn.node_sign_config as nodeSignConfig,swn.node_label as nodeLabel,
|
||||
swn.create_by as createBy,swn.create_time as createTime,swn.is_enable as isEnable,
|
||||
swn.create_by as createBy,swn.create_time as createTime,swn.is_enable as isEnable,sec.roleIds as roleIds,
|
||||
GROUP_CONCAT(sec.config_value SEPARATOR ',') AS configValues
|
||||
from sys_workflow_node swn
|
||||
left join sys_workflow_config sec on swn.id= sec.node_id
|
||||
|
|
@ -70,7 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<select id="listByTaskId" resultType="com.bonus.material.work.domain.SysWorkflowNode">
|
||||
select swn.id as id, swn.type_id typeId, swn.node_name as nodeName, swn.node_sort as nodeSort,
|
||||
swn.node_sign_type as nodeSignType, swn.node_sign_config as nodeSignConfig,swn.id as nodeId,
|
||||
swrh.create_by as createBy,swn.is_enable as isEnable,sec.config_value as configValues,
|
||||
swrh.create_by as createBy,swn.is_enable as isEnable,
|
||||
GROUP_CONCAT(DISTINCT sec.config_value SEPARATOR ',') AS configValues,
|
||||
swr.id as recordId
|
||||
from sys_workflow_node swn
|
||||
|
|
@ -83,6 +83,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
GROUP BY swn.id
|
||||
|
||||
</select>
|
||||
<select id="selectSysWorkflowNodeById" resultType="com.bonus.material.work.domain.SysWorkflowNode">
|
||||
select node_name as nodeName, node_sign_type as nodeSignType
|
||||
from sys_workflow_node where id = #{nodeId}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -28,8 +28,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</insert>
|
||||
<select id="seleteSysWorkflowRecordHistory" resultType="com.bonus.material.work.domain.SysWorkflowRecordHistory">
|
||||
select swrh.is_accept as isAccept,swrh.create_time as createTime,swrh.remark as remark,swrh.next_node_id as nextNodeId,
|
||||
swrh.create_by as createBy
|
||||
swrh.create_by as createBy,swrh.node_id as nodeId
|
||||
from sys_workflow_record_history swrh
|
||||
where swrh.record_id=#{recordId} and swrh.node_id= #{nodeId}
|
||||
</select>
|
||||
<select id="getWorkflowRecordHistoryByRecordId"
|
||||
resultType="com.bonus.material.work.domain.SysWorkflowRecordHistory">
|
||||
SELECT swrh.is_accept as isAccept,swrh.create_time as createTime,swrh.remark as remark,swrh.next_node_id as nextNodeId,
|
||||
swrh.create_by as createBy,swrh.node_id as nodeId,swn.node_sort as nodeSort
|
||||
FROM sys_workflow_record_history swrh
|
||||
left join sys_workflow_node swn on swn.id = swrh.node_id
|
||||
WHERE swrh.record_id =#{recordId} ORDER BY swrh.create_time DESC limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue