增加审批流和修改统计bug
This commit is contained in:
@ -44,17 +44,17 @@ public class BusMaterialsorderController extends BaseController {
|
||||
|
||||
//================================订货================================
|
||||
|
||||
/**
|
||||
* 测试
|
||||
*/
|
||||
@SaCheckPermission("cailiaoshebei:materialsorder:cs")
|
||||
@Log(title = "测试", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/cs")
|
||||
public R<Void> cs(@Validated(EditGroup.class) @RequestBody MaterialsorderPcPlanEditReq req) {
|
||||
busMaterialsorderService.extractDataNewAddition(req.getCbatchNumber(),req.getCprojectId() );
|
||||
return toAjax(true);
|
||||
}
|
||||
// /**
|
||||
// * 测试
|
||||
// */
|
||||
// @SaCheckPermission("cailiaoshebei:materialsorder:cs")
|
||||
// @Log(title = "测试", businessType = BusinessType.UPDATE)
|
||||
// @RepeatSubmit()
|
||||
// @PutMapping("/cs")
|
||||
// public R<Void> cs(@Validated(EditGroup.class) @RequestBody MaterialsorderPcPlanEditReq req) {
|
||||
// busMaterialsorderService.extractDataNewAddition(req.getCbatchNumber(),req.getCprojectId() );
|
||||
// return toAjax(true);
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
|
@ -62,6 +62,11 @@ public class BusCailiaoshebeiPici extends BaseEntity {
|
||||
*/
|
||||
private String approvalProject;
|
||||
|
||||
/**
|
||||
* 审批订货
|
||||
*/
|
||||
private String approvalOrder;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
@ -84,7 +84,7 @@ public class BusMaterialsorder extends BaseEntity {
|
||||
/**
|
||||
* 订货数量
|
||||
*/
|
||||
private Long orderQuantity;
|
||||
private int orderQuantity;
|
||||
|
||||
/**
|
||||
* 预计到货时间
|
||||
|
@ -48,15 +48,15 @@ public class MaterialsorderPcPlanEditReq implements Serializable {
|
||||
private List<BusMaterialsorder> list;
|
||||
|
||||
|
||||
/**
|
||||
* 不管
|
||||
*/
|
||||
private Long cprojectId;
|
||||
|
||||
/**
|
||||
* 不管
|
||||
*/
|
||||
private String cbatchNumber;
|
||||
// /**
|
||||
// * 不管
|
||||
// */
|
||||
// private Long cprojectId;
|
||||
//
|
||||
// /**
|
||||
// * 不管
|
||||
// */
|
||||
// private String cbatchNumber;
|
||||
|
||||
|
||||
}
|
||||
|
@ -5,12 +5,14 @@ import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici;
|
||||
import org.dromara.cailiaoshebei.domain.BusSuppliesprice;
|
||||
import org.dromara.cailiaoshebei.domain.bo.*;
|
||||
import org.dromara.cailiaoshebei.domain.dto.BusCailiaoshebeiEditPlanDto;
|
||||
import org.dromara.cailiaoshebei.domain.vo.BusCailiaoshebeiListPlanRes;
|
||||
import org.dromara.cailiaoshebei.domain.vo.BusSuppliespriceAddPlanSonRes;
|
||||
import org.dromara.cailiaoshebei.domain.vo.MasterDataListRes;
|
||||
import org.dromara.cailiaoshebei.service.IBusCailiaoshebeiPiciService;
|
||||
import org.dromara.cailiaoshebei.service.IBusRepertoryService;
|
||||
import org.dromara.cailiaoshebei.service.IBusSuppliespriceService;
|
||||
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
||||
@ -54,6 +56,7 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMap
|
||||
private final BusCailiaoshebeiMapper baseMapper;
|
||||
private final IBusSuppliespriceService busSuppliespriceService;
|
||||
private final IBusRepertoryService busRepertoryService;
|
||||
private final IBusCailiaoshebeiPiciService busCailiaoshebeiPiciService;
|
||||
|
||||
|
||||
/**
|
||||
@ -264,11 +267,15 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMap
|
||||
*
|
||||
* @param processEvent 参数
|
||||
*/
|
||||
@org.springframework.context.event.EventListener(condition = "#processEvent.flowCode.endsWith('technical')")
|
||||
@org.springframework.context.event.EventListener(condition = "#processEvent.flowCode.endsWith('materialDesign')")
|
||||
public void processHandler(ProcessEvent processEvent) {
|
||||
log.info("技术标准文件审核任务执行了{}", processEvent.toString());
|
||||
//1、根据批次号改编审核状态
|
||||
|
||||
log.info("物资设计审核任务执行了{}", processEvent.toString());
|
||||
String businessId = processEvent.getBusinessId();
|
||||
//1、根据批次ID改编审核状态
|
||||
BusCailiaoshebeiPici busCailiaoshebeiPici = new BusCailiaoshebeiPici();
|
||||
busCailiaoshebeiPici.setId(Long.valueOf(businessId));
|
||||
busCailiaoshebeiPici.setApprovalDesign(processEvent.getStatus());
|
||||
busCailiaoshebeiPiciService.updateById(busCailiaoshebeiPici);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -281,9 +288,9 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMap
|
||||
*
|
||||
* @param processTaskEvent 参数
|
||||
*/
|
||||
@org.springframework.context.event.EventListener(condition = "#processTaskEvent.flowCode.endsWith('technical')")
|
||||
@org.springframework.context.event.EventListener(condition = "#processTaskEvent.flowCode.endsWith('materialDesign')")
|
||||
public void processTaskHandler(ProcessTaskEvent processTaskEvent) {
|
||||
log.info("技术标准文件审核任务创建了{}", processTaskEvent.toString());
|
||||
log.info("物资设计审核任务创建了{}", processTaskEvent.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -293,9 +300,54 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl<BusCailiaoshebeiMap
|
||||
*
|
||||
* @param processDeleteEvent 参数
|
||||
*/
|
||||
@EventListener(condition = "#processDeleteEvent.flowCode.endsWith('technical')")
|
||||
@EventListener(condition = "#processDeleteEvent.flowCode.endsWith('materialDesign')")
|
||||
public void processDeleteHandler(ProcessDeleteEvent processDeleteEvent) {
|
||||
log.info("监听删除流程事件,技术标准文件审核任务执行了{}", processDeleteEvent.toString());
|
||||
log.info("监听物资设计删除流程事件,技术标准文件审核任务执行了{}", processDeleteEvent.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
|
||||
* 正常使用只需#processEvent.flowCode=='leave1'
|
||||
* 示例为了方便则使用startsWith匹配了全部示例key
|
||||
*
|
||||
* @param processEvent 参数
|
||||
*/
|
||||
@org.springframework.context.event.EventListener(condition = "#processEvent.flowCode.endsWith('materialsPlans')")
|
||||
public void processPlansHandler(ProcessEvent processEvent) {
|
||||
log.info("物资计划审核任务执行了{}", processEvent.toString());
|
||||
String businessId = processEvent.getBusinessId();
|
||||
//1、根据批次ID改编审核状态
|
||||
BusCailiaoshebeiPici busCailiaoshebeiPici = new BusCailiaoshebeiPici();
|
||||
busCailiaoshebeiPici.setId(Long.valueOf(businessId));
|
||||
busCailiaoshebeiPici.setApprovalPlan(processEvent.getStatus());
|
||||
busCailiaoshebeiPiciService.updateById(busCailiaoshebeiPici);
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行任务创建监听
|
||||
* 示例:也可通过 @EventListener(condition = "#processTaskEvent.flowCode=='leave1'")进行判断
|
||||
* 在方法中判断流程节点key
|
||||
* if ("xxx".equals(processTaskEvent.getNodeCode())) {
|
||||
* //执行业务逻辑
|
||||
* }
|
||||
*
|
||||
* @param processTaskEvent 参数
|
||||
*/
|
||||
@org.springframework.context.event.EventListener(condition = "#processTaskEvent.flowCode.endsWith('materialsPlans')")
|
||||
public void processTaskPlansHandler(ProcessTaskEvent processTaskEvent) {
|
||||
log.info("物资计划审核任务创建了{}", processTaskEvent.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听删除流程事件
|
||||
* 正常使用只需#processDeleteEvent.flowCode=='leave1'
|
||||
* 示例为了方便则使用startsWith匹配了全部示例key
|
||||
*
|
||||
* @param processDeleteEvent 参数
|
||||
*/
|
||||
@EventListener(condition = "#processDeleteEvent.flowCode.endsWith('materialsPlans')")
|
||||
public void processDeletePlansHandler(ProcessDeleteEvent processDeleteEvent) {
|
||||
log.info("监听物资计划删除流程事件,技术标准文件审核任务执行了{}", processDeleteEvent.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,14 @@ package org.dromara.cailiaoshebei.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici;
|
||||
import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanAddReq;
|
||||
import org.dromara.cailiaoshebei.service.IBusCailiaoshebeiPiciService;
|
||||
import org.dromara.cailiaoshebei.service.IBusMaterialsorderService;
|
||||
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
||||
import org.dromara.common.core.domain.event.ProcessEvent;
|
||||
import org.dromara.common.core.domain.event.ProcessTaskEvent;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@ -11,6 +18,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanBo;
|
||||
import org.dromara.cailiaoshebei.domain.vo.BusMaterialbatchdemandplanVo;
|
||||
@ -31,10 +39,15 @@ import java.util.Collection;
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
@Slf4j
|
||||
public class BusMaterialbatchdemandplanServiceImpl extends ServiceImpl<BusMaterialbatchdemandplanMapper, BusMaterialbatchdemandplan> implements IBusMaterialbatchdemandplanService {
|
||||
|
||||
private final BusMaterialbatchdemandplanMapper baseMapper;
|
||||
|
||||
private final IBusCailiaoshebeiPiciService busCailiaoshebeiPiciService;
|
||||
|
||||
private final IBusMaterialsorderService busMaterialsorderService;
|
||||
|
||||
/**
|
||||
* 查询物资-批次需求计划
|
||||
*
|
||||
@ -158,4 +171,62 @@ public class BusMaterialbatchdemandplanServiceImpl extends ServiceImpl<BusMateri
|
||||
}
|
||||
throw new RuntimeException("新增失败");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
|
||||
* 正常使用只需#processEvent.flowCode=='leave1'
|
||||
* 示例为了方便则使用startsWith匹配了全部示例key
|
||||
*
|
||||
* @param processEvent 参数
|
||||
*/
|
||||
@org.springframework.context.event.EventListener(condition = "#processEvent.flowCode.endsWith('batchRequirements')")
|
||||
public void processPlansHandler(ProcessEvent processEvent) {
|
||||
log.info("批次需求审核任务执行了{}", processEvent.toString());
|
||||
String businessId = processEvent.getBusinessId();
|
||||
//1、根据批次ID改编审核状态
|
||||
BusCailiaoshebeiPici busCailiaoshebeiPici = new BusCailiaoshebeiPici();
|
||||
busCailiaoshebeiPici.setId(Long.valueOf(businessId));
|
||||
busCailiaoshebeiPici.setApprovalProject(processEvent.getStatus());
|
||||
busCailiaoshebeiPiciService.updateById(busCailiaoshebeiPici);
|
||||
//2、如果状态为已完成
|
||||
if (processEvent.getStatus().equals("finish")){
|
||||
//2-1、根据批次ID获取到批次数据
|
||||
BusCailiaoshebeiPici req = busCailiaoshebeiPiciService.getById(Long.valueOf(businessId));
|
||||
if (req == null){
|
||||
return;
|
||||
}
|
||||
//2-2、根据批次号得到订货数据信息
|
||||
busMaterialsorderService.extractDataNewAddition(req.getBatchNumber(),req.getProjectId());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行任务创建监听
|
||||
* 示例:也可通过 @EventListener(condition = "#processTaskEvent.flowCode=='leave1'")进行判断
|
||||
* 在方法中判断流程节点key
|
||||
* if ("xxx".equals(processTaskEvent.getNodeCode())) {
|
||||
* //执行业务逻辑
|
||||
* }
|
||||
*
|
||||
* @param processTaskEvent 参数
|
||||
*/
|
||||
@org.springframework.context.event.EventListener(condition = "#processTaskEvent.flowCode.endsWith('batchRequirements')")
|
||||
public void processTaskPlansHandler(ProcessTaskEvent processTaskEvent) {
|
||||
log.info("批次需求审核任务创建了{}", processTaskEvent.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听删除流程事件
|
||||
* 正常使用只需#processDeleteEvent.flowCode=='leave1'
|
||||
* 示例为了方便则使用startsWith匹配了全部示例key
|
||||
*
|
||||
* @param processDeleteEvent 参数
|
||||
*/
|
||||
@EventListener(condition = "#processDeleteEvent.flowCode.endsWith('batchRequirements')")
|
||||
public void processDeletePlansHandler(ProcessDeleteEvent processDeleteEvent) {
|
||||
log.info("监听批次需求删除流程事件,技术标准文件审核任务执行了{}", processDeleteEvent.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -5,12 +5,16 @@ import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici;
|
||||
import org.dromara.cailiaoshebei.domain.BusMaterialbatchdemandplan;
|
||||
import org.dromara.cailiaoshebei.domain.bo.MaterialsorderPcPlanEditReq;
|
||||
import org.dromara.cailiaoshebei.domain.vo.GrossOutputRes;
|
||||
import org.dromara.cailiaoshebei.service.IBusCailiaoshebeiPiciService;
|
||||
import org.dromara.cailiaoshebei.service.IBusMaterialbatchdemandplanService;
|
||||
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
||||
import org.dromara.common.core.domain.event.ProcessEvent;
|
||||
import org.dromara.common.core.domain.event.ProcessTaskEvent;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
@ -22,6 +26,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.common.utils.BatchNumberGenerator;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.cailiaoshebei.domain.bo.BusMaterialsorderBo;
|
||||
import org.dromara.cailiaoshebei.domain.vo.BusMaterialsorderVo;
|
||||
@ -41,6 +46,7 @@ import java.util.*;
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
@Slf4j
|
||||
public class BusMaterialsorderServiceImpl extends ServiceImpl<BusMaterialsorderMapper, BusMaterialsorder> implements IBusMaterialsorderService {
|
||||
|
||||
private final BusMaterialsorderMapper baseMapper;
|
||||
@ -246,4 +252,77 @@ public class BusMaterialsorderServiceImpl extends ServiceImpl<BusMaterialsorderM
|
||||
}
|
||||
return resBigDecimal;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
|
||||
* 正常使用只需#processEvent.flowCode=='leave1'
|
||||
* 示例为了方便则使用startsWith匹配了全部示例key
|
||||
*
|
||||
* @param processEvent 参数
|
||||
*/
|
||||
@org.springframework.context.event.EventListener(condition = "#processEvent.flowCode.endsWith('equipmentOrdering')")
|
||||
public void processPlansHandler(ProcessEvent processEvent) {
|
||||
log.info("批次需求审核任务执行了{}", processEvent.toString());
|
||||
String businessId = processEvent.getBusinessId();
|
||||
//1、根据批次ID改编审核状态
|
||||
BusCailiaoshebeiPici busCailiaoshebeiPici = new BusCailiaoshebeiPici();
|
||||
busCailiaoshebeiPici.setId(Long.valueOf(businessId));
|
||||
busCailiaoshebeiPici.setApprovalOrder(processEvent.getStatus());
|
||||
busCailiaoshebeiPiciService.updateById(busCailiaoshebeiPici);
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行任务创建监听
|
||||
* 示例:也可通过 @EventListener(condition = "#processTaskEvent.flowCode=='leave1'")进行判断
|
||||
* 在方法中判断流程节点key
|
||||
* if ("xxx".equals(processTaskEvent.getNodeCode())) {
|
||||
* //执行业务逻辑
|
||||
* }
|
||||
*
|
||||
* @param processTaskEvent 参数
|
||||
*/
|
||||
@org.springframework.context.event.EventListener(condition = "#processTaskEvent.flowCode.endsWith('equipmentOrdering')")
|
||||
public void processTaskPlansHandler(ProcessTaskEvent processTaskEvent) {
|
||||
log.info("批次需求审核任务创建了{}", processTaskEvent.toString());
|
||||
// //1、先根据审批id获取到审批号
|
||||
// String businessId = processTaskEvent.getBusinessId();
|
||||
// BusCailiaoshebeiPici busCailiaoshebeiPici = busCailiaoshebeiPiciService.getById(Long.valueOf(businessId));
|
||||
// if(busCailiaoshebeiPici == null){
|
||||
// throw new RuntimeException("批次需求审核数据不存在");
|
||||
// }
|
||||
// //2、根据审批号获取到下面的所有数据
|
||||
// List<BusMaterialsorder> list = baseMapper.selectList(new LambdaQueryWrapper<BusMaterialsorder>()
|
||||
// .eq(BusMaterialsorder::getBatchNumber, busCailiaoshebeiPici.getBatchNumber())
|
||||
// );
|
||||
// if(list.isEmpty()){
|
||||
// return;
|
||||
// }
|
||||
// //3、判断数据是否都有填写(订货量、预计到货时间、预计生产时间)
|
||||
// for (BusMaterialsorder busMaterialsorder : list) {
|
||||
// if (busMaterialsorder.getOrderQuantity()<=0){
|
||||
// throw new RuntimeException("订货量不能小于等于0");
|
||||
// }
|
||||
// if(busMaterialsorder.getExpectedArrival() == null){
|
||||
// throw new RuntimeException("预计到货时间不能为空");
|
||||
// }
|
||||
// if(busMaterialsorder.getProductionTime() == null){
|
||||
// throw new RuntimeException("预计生产时间不能为空");
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听删除流程事件
|
||||
* 正常使用只需#processDeleteEvent.flowCode=='leave1'
|
||||
* 示例为了方便则使用startsWith匹配了全部示例key
|
||||
*
|
||||
* @param processDeleteEvent 参数
|
||||
*/
|
||||
@EventListener(condition = "#processDeleteEvent.flowCode.endsWith('equipmentOrdering')")
|
||||
public void processDeletePlansHandler(ProcessDeleteEvent processDeleteEvent) {
|
||||
log.info("监听批次需求删除流程事件,技术标准文件审核任务执行了{}", processDeleteEvent.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<select id="grossOutput" resultType="org.dromara.cailiaoshebei.domain.vo.GrossOutputRes">
|
||||
select
|
||||
a.acceptanceQuantity,
|
||||
b.unitPrice
|
||||
a.acceptance_quantity as acceptanceQuantity,
|
||||
b.unit_price as unitPrice
|
||||
from
|
||||
bus_materialsorder a
|
||||
left join bus_suppliesprice b on a.suppliesprice_id = b.id
|
||||
|
Reference in New Issue
Block a user