| | |
| | | import com.matrix.system.constance.Dictionary; |
| | | import com.matrix.system.hive.bean.*; |
| | | import com.matrix.system.hive.dao.*; |
| | | import com.matrix.system.hive.plugin.util.DateUtils; |
| | | 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.*; |
| | |
| | | private SysOrderService sysOrderService; |
| | | @Autowired |
| | | WarehouseDao warehouseDao; |
| | | @Resource |
| | | private ShoppingGoodsService shoppingGoodsService; |
| | | |
| | | /** |
| | | * 新增服务单 jyy |
| | |
| | | sysProjServices.setServiceNo(codeService.getServiceOrderCode()); |
| | | Double hkPrice = 0.0; |
| | | int i = sysProjServicesDao.insert(sysProjServices); |
| | | |
| | | // 计算项目总时长 |
| | | int totalTime = 0; |
| | | //处理订单明细 |
| | |
| | | //本次消费金额 |
| | | Double bcxfje = MoneyUtil.mul(sysProjUse.getPrice(), Double.valueOf(sysBeauticianState.getCount())); |
| | | upProjUse.setBalance(MoneyUtil.sub(sysProjUse.getBalance(), bcxfje)); |
| | | |
| | | // 判断是否第一次使用该项目, 若是则根据商品消耗有效期更新到期时间 |
| | | List<SysBeauticianState> sysBeauticianStates = beauticianStateDao.selectBeauticianStateByPuseIdAndNoStatus(sysBeauticianState.getPuseId(), Dictionary.SERVICE_STATU_YYQX); |
| | | if (CollectionUtils.isEmpty(sysBeauticianStates)) { |
| | | Date useInvalidTime = shoppingGoodsService.calInvalidTime(sysProjInfo, 2, sysProjUse.getFailTime()); |
| | | upProjUse.setFailTime(useInvalidTime); |
| | | } |
| | | |
| | | //更新余次信息 |
| | | sysProjUseDao.updateSurplusCount(upProjUse); |
| | | //如果项目是套餐 中项目则判断套餐是否失效 |
| | |
| | | } else { |
| | | taocan.setSurplusCount(tcSurplusCount); |
| | | } |
| | | } |
| | | |
| | | // 根据套餐内所有项目查询该套餐是否第一次使用,若第一次使用则更新该套餐有效期 |
| | | List<SysBeauticianState> taocanHas = beauticianStateDao.selectByProjUse(taocanProjUses, Dictionary.SERVICE_STATU_YYQX); |
| | | if (CollectionUtils.isEmpty(taocanHas)) { |
| | | Date useInvalidTime = shoppingGoodsService.calInvalidTime(sysProjInfo, 2, sysProjUse.getFailTime()); |
| | | taocan.setFailTime(useInvalidTime); |
| | | } |
| | | sysProjUseDao.updateSurplusCount(taocan); |
| | | } |
| | |
| | | // 验证床位排班时间是否正确 |
| | | |
| | | SysBedState sysBedState = projServices.getBedState(); |
| | | sysBedState.setEndTime(DateUtils.getNextNMinute(sysBedState.getStartTime(), projServices.getTotalTime())); |
| | | sysBedState.setEndTime(DateUtil.getNextNMinute(sysBedState.getStartTime(), projServices.getTotalTime())); |
| | | sysBedState.setBedId(projServices.getBedId()); |
| | | sysBedState.setServiceId((projServices.getId())); |
| | | sysBedState.setBedState(Dictionary.BED_STATE_SYZ); |
| | | |
| | | for (SysBeauticianState beauticianState : projServices.getServiceItems()) { |
| | | if (DateUtils.isAffterDate(beauticianState.getEndTime(), beauticianState.getBeginTime())) { |
| | | if (DateUtil.isAffterDate(beauticianState.getEndTime(), beauticianState.getBeginTime())) { |
| | | throw new GlobleException("美疗师的排班结束时间不能晚于美疗师排班的开始时间!"); |
| | | } |
| | | } |
| | |
| | | } |
| | | checkprojServices.setEndTime(new Date()); |
| | | // 计算时差 |
| | | long minspace = DateUtils.getDifTimeMin(checkprojServices.getStartTime(), checkprojServices.getEndTime()) |
| | | long minspace = DateUtil.getDifTimeMin(checkprojServices.getStartTime(), checkprojServices.getEndTime()) |
| | | - checkprojServices.getTotalTime(); |
| | | // 判断是服务超时还是服务提前结束,如果minspace大于0则是超时服务,小于0则是提前结束服务 |
| | | checkprojServices.setIsOverTime(minspace + ""); |