业务单据流转相关修改

master
anthonywj 2 years ago
parent b2779284f0
commit ff9fd56cc0

@ -59,8 +59,6 @@ public class IoPurChangeService {
PurOrderDetailService purOrderDetailService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
UdiProductService udiProductService;
@Resource
IoOrderService ioOrderService;
@ -72,42 +70,49 @@ public class IoPurChangeService {
purReceiveEntity = receiveService.selectById(purReceiveEntity.getId());
List<PurReceiveDetailEntity> purReceiveDetailEntityList = receivedetailService.selectByOrderId(purReceiveEntity.getBillNo());
BasicBusTypeChangeEntity basicBusTypeChangeEntity = basicBusTypeChangeService.selectByOriginAction(ConstantStatus.BUS_ORDER_HCLY);
PurApplyEntity purApplyEntity = new PurApplyEntity();
if (basicBusTypeChangeEntity != null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetBusAction()) && basicBusTypeChangeEntity.isEnable() == true) {
purApplyEntity.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.SG_ORDER, "yyyyMMdd")));
purApplyEntity.setBillDate(purReceiveEntity.getBillDate());
purApplyEntity.setStatus(basicBusTypeChangeEntity.getBusAuditStatus());
purApplyEntity.setRemark(purReceiveEntity.getRemark());
purApplyEntity.setInvCode(purReceiveEntity.getTargetInvCode());
purApplyEntity.setDeptCode(purReceiveEntity.getTargetDeptCode());
purApplyEntity.setTargetInvCode(purReceiveEntity.getInvCode());
purApplyEntity.setTargetDeptCode(purReceiveEntity.getDeptCode());
purApplyEntity.setCreateUser(purReceiveEntity.getAuditUser());
purApplyEntity.setCreateTime(DateUtil.timeProcess(purReceiveEntity.getCreateTime(), basicBusTypeChangeEntity.getBusBeforeTime()));
purApplyEntity.setUpdateUser(purReceiveEntity.getAuditUser());
purApplyEntity.setUpdateTime(DateUtil.timeProcess(purReceiveEntity.getCreateTime(), basicBusTypeChangeEntity.getBusBeforeTime()));
if (purApplyEntity.getStatus() == 3) {
purApplyEntity.setAuditUser("");
purApplyEntity.setAuditTime(new Date());
}
//插入申购主表
purApplyService.insert(purApplyEntity);
//用stream流复制list
List<PurApplyDetailEntity> purApplyDetailEntityList = purReceiveDetailEntityList.stream().map(e -> {
PurApplyDetailEntity d = new PurApplyDetailEntity();
d.setOrderIdFk(purApplyEntity.getId() + "");
d.setProductId(e.getRelIdFk().intValue());
UdiProductEntity udiProductEntity = udiProductService.findByNameCode(e.getNameCode());
d.setProductName(udiProductEntity.getCpmctymc());
d.setCount(e.getCount());
d.setSupId(e.getSupId());
d.setZczbhhzbapzbh(udiProductEntity.getZczbhhzbapzbh());
return d;
})
.collect(Collectors.toList());
purApplyDetailService.insertPurApplyDetailEntity(purApplyDetailEntityList);
//todo 领用单暂时不支持流转
// PurApplyEntity purApplyEntity = new PurApplyEntity();
// if (basicBusTypeChangeEntity != null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetBusAction()) && basicBusTypeChangeEntity.isEnable() == true) {
// purApplyEntity.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.SG_ORDER, "yyyyMMdd")));
// purApplyEntity.setBillDate(purReceiveEntity.getBillDate());
// purApplyEntity.setStatus(basicBusTypeChangeEntity.getBusAuditStatus());
// purApplyEntity.setRemark(purReceiveEntity.getRemark());
// purApplyEntity.setInvCode(purReceiveEntity.getTargetInvCode());
// purApplyEntity.setDeptCode(purReceiveEntity.getTargetDeptCode());
// purApplyEntity.setTargetInvCode(purReceiveEntity.getInvCode());
// purApplyEntity.setTargetDeptCode(purReceiveEntity.getDeptCode());
// purApplyEntity.setCreateUser(purReceiveEntity.getAuditUser());
// purApplyEntity.setCreateTime(DateUtil.timeProcess(purReceiveEntity.getCreateTime(), basicBusTypeChangeEntity.getBusBeforeTime()));
// purApplyEntity.setUpdateUser(purReceiveEntity.getAuditUser());
// purApplyEntity.setUpdateTime(DateUtil.timeProcess(purReceiveEntity.getCreateTime(), basicBusTypeChangeEntity.getBusBeforeTime()));
// if (purApplyEntity.getStatus() == 3) {
// purApplyEntity.setAuditUser("");
// purApplyEntity.setAuditTime(new Date());
// }
// //插入申购主表
// purApplyService.insert(purApplyEntity);
// //用stream流复制list
// List<PurApplyDetailEntity> purApplyDetailEntityList = purReceiveDetailEntityList.stream().map(e -> {
// PurApplyDetailEntity d = new PurApplyDetailEntity();
// d.setOrderIdFk(purApplyEntity.getId() + "");
// d.setProductId(e.getRelIdFk().intValue());
// UdiProductEntity udiProductEntity = udiProductService.findByNameCode(e.getNameCode());
// d.setProductName(udiProductEntity.getCpmctymc());
// d.setCount(e.getCount());
// d.setSupId(e.getSupId());
// d.setZczbhhzbapzbh(udiProductEntity.getZczbhhzbapzbh());
// return d;
// })
// .collect(Collectors.toList());
// purApplyDetailService.insertPurApplyDetailEntity(purApplyDetailEntityList);
//
// }
if (basicBusTypeChangeEntity != null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetAction()) && basicBusTypeChangeEntity.isEnable() == true) {
purReceiveGen(purReceiveEntity);
}
}
//申购单流转
@ -151,6 +156,10 @@ public class IoPurChangeService {
return d;
}).collect(Collectors.toList());
purPlanDetailService.insertPurPlanDetailEntity(purPlanDetailEntityList);
purPlanChange(purPlanEntity);
//更新申购表信息插入计划单号
PurApplyEntity purApplyEntity1 = new PurApplyEntity();
purApplyEntity1.setId(purApplyEntity.getId());
@ -158,6 +167,11 @@ public class IoPurChangeService {
purApplyEntity1.setGeneratePlan(true);
purApplyService.update(purApplyEntity1);
}
if (basicBusTypeChangeEntity != null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetBusAction()) && basicBusTypeChangeEntity.isEnable() == true) {
purApplyGen(purApplyEntity);
}
}
}
@ -165,12 +179,13 @@ public class IoPurChangeService {
//采购计划流转
public void purPlanChange(PurPlanEntity purPlanEntity) {
BasicBusTypeChangeEntity basicBusTypeChangeEntity = new BasicBusTypeChangeEntity();
//查询计划详情
List<PurPlanDetailEntity> purPlanDetailEntityList = purPlanDetailService.findByOrderId(purPlanEntity.getId() + "");
BasicBusTypeChangeEntity basicBusTypeChangeEntity;
//---------------------------------判断计划为已审核就生成计划单-------------------------------------------//\
PurOrderEntity purOrderEntity = new PurOrderEntity();
if (purPlanEntity.getStatus() == 3) {
//查询计划详情
List<PurPlanDetailEntity> purPlanDetailEntityList = purPlanDetailService.findByOrderId(purPlanEntity.getId() + "");
basicBusTypeChangeEntity = basicBusTypeChangeService.selectByOriginAction("CGJH");
if (basicBusTypeChangeEntity != null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetBusAction()) && basicBusTypeChangeEntity.isEnable() == true) {
purOrderEntity.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.CG_ORDER, "yyyyMMdd")));
@ -210,6 +225,9 @@ public class IoPurChangeService {
// purPlanEntity.sets(true);
purPlanService.update(purPlanEntity1);
}
if (basicBusTypeChangeEntity != null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetBusAction()) && basicBusTypeChangeEntity.isEnable() == true) {
purPlanGen(purPlanEntity);
}
}
}
@ -219,6 +237,10 @@ public class IoPurChangeService {
public void purOrderChange(PurOrderEntity purOrderEntity) {
//最后一层,无法流转业务单
BasicBusTypeChangeEntity basicBusTypeChangeEntity = basicBusTypeChangeService.selectByOriginAction(ConstantStatus.BUS_ORDER_CGDD);
if (basicBusTypeChangeEntity != null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetBusAction()) && basicBusTypeChangeEntity.isEnable() == true) {
purOrderGen(purOrderEntity);
}
}

@ -63,8 +63,6 @@ public class PurApplyController {
@Resource
PurPlanDetailService purPlanDetailService;
@Resource
UdiProductService udiProductService;
@Resource
IBasicBusTypeChangeService basicBusTypeChangeService;
@Resource
@ -79,6 +77,9 @@ public class PurApplyController {
IoOrderService ioOrderService;
@Resource
IoOrderDetailBizService ioOrderDetailBizService;
@Resource
IoPurChangeService purChangeService;
/**
*
*/
@ -166,7 +167,8 @@ public class PurApplyController {
purApplyService.update(purApplyEntity);
if (purApplyRequest.getStatus() == 3) {
generateDocument(purApplyEntity);
// generateDocument(purApplyEntity);
purChangeService.purApplyChange(purApplyEntity);
}
@ -208,7 +210,6 @@ public class PurApplyController {
}
//根据单据生成新单据
public Boolean generateDocument(PurApplyEntity purApplyEntity) {
BasicBusTypeChangeEntity basicBusTypeChangeEntity = new BasicBusTypeChangeEntity();
@ -473,6 +474,7 @@ public class PurApplyController {
purApplyDetailService.insert(purApplyDetailEntity);
return ResultVOUtils.success(purApplyDetailEntity.getOrderIdFk());
}
/**
*
*/

@ -66,7 +66,8 @@ public class PurOrderController {
IoOrderService ioOrderService;
@Resource
IoOrderDetailBizService ioOrderDetailBizService;
@Resource
IoPurChangeService purChangeService;
/**
*
@ -155,64 +156,68 @@ public class PurOrderController {
purOrderEntity.setAuditTime(new Date());
purOrderEntity.setStatus(postPurOrderRequest.getEditStatus());
purOrderService.update(purOrderEntity);
String billNo="";
List<PurOrderDetailEntity> purOrderDetailEntities = purOrderDetailService.findByOrderId(purOrderEntity.getId() + "");
//对计划单里面的供应商进行分组
Map<String, List<PurOrderDetailEntity>> map = purOrderDetailEntities.stream().collect(Collectors.groupingBy(PurOrderDetailEntity::getSupId));
if (postPurOrderRequest.getEditStatus() == ConstantStatus.APPLY_AUDIT_ED) {
if (CollUtil.isNotEmpty(purOrderDetailEntities) && postPurOrderRequest.isAutoPurchase()==true
&& StrUtil.isNotEmpty(postPurOrderRequest.getTargetSubInv()) && StrUtil.isNotEmpty(postPurOrderRequest.getTargetBillAction()) ) {
for (Map.Entry<String, List<PurOrderDetailEntity>> m:map.entrySet()) {
//生产单据表信息
IoOrderEntity ioOrderEntity=new IoOrderEntity();
ioOrderEntity.setBillNo(gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER ,"yyyyMMdd")));
ioOrderEntity.setCorpOrderId(CustomUtil.getDate());
ioOrderEntity.setMainAction(ConstantType.TYPE_PUT);
ioOrderEntity.setAction(postPurOrderRequest.getTargetBillAction());
ioOrderEntity.setFromCorp(m.getKey());
ioOrderEntity.setFromType(ConstantStatus.FROM_Order);
ioOrderEntity.setStatus(1);
ioOrderEntity.setDealStatus(1);
ioOrderEntity.setOrderType(1);
ioOrderEntity.setCreateTime(new Date());
ioOrderEntity.setCreateUser(postPurOrderRequest.getPurOrderEntity().getAuditUser());
ioOrderEntity.setUpdateTime(new Date());
ioOrderEntity.setUpdateUser(postPurOrderRequest.getPurOrderEntity().getAuditUser());
ioOrderEntity.setCustomerId("110");
ioOrderEntity.setDeptCode(postPurOrderRequest.getTargetDeptCode());
ioOrderEntity.setInvCode(postPurOrderRequest.getTargetSubInv());
ioOrderService.insertOrder(ioOrderEntity);
billNo+=ioOrderEntity.getBillNo()+",";
//插入业务单表
for (PurOrderDetailEntity obj:m.getValue()) {
BasicProductsEntity basicProductsEntity = purOrderDetailService.selectIoOrderDetailBiz(obj.getId());
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
ioOrderDetailBizEntity.setOrderIdFk(ioOrderEntity.getBillNo());
ioOrderDetailBizEntity.setBindRlFk(Long.valueOf(obj.getProductId()));
ioOrderDetailBizEntity.setCount(obj.getCount());
ioOrderDetailBizEntity.setUuidFk(basicProductsEntity.getUuid());
ioOrderDetailBizEntity.setNameCode(basicProductsEntity.getNameCode());
ioOrderDetailBizEntity.setCoName(basicProductsEntity.getCpmctymc());
ioOrderDetailBizEntity.setCertCode(basicProductsEntity.getZczbhhzbapzbh());
ioOrderDetailBizEntity.setYlqxzcrbarmc(basicProductsEntity.getYlqxzcrbarmc());
ioOrderDetailBizEntity.setManufacturer(basicProductsEntity.getManufactory());
ioOrderDetailBizEntity.setMeasname(basicProductsEntity.getMeasname());
ioOrderDetailBizEntity.setSpec(basicProductsEntity.getGgxh());
if (basicProductsEntity.getPrice() != null) {
ioOrderDetailBizEntity.setPrice(BigDecimal.valueOf(basicProductsEntity.getPrice()));
}
ioOrderDetailBizEntity.setSupId(obj.getSupId());
ioOrderDetailBizService.insert(ioOrderDetailBizEntity);
}
}
purOrderEntity.setStockOrderNo(billNo.substring(0,billNo.length()-1));
purOrderService.update(purOrderEntity);
}
}
purChangeService.purOrderChange(purOrderEntity);
// String billNo = "";
// List<PurOrderDetailEntity> purOrderDetailEntities = purOrderDetailService.findByOrderId(purOrderEntity.getId() + "");
//
// //对计划单里面的供应商进行分组
// Map<String, List<PurOrderDetailEntity>> map = purOrderDetailEntities.stream().collect(Collectors.groupingBy(PurOrderDetailEntity::getSupId));
//
// if (postPurOrderRequest.getEditStatus() == ConstantStatus.APPLY_AUDIT_ED) {
//
// if (CollUtil.isNotEmpty(purOrderDetailEntities) && postPurOrderRequest.isAutoPurchase() == true
// && StrUtil.isNotEmpty(postPurOrderRequest.getTargetSubInv()) && StrUtil.isNotEmpty(postPurOrderRequest.getTargetBillAction())) {
//
// for (Map.Entry<String, List<PurOrderDetailEntity>> m : map.entrySet()) {
// //生产单据表信息
// IoOrderEntity ioOrderEntity = new IoOrderEntity();
// ioOrderEntity.setBillNo(gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd")));
// ioOrderEntity.setCorpOrderId(CustomUtil.getDate());
// ioOrderEntity.setMainAction(ConstantType.TYPE_PUT);
// ioOrderEntity.setAction(postPurOrderRequest.getTargetBillAction());
// ioOrderEntity.setFromCorp(m.getKey());
// ioOrderEntity.setFromType(ConstantStatus.FROM_Order);
// ioOrderEntity.setStatus(1);
// ioOrderEntity.setDealStatus(1);
// ioOrderEntity.setOrderType(1);
// ioOrderEntity.setCreateTime(new Date());
// ioOrderEntity.setCreateUser(postPurOrderRequest.getPurOrderEntity().getAuditUser());
// ioOrderEntity.setUpdateTime(new Date());
// ioOrderEntity.setUpdateUser(postPurOrderRequest.getPurOrderEntity().getAuditUser());
// ioOrderEntity.setCustomerId("110");
// ioOrderEntity.setDeptCode(postPurOrderRequest.getTargetDeptCode());
// ioOrderEntity.setInvCode(postPurOrderRequest.getTargetSubInv());
// ioOrderService.insertOrder(ioOrderEntity);
// billNo += ioOrderEntity.getBillNo() + ",";
// //插入业务单表
// for (PurOrderDetailEntity obj : m.getValue()) {
// BasicProductsEntity basicProductsEntity = purOrderDetailService.selectIoOrderDetailBiz(obj.getId());
// IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
// ioOrderDetailBizEntity.setOrderIdFk(ioOrderEntity.getBillNo());
// ioOrderDetailBizEntity.setBindRlFk(Long.valueOf(obj.getProductId()));
// ioOrderDetailBizEntity.setCount(obj.getCount());
// ioOrderDetailBizEntity.setUuidFk(basicProductsEntity.getUuid());
// ioOrderDetailBizEntity.setNameCode(basicProductsEntity.getNameCode());
// ioOrderDetailBizEntity.setCoName(basicProductsEntity.getCpmctymc());
// ioOrderDetailBizEntity.setCertCode(basicProductsEntity.getZczbhhzbapzbh());
// ioOrderDetailBizEntity.setYlqxzcrbarmc(basicProductsEntity.getYlqxzcrbarmc());
// ioOrderDetailBizEntity.setManufacturer(basicProductsEntity.getManufactory());
// ioOrderDetailBizEntity.setMeasname(basicProductsEntity.getMeasname());
// ioOrderDetailBizEntity.setSpec(basicProductsEntity.getGgxh());
// if (basicProductsEntity.getPrice() != null) {
// ioOrderDetailBizEntity.setPrice(BigDecimal.valueOf(basicProductsEntity.getPrice()));
// }
// ioOrderDetailBizEntity.setSupId(obj.getSupId());
// ioOrderDetailBizService.insert(ioOrderDetailBizEntity);
// }
// }
// purOrderEntity.setStockOrderNo(billNo.substring(0, billNo.length() - 1));
// purOrderService.update(purOrderEntity);
// }
// }
return ResultVOUtils.success("更新成功!");
}
@ -349,6 +354,7 @@ public class PurOrderController {
purOrderDetailService.update(purOrderDetailEntity);
return ResultVOUtils.success("修改成功");
}
/**
*
*

@ -86,6 +86,8 @@ public class PurOrderReceiveController extends BaseController {
IoOrderService ioOrderService;
@Resource
IoOrderDetailBizService ioOrderDetailBizService;
@Resource
IoPurChangeService purChangeService;
@AuthRuleAnnotation("")
@ -252,9 +254,10 @@ public class PurOrderReceiveController extends BaseController {
receiveService.updateOrder(purReceiveEntity);
if (purReceiveEntity.getStatus() == 3) {
generateDocument(purReceiveEntity);
//进行单据流转
purChangeService.purReceiveChange(purReceiveEntity);
// generateDocument(purReceiveEntity);
}
return ResultVOUtils.success("成功");
}

@ -80,7 +80,8 @@ public class PurPlanController {
PurOrderService purOrderService;
@Resource
PurOrderDetailService purOrderDetailService;
@Resource
IoPurChangeService purChangeService;
/**
*
@ -111,7 +112,6 @@ public class PurPlanController {
}
return ResultVOUtils.success("提交成功!");
}
@ -191,7 +191,8 @@ public class PurPlanController {
purPlanEntity.setStatus(postPurPlanRequest.getEditStatus());
// purPlanService.update(purApplyEntity);
if (purPlanEntity.getStatus() == 3) {
generateDocument(purPlanEntity);
purChangeService.purPlanChange(purPlanEntity);
// generateDocument(purPlanEntity);
}
@ -503,6 +504,7 @@ public class PurPlanController {
purPlanDetailService.update(purPlanDetailEntity);
return ResultVOUtils.success("修改成功");
}
/**
*
*

Loading…
Cancel
Save