From 3925d9587584b514d70bb79b4fd176c9d5db38c7 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 28 八月 2023 12:53:03 +0800 Subject: [PATCH] #出差完善 --- src/main/java/com/zy/crm/manager/controller/BusinessTripController.java | 64 ++++++++++++++++++++++++++++++- 1 files changed, 61 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/BusinessTripController.java b/src/main/java/com/zy/crm/manager/controller/BusinessTripController.java index 48a9700..f76e35b 100644 --- a/src/main/java/com/zy/crm/manager/controller/BusinessTripController.java +++ b/src/main/java/com/zy/crm/manager/controller/BusinessTripController.java @@ -1,5 +1,6 @@ package com.zy.crm.manager.controller; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; @@ -9,11 +10,14 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; +import com.zy.crm.common.model.SettleDto; import com.zy.crm.common.web.BaseController; import com.zy.crm.manager.entity.BusinessTrip; import com.zy.crm.manager.service.BusinessTripService; import com.zy.crm.manager.utils.CarNumberUtils; import com.zy.crm.manager.utils.TimeCalculatorUtils; +import com.zy.crm.system.entity.User; +import com.zy.crm.system.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -24,6 +28,8 @@ @Autowired private BusinessTripService businessTripService; + @Autowired + private UserService userService; @RequestMapping(value = "/businessTrip/{id}/auth") @ManagerAuth @@ -61,7 +67,9 @@ @RequestMapping(value = "/businessTrip/add/auth") @ManagerAuth public R add(BusinessTrip businessTrip) { - + if (Cools.isEmpty(businessTrip) || null==businessTrip.getId()){ + return R.error(); + } Date now = new Date(); //鍒ゆ柇杞︾墝鍙� if (businessTrip.getBusinessTransportation()==5 || businessTrip.getBusinessTransportation()==4){ @@ -69,16 +77,38 @@ if (!carNumberBoolean){ return R.error("璇疯緭鍏ユ湁鏁堣溅鐗屽彿"); } + }else { + businessTrip.setCarNumber("鏃�"); } businessTrip.setBusinessPeersId(System.currentTimeMillis()); -// businessTrip.setBusinessDuration(TimeCalculatorUtils.getDifferenceDayDouble(businessTrip.getBusinessStartTimeDay$(),businessTrip.getBusinessEndTimeDay$())); - businessTrip.setBusinessTripDays(TimeCalculatorUtils.getDifferenceDayInt(businessTrip.getBusinessStartTime(),businessTrip.getBusinessEndTime())); + + if (!TimeCalculatorUtils.CompareData(businessTrip.getBusinessStartTime(),businessTrip.getBusinessEndTime())){ + return R.error("缁撴潫鏃堕棿搴斿ぇ浜庣瓑浜庡紑濮嬫椂闂�"); + } + + if (TimeCalculatorUtils.DifferenceYest(businessTrip.getBusinessStartTime(),businessTrip.getBusinessEndTime())!=0){ + int month = TimeCalculatorUtils.DifferenceMonth(businessTrip.getBusinessStartTime(), businessTrip.getBusinessEndTime()); + int yest = TimeCalculatorUtils.DifferenceYest(businessTrip.getBusinessStartTime(), businessTrip.getBusinessEndTime()); + int i = month + yest * 12; + if (i>12){ + return R.error("鍑哄樊鏃堕暱涓嶅彲瓒呰繃涓�骞�"); + } + } + + businessTrip.setBusinessDuration(TimeCalculatorUtils.DifferenceDayMorningAfternoon(businessTrip.getBusinessStartTime(),businessTrip.getBusinessEndTime(),businessTrip.getBusinessStartTimeDay(),businessTrip.getBusinessEndTimeDay())); + businessTrip.setBusinessTripDays(TimeCalculatorUtils.DifferenceDayInt(businessTrip.getBusinessStartTime(),businessTrip.getBusinessEndTime())); businessTrip.setUserId(getUserId()); businessTrip.setDeptId(getDeptId()); businessTrip.setCreateTime(now); businessTrip.setUserId(getUserId()); businessTrip.setUpdateTime(now); + businessTrip.setUpdateId(getUserId()); businessTrip.setStatus(0); + businessTrip.setSettle(1); + + User manager = userService.getDeptManager(getHostId(), getUser().getDeptId()); // 鑾峰彇閮ㄩ棬棰嗗 + + businessTrip.setSettleMsg(JSON.toJSONString(SettleDto.initBusiness(manager,getUser()))); businessTripService.insert(businessTrip); return R.ok(); @@ -90,6 +120,34 @@ if (Cools.isEmpty(businessTrip) || null==businessTrip.getId()){ return R.error(); } + Date now = new Date(); + //鍒ゆ柇杞︾墝鍙� + if (businessTrip.getBusinessTransportation()==5 || businessTrip.getBusinessTransportation()==4){ + boolean carNumberBoolean = CarNumberUtils.isValidLicensePlate(businessTrip.getCarNumber()); + if (!carNumberBoolean){ + return R.error("璇疯緭鍏ユ湁鏁堣溅鐗屽彿"); + } + }else { + businessTrip.setCarNumber("鏃�"); + } + businessTrip.setBusinessPeersId(System.currentTimeMillis()); + + if (!TimeCalculatorUtils.CompareData(businessTrip.getBusinessStartTime(),businessTrip.getBusinessEndTime())){ + return R.error("缁撴潫鏃堕棿搴斿ぇ浜庣瓑浜庡紑濮嬫椂闂�"); + } + + if (TimeCalculatorUtils.DifferenceYest(businessTrip.getBusinessStartTime(),businessTrip.getBusinessEndTime())!=0){ + int month = TimeCalculatorUtils.DifferenceMonth(businessTrip.getBusinessStartTime(), businessTrip.getBusinessEndTime()); + int yest = TimeCalculatorUtils.DifferenceYest(businessTrip.getBusinessStartTime(), businessTrip.getBusinessEndTime()); + int i = month + yest * 12; + if (i>12){ + return R.error("鍑哄樊鏃堕暱涓嶅彲瓒呰繃涓�骞�"); + } + } + businessTrip.setBusinessDuration(TimeCalculatorUtils.DifferenceDayMorningAfternoon(businessTrip.getBusinessStartTime(),businessTrip.getBusinessEndTime(),businessTrip.getBusinessStartTimeDay(),businessTrip.getBusinessEndTimeDay())); + businessTrip.setBusinessTripDays(TimeCalculatorUtils.DifferenceDayInt(businessTrip.getBusinessStartTime(),businessTrip.getBusinessEndTime())); + businessTrip.setUpdateTime(now); + businessTrip.setUpdateId(getUserId()); businessTripService.updateById(businessTrip); return R.ok(); } -- Gitblit v1.9.1