|
|
@@ -156,8 +156,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
PjCorpsDesc corpsDesc = corpsDescMapper.selectById(order.getCustomerId());
|
|
|
order.setCustomerName(corpsDesc.getCname());
|
|
|
|
|
|
- //仓库名称
|
|
|
- order.setStorageName(storageDescMapper.selectById(order.getStorageId()).getCname());
|
|
|
// 获取系统编号
|
|
|
R billNo = serialClient.getBillNo(order.getBsType(), order.getBsType(), order.getBsType());
|
|
|
if (billNo.getCode() != 200) {
|
|
|
@@ -167,6 +165,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
|
|
|
if (order.getBsType().equals(OrderTypeEnum.SALES.getType())) {//销售
|
|
|
if (order.getId() == null) {
|
|
|
+
|
|
|
+ if (ObjectUtils.isNull(order.getBillType())) {
|
|
|
+ if (ObjectUtils.isNotNull(order.getStorageId())) {
|
|
|
+ order.setBillType(0);
|
|
|
+ //仓库名称
|
|
|
+ order.setStorageName(storageDescMapper.selectById(order.getStorageId()).getCname());
|
|
|
+ } else {
|
|
|
+ order.setBillType(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
order.setOrdNo((String) billNo.getData());
|
|
|
order.setCreateTime(new Date());
|
|
|
order.setCreateUser(AuthUtil.getUserId());
|
|
|
@@ -174,16 +183,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
order.setTenantId(AuthUtil.getTenantId());
|
|
|
order.setStatus(OrderTypeEnum.XSLR.getType());
|
|
|
order.setBusinessSource(OrderTypeEnum.WEB.getType());
|
|
|
- //所属公司
|
|
|
- R<Dept> dept = sysClient.getDept(Long.valueOf(AuthUtil.getDeptId()));
|
|
|
- if (ObjectUtil.isNotEmpty(dept)) {
|
|
|
- order.setSalesCompanyId(dept.getData().getId());
|
|
|
- order.setSalesCompanyName(dept.getData().getFullName());
|
|
|
- order.setSharedCompanyId(dept.getData().getId());
|
|
|
- order.setSharedCompanyName(dept.getData().getFullName());
|
|
|
- } else {
|
|
|
- throw new SecurityException("未维护所属公司");
|
|
|
- }
|
|
|
|
|
|
//根据客户账期计算应结日期
|
|
|
if (ObjectUtil.isNotEmpty(corpsDesc.getAccountPeriod())) {
|
|
|
@@ -232,7 +231,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
}
|
|
|
item.setBrandName(goodsDesc.getBrandName());
|
|
|
//计算成本
|
|
|
- if (order.getSharedCompanyId().equals(Long.valueOf(AuthUtil.getDeptId()))) {//本地取库存账成本价
|
|
|
+// if (order.getSharedCompanyId().equals(Long.valueOf(AuthUtil.getDeptId()))) {//本地取库存账成本价
|
|
|
+ if (ObjectUtils.isNotNull(order.getBillType()) && 1 != order.getBillType()) {//本地取库存账成本价
|
|
|
|
|
|
goodsName = goodsName.append(goodsDesc.getCname()).append(",");
|
|
|
retrieval = retrieval.append(goodsDesc.getCnameInt()).append(",");
|
|
|
@@ -240,13 +240,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
lambdaQueryWrapper.eq(PjStockDesc::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(PjStockDesc::getIsDeleted, 0)
|
|
|
.eq(PjStockDesc::getGoodsId, item.getGoodsId());
|
|
|
- if (ObjectUtils.isNotNull(order.getBillType()) && 1 != order.getBillType()){
|
|
|
- lambdaQueryWrapper.eq(PjStockDesc::getStorageId, order.getStorageId());
|
|
|
- if (ObjectUtil.isNotEmpty(goodsDesc.getWhether()) && goodsDesc.getWhether().equals("1")) {//是否管理批次号
|
|
|
- lambdaQueryWrapper.eq(PjStockDesc::getDot, item.getDot());
|
|
|
- } else {
|
|
|
- lambdaQueryWrapper.and(i -> i.eq(PjStockDesc::getDot, "").or().isNull(PjStockDesc::getDot));
|
|
|
- }
|
|
|
+ lambdaQueryWrapper.eq(PjStockDesc::getStorageId, order.getStorageId());
|
|
|
+ if (ObjectUtil.isNotEmpty(goodsDesc.getWhether()) && goodsDesc.getWhether().equals("1")) {//是否管理批次号
|
|
|
+ lambdaQueryWrapper.eq(PjStockDesc::getDot, item.getDot());
|
|
|
+ } else {
|
|
|
+ lambdaQueryWrapper.and(i -> i.eq(PjStockDesc::getDot, "").or().isNull(PjStockDesc::getDot));
|
|
|
}
|
|
|
PjStockDesc stockDesc = stockDescMapper.selectOne(lambdaQueryWrapper);
|
|
|
if (ObjectUtil.isNotEmpty(stockDesc)) {
|
|
|
@@ -302,7 +300,28 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
//成本
|
|
|
order.setCost(order.getOrderItemsList().stream().filter(e -> e.getCostprie() != null).map(PjOrderItems::getCostprie).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
}
|
|
|
+ //所属公司
|
|
|
+ R<Dept> dept = sysClient.getDept(Long.valueOf(AuthUtil.getDeptId()));
|
|
|
+ if (ObjectUtil.isNotEmpty(dept)) {
|
|
|
+ order.setSalesCompanyId(dept.getData().getId());
|
|
|
+ order.setSalesCompanyName(dept.getData().getFullName());
|
|
|
+ if (ObjectUtils.isNotNull(order.getBillType()) && 1 != order.getBillType()) {
|
|
|
+ order.setSharedCompanyId(dept.getData().getId());
|
|
|
+ order.setSharedCompanyName(dept.getData().getFullName());
|
|
|
+ } else {
|
|
|
+ if (ObjectUtils.isNotNull(order.getOrderItemsList()) && order.getOrderItemsList().size() > 0) {
|
|
|
+ order.setSharedCompanyId(order.getOrderItemsList().get(0).getSharedCompanyId());
|
|
|
+ order.setSharedCompanyName(order.getOrderItemsList().get(0).getSharedCompanyName());
|
|
|
+ } else {
|
|
|
+ throw new SecurityException("获取所属公司失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new SecurityException("未维护所属公司");
|
|
|
+ }
|
|
|
} else if (order.getBsType().equals(OrderTypeEnum.PURCHASE.getType())) {//采购
|
|
|
+ //仓库名称
|
|
|
+ order.setStorageName(storageDescMapper.selectById(order.getStorageId()).getCname());
|
|
|
if (order.getId() == null) {
|
|
|
order.setOrdNo((String) billNo.getData());
|
|
|
order.setCreateTime(new Date());
|
|
|
@@ -401,7 +420,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
pjShip.setSalesCompanyName(pjOrder.getSharedCompanyName());
|
|
|
pjShip.setSourceCompanyId(pjOrder.getSalesCompanyId());
|
|
|
pjShip.setSourceCompanyName(pjOrder.getSalesCompanyName());
|
|
|
- pjShip.setRecAddress(pjOrder.get$recAddress());
|
|
|
shipMapper.insert(pjShip);
|
|
|
|
|
|
//修改销售状态为待发货
|
|
|
@@ -442,10 +460,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
public R revokeGenerateShipTask(PjOrder order) {
|
|
|
PjOrder pjOrder = baseMapper.selectById(order.getId());
|
|
|
- PjShip pjShip = shipMapper.selectOne(new LambdaQueryWrapper<PjShip>().eq(PjShip::getIsDeleted, 0).eq(PjShip::getOrdId, order.getId()));
|
|
|
+ PjShip pjShip = shipMapper.selectOne(new LambdaQueryWrapper<PjShip>().eq(PjShip::getIsDeleted, 0)
|
|
|
+ .eq(PjShip::getOrdId, order.getId())
|
|
|
+ .eq(PjShip::getBizTypeName,"FHRW"));
|
|
|
if (ObjectUtils.isNotNull(pjShip) && (ObjectUtils.isNull(pjShip.getSendTotalNum()) || new BigDecimal("0.00").compareTo(pjShip.getSendTotalNum()) == 0)) {
|
|
|
shipMapper.deleteById(pjShip.getId());
|
|
|
- shipMapper.deleteById(pjShip.getTaskId());
|
|
|
+ shipMapper.deleteByTaskId(pjShip.getTaskId());
|
|
|
} else {
|
|
|
throw new RuntimeException("出库已完成,禁止撤销!");
|
|
|
}
|
|
|
@@ -601,6 +621,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
}
|
|
|
declare.setOriginalStatus(declare.getStatus());
|
|
|
declare.setStatus("退款请核");
|
|
|
+ declare.setXcxStatus("退款请核");
|
|
|
declare.setCheckStatus("审核请核");
|
|
|
baseMapper.updateById(declare);
|
|
|
|
|
|
@@ -846,6 +867,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
}
|
|
|
|
|
|
order.setCheckStatus("审批中");
|
|
|
+ order.setXcxStatus("审批中");
|
|
|
baseMapper.updateById(order);
|
|
|
|
|
|
return R.success("操作成功");
|
|
|
@@ -943,6 +965,84 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 销售申请退款请核
|
|
|
+ *
|
|
|
+ * @param order
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
+ public PjOrder checkOrderCG(PjOrder order) {
|
|
|
+ PjOrder declare = baseMapper.selectById(order.getId());
|
|
|
+
|
|
|
+ //审批数据
|
|
|
+ AuditProecessDTO auditProecessDTO = new AuditProecessDTO();
|
|
|
+ //获取审批级次
|
|
|
+ List<AuditPathsLevels> auditPathsLevels = null;
|
|
|
+ // 判断是否有审批流,如果审批流已开启就进入审批流,否则直接走申请通过
|
|
|
+ AuditPathsActs pathsActs = null;
|
|
|
+ //是否开启流程
|
|
|
+ pathsActs = checkClient.getActsByActId(1107, "status");
|
|
|
+ //获取审批信息
|
|
|
+ auditPathsLevels = checkClient.listLevelsByActId(1107, "status");
|
|
|
+ auditProecessDTO.setTimes(1);
|
|
|
+ auditProecessDTO.setProcessType("采购审核");
|
|
|
+
|
|
|
+ // 没开启审批流直接走 通过流程
|
|
|
+ if (pathsActs == null || pathsActs.getIsEnable() == 2) {
|
|
|
+ throw new SecurityException("当前租户未查询到审批流配置");
|
|
|
+ } else {
|
|
|
+
|
|
|
+ if (CollectionUtils.isEmpty(auditPathsLevels)) {
|
|
|
+ throw new SecurityException("开启审批失败:未查询到审批信息");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 绑定审核类型
|
|
|
+ auditProecessDTO.setCheckType("PJCG");//代理订单
|
|
|
+ // 追加跳转路由url
|
|
|
+ auditProecessDTO.setUrl(order.getUrl());
|
|
|
+ auditProecessDTO.setPageStatus(order.getPageStatus());
|
|
|
+ auditProecessDTO.setPageLabel(order.getPageLabel());
|
|
|
+ auditProecessDTO.setOrderRemark(declare.getRemarks());//订单备注
|
|
|
+ auditProecessDTO.setPathsLevelsList(auditPathsLevels);
|
|
|
+ auditProecessDTO.setActId(1);
|
|
|
+ auditProecessDTO.setSrcBillId(declare.getId());//申请表id
|
|
|
+ auditProecessDTO.setBillId(declare.getId());//业务id
|
|
|
+ auditProecessDTO.setBillNo(declare.getOrdNo());//业务编号
|
|
|
+ auditProecessDTO.setSendUserId(AuthUtil.getUserId());//请核人id
|
|
|
+ auditProecessDTO.setSendName(AuthUtil.getUserName());//请核人名称
|
|
|
+ auditProecessDTO.setSendTime(new Date());//请核时间
|
|
|
+ auditProecessDTO.setBillTime(declare.getCreateTime());//业务日期
|
|
|
+ auditProecessDTO.setTenantId(AuthUtil.getTenantId());//租户id
|
|
|
+ auditProecessDTO.setCorpId(declare.getCustomerId());
|
|
|
+ R financeProcess = checkClient.createFinanceProcess(auditProecessDTO);
|
|
|
+ if (!financeProcess.isSuccess()) {
|
|
|
+ throw new SecurityException("操作失败,请联系管理员");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ declare.setOriginalStatus(declare.getStatus());
|
|
|
+ declare.setStatus("审核中");
|
|
|
+ declare.setCheckStatus("审核中");
|
|
|
+ baseMapper.updateById(declare);
|
|
|
+
|
|
|
+ return declare;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PjOrder revokeCheckOrderCG(PjOrder order) {
|
|
|
+ PjOrder declare = baseMapper.selectById(order.getId());
|
|
|
+ R financeProcess = checkClient.deteleByBillId(order.getId());
|
|
|
+ if (!financeProcess.isSuccess()) {
|
|
|
+ throw new SecurityException("操作失败,请联系管理员");
|
|
|
+ }
|
|
|
+ declare.setStatus("录入");
|
|
|
+ declare.setCheckStatus("审核撤销");
|
|
|
+ baseMapper.updateById(declare);
|
|
|
+ return declare;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 生成工单历史记录
|
|
|
*/
|
|
|
public void saveHistory(Long pid, String status) {
|