中扬CRM客户关系管理系统
LSH
2023-08-28 3925d9587584b514d70bb79b4fd176c9d5db38c7
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();
    }