| | |
| | | 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; |
| | |
| | | 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.*; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private BusinessTripService businessTripService; |
| | | @Autowired |
| | | private UserService userService; |
| | | |
| | | @RequestMapping(value = "/businessTrip/{id}/auth") |
| | | @ManagerAuth |
| | |
| | | @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){ |
| | |
| | | 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(); |
| | |
| | | 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(); |
| | | } |