From 41db04adedf2eb42e8765ef91a582c905eef3bda Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Sun, 14 Mar 2021 08:43:47 +0800
Subject: [PATCH] 创建订单采用广播形式
---
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java | 74 ++++++++++++++++++-------------------
1 files changed, 36 insertions(+), 38 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
index 405a534..cf0ae5a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -1,12 +1,14 @@
package com.matrix.system.hive.service.imp;
-import com.alibaba.fastjson.JSONObject;
import com.matrix.component.rabbitmq.RabiitMqTemplate;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.pojo.VerifyResult;
-import com.matrix.core.tools.*;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.core.tools.LogUtil;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.ServiceOrderListDto;
import com.matrix.system.app.vo.ServiceOrderListVo;
import com.matrix.system.common.bean.SysUsers;
@@ -14,9 +16,7 @@
import com.matrix.system.constance.Dictionary;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
-import com.matrix.core.tools.DateUtil;
import com.matrix.system.hive.plugin.util.MoneyUtil;
-import com.matrix.system.hive.pojo.MyBeauticianCount;
import com.matrix.system.hive.service.*;
import com.matrix.system.shopXcx.mqTask.MQTaskRouting;
import com.matrix.system.wechart.templateMsg.UniformMsgParam;
@@ -299,15 +299,13 @@
*/
@Override
public VerifyResult checkArrears(SysProjServices sysProjServices) {
- //检测欠款
- /* for (SysBeauticianState sysBeauticianState : sysProjServices.getServiceItems()) {
-
+ // 检测欠款
+ for (SysBeauticianState sysBeauticianState : sysProjServices.getServiceItems()) {
SysProjUse sysProjUse = projUseService.findById(sysBeauticianState.getPuseId());
-
-
ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(sysProjUse.getProjId());
- SysOrderItem orderItem = sysOrderItemService.findById(sysProjUse.getOrderItemId());
+ SysOrderItem item = sysOrderItemService.findById(sysProjUse.getOrderItemId());
+ SysOrder orderItem = sysOrderService.findById(item.getOrderId());
if ("购买".equals(sysProjUse.getSource())) {
// 如果用户有欠款,服务单总价不能超过已付金额
if (orderItem!=null && orderItem.getArrears() > 0) {
@@ -323,17 +321,17 @@
double money = MoneyUtil.sub((bj - orderItem.getArrears()), (yxfje + bcxfje));
// 如果 已付金额 - (已消费金额+本次消费金额)<0 则不能再消费
if (money < 0) {
- return new VerifyResult(true, shoppingGoods.getName() + "存在欠款" + orderItem.getArrears() + "元 , 订单编号[ " + sysOrderService.findById(orderItem.getOrderId()).getOrderNo() + " ] ");
+ return new VerifyResult(true, shoppingGoods.getName() + "存在欠款" + orderItem.getArrears() + "元 , 订单编号[ " + orderItem.getOrderNo() + " ] ");
}
}
} else if ("赠送".equals(sysProjUse.getSource())) {
if (orderItem!=null &&orderItem.getArrears() > 0) {
- return new VerifyResult(true, shoppingGoods.getName() + "存在欠款" + orderItem.getArrears() + "元 , 不能消费赠送项目,订单编号[ " + sysOrderService.findById(orderItem.getOrderId()).getOrderNo() + " ] ");
+ return new VerifyResult(true, shoppingGoods.getName() + "存在欠款" + orderItem.getArrears() + "元 , 不能消费赠送项目,订单编号[ " + orderItem.getOrderNo() + " ] ");
}
}
- }*/
+ }
return new VerifyResult(false);
}
@@ -621,7 +619,7 @@
@Override
public int modifyPLProjServices(SysProjServices projServicesVo) throws GlobleException {
SysProjServices projServices = sysProjServicesDao.selectById(projServicesVo.getId());
-
+ SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
if (!projServices.getState().equals(Dictionary.SERVICE_STATU_XPL)) {
throw new GlobleException("该服务单状态为" + projServices.getState() + ",不可以进行当前操作!");
}
@@ -636,7 +634,7 @@
if(projServices.getDevisionId()!=null){
outStore.setStaffId(projServices.getDevisionId());
}else{
- SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+
outStore.setStaffId(sysUsers.getSuId());
}
outStore.setServiceId(projServices.getId());
@@ -660,7 +658,7 @@
double sum = stores.stream().mapToDouble(item2 -> item2.getStoreTotal()).sum();
Double needAmount = MoneyUtil.div(item.getAmount(), Double.valueOf(shoppingGoods.getVolume()));
if (sum < needAmount) {
- throw new GlobleException("出库失败:【" + shoppingGoods.getName() + "库存不足】");
+ throw new GlobleException("出库失败:【" + shoppingGoods.getName()+"-"+shoppingGoods.getCode()+ "库存不足】");
}
//循环获取所有批次产品,并扣减库存
for (SysStoreInfo storeInfo : stores) {
@@ -676,8 +674,6 @@
sysOutStoreItem.setStoreId(storeInfo.getId());
sysOutStoreItem.setAmount(oldStoreTotal - storeInfo.getStoreTotal());
realOutStoreItemList.add(sysOutStoreItem);
-
-
storeInfoDao.update(storeInfo);
//扣除后剩余库存大于0则跳出扣除,否则剩余数量的负数的绝对值就是再次扣减的数量
if (surplus > 0) {
@@ -691,30 +687,32 @@
LogUtil.debug("未选择配料跳过sku={},amount={}", item.getSkuId(), item.getAmount());
}
}
-
sysOutStoreItemDao.batchInsert(realOutStoreItemList);
+ }
+ // 设置服务单状态
+// projServices.setState(Dictionary.SERVICE_STATU_PLWC);
+
+ projServices.setState(Dictionary.SERVICE_STATU_FWWC);
+ if(projServices.getDevisionId()==null){
+ //如果没有设置配料师则默认为操作配料的人为配料师
+ projServices.setDevisionId(sysUsers.getSuId());
}
- // 设置服务单状态
- projServices.setState(Dictionary.SERVICE_STATU_PLWC);
- // 设置服务单操作流水
- // TODO 本功能待完善记录最新的排班员工
- /* List<LastestWorkBeatuistaff> lastList = LastestWorkBeatuistaffDao.selectByModel(null);
- LastestWorkBeatuistaff lastWork = new LastestWorkBeatuistaff();
- if (lastList.size() > 0) {
- lastWork.setChangeDate(new Date());
- lastWork.setStaffId(projServices.getBeauticianId());
- LastestWorkBeatuistaffDao.insert(lastWork);
- } else {
-
- //TODO 有bug集合为零了
- LastestWorkBeatuistaff modifyObj = lastList.get(0);
- modifyObj.setChangeDate(new Date());
- modifyObj.setStaffId(projServices.getBeauticianId());
- LastestWorkBeatuistaffDao.update(modifyObj);
- }*/
-
+ // 释放床位资源
+ SysBedState checkBedState = sysBedStateDao.selectBySerIdAndBedId(projServices.getBedId(), projServices.getId());
+ if (checkBedState != null) {
+ checkBedState.setBedState(Dictionary.BED_STATE_SYJS);
+ bedStateDao.update(checkBedState);
+ }
+ projServices.setStartTime(new Date());
+ projServices.setEndTime(new Date());
+ // 计算时差
+ long minspace = DateUtil.getDifTimeMin(projServices.getStartTime(), projServices.getEndTime())
+ - projServices.getTotalTime();
+ // 判断是服务超时还是服务提前结束,如果minspace大于0则是超时服务,小于0则是提前结束服务
+ projServices.setIsOverTime(minspace + "");
+ projServices.setState(Dictionary.SERVICE_STATU_FWWC);
return sysProjServicesDao.update(projServices);
}
--
Gitblit v1.9.1