中扬CRM客户关系管理系统
LSH
2024-03-28 e3a94fff7f518b2c84296ec4427c985676354096
#周计划
8个文件已修改
1个文件已添加
147 ■■■■ 已修改文件
src/main/java/com/zy/crm/manager/controller/WeeklyController.java 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/entity/Weekly.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/entity/WeeklyDailyPlan.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/entity/param/CstmrUtilsParam.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/mapper/WeeklyMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/service/WeeklyService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/service/impl/WeeklyServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WeeklyMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/weekly/weekly.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/WeeklyController.java
@@ -5,9 +5,10 @@
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.DateUtils;
import com.zy.crm.manager.entity.ReimburseOnlineDetl;
import com.core.exception.CoolException;
import com.zy.crm.manager.entity.Weekly;
import com.zy.crm.manager.entity.WeeklyDailyPlan;
import com.zy.crm.manager.entity.param.CstmrUtilsParam;
import com.zy.crm.manager.entity.param.WeeklyDomainParam;
import com.zy.crm.manager.service.WeeklyDailyPlanService;
import com.zy.crm.manager.service.WeeklyService;
@@ -18,12 +19,14 @@
import com.core.domain.KeyValueVo;
import com.zy.crm.common.web.BaseController;
import com.zy.crm.manager.utils.TimeCalculatorUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@Slf4j
@RestController
public class WeeklyController extends BaseController {
@@ -145,21 +148,23 @@
    public R formAdd(@RequestBody WeeklyDomainParam param){
        try{
            if (Cools.isEmpty(param)){
                return R.error("参数为空:WeeklyDomainParam");
                throw new CoolException("参数为空:WeeklyDomainParam");
            } else if (Cools.isEmpty(param.getWeeklyDailyPlanList()) || param.getWeeklyDailyPlanList().size()==0){
                return R.error("参数为空:WeeklyDailyPlanList");
                throw new CoolException("参数为空:WeeklyDailyPlanList");
            } else if (Cools.isEmpty(param.getWeeklyType())){
                return R.error("参数为空:WeeklyDailyPlanList");
                throw new CoolException("参数为空:WeeklyDailyPlanList");
            } else if (Cools.isEmpty(param.getType())){
                return R.error("参数为空:Type");
                throw new CoolException("参数为空:Type");
            } else if (Cools.isEmpty(param.getWeeklyType())){
                return R.error("参数为空:Weekly");
                throw new CoolException("参数为空:Weekly");
            }
            Date now = new Date();
            Weekly weekly = new Weekly();
            weekly.setHostId(getHostId());
            weekly.setDeptId(getDeptId());               // 所属部门
            weekly.setUserId(getUserId());               // 所属人员
            weekly.setDirector(getUserId());               // 所属人员
            weekly.setCreateBy(getUserId());
            weekly.setCreateTime(now);
@@ -168,7 +173,7 @@
            List<Date> dateList = new ArrayList<>();//获取周一与周日日期
            switch (param.getType()){
            switch (param.getWeeklyType()) {
                case 1:
                    dateList = TimeCalculatorUtils.WeeklyMondayAndSundayFront(now);
                    weekly.setStatus(2);
@@ -182,15 +187,69 @@
                    weekly.setStatus(0);
                    break;
                default:
                    return R.error("参数异常:Weekly="+param.getType());
                    log.error("参数异常:Weekly="+param.getType());
                    throw new CoolException("参数异常:Weekly="+param.getType());
            }
            Integer weeklyRepeatCount = weeklyService.selectUserStartAndEnd(dateList, getUserId());
            if (Cools.isEmpty(weeklyRepeatCount) && weeklyRepeatCount!=0){
                log.error("周计划已存在==》开始日期:"+dateList.get(0)+"结束日期:"+dateList.get(1)+"员工:"+getUser().getNickname());
                throw new CoolException("周计划已存在==》开始日期:"+dateList.get(0)+"结束日期:"+dateList.get(1)+"员工:"+getUser().getNickname());
            }
//            List<CstmrUtilsParam> cstmrUtilsParamList = JSON.parseArray(weekly.getCstmrIdsPlan(), CstmrUtilsParam.class);
            weekly.setStartTime(dateList.get(0));
            weekly.setEndTime(dateList.get(1));
            weekly.setWeeklyYear(TimeCalculatorUtils.timeYest(weekly.getStartTime()));
            weekly.setWeeklyMonth(TimeCalculatorUtils.timeMonth(weekly.getStartTime()));
            weekly.setWeeklyDay(TimeCalculatorUtils.timeDay(weekly.getStartTime()));
            weekly.setWeeklyNowMonth(TimeCalculatorUtils.WeeklyNowMonthDay(weekly.getStartTime()));
            weekly.setWeeklyDayMonth(weekly.getWeeklyMonth()+"月第"+weekly.getWeeklyNowMonth()+"周");
            List<Date> dates = TimeCalculatorUtils.WeeklyListDays(dateList);//获取周一到周日日期
            System.out.println(dates.toString());
            try{
                weeklyService.insert(weekly);
            } catch (Exception e) {
                log.error("新增周计划主表失败,异常信息:"+e);
                throw new CoolException("新增周计划主表失败");
            }
            List<CstmrUtilsParam> cstmrUtilsParamList = new ArrayList<>();
            for (WeeklyDailyPlan weeklyDailyPlan : param.getWeeklyDailyPlanList()){
                weeklyDailyPlan.setHostId(getHostId());
                weeklyDailyPlan.setDeptId(getDeptId());               // 所属部门
                weeklyDailyPlan.setUserId(getUserId());               // 所属人员
                weeklyDailyPlan.setDirector(getUserId());               // 所属人员
                weeklyDailyPlan.setCreateBy(getUserId());
                weeklyDailyPlan.setCreateTime(now);
                weeklyDailyPlan.setUpdateBy(getUserId());
                weeklyDailyPlan.setUpdateTime(now);
                weeklyDailyPlan.setStatus(weekly.getStatus());
                weeklyDailyPlan.setDailyTime(dates.get(weeklyDailyPlan.getWeeklyDay()-1));
                weeklyDailyPlan.setWeeklyId(weekly.getId());
                try{
                    weeklyDailyPlanService.insert(weeklyDailyPlan);
                } catch (Exception e){
                    log.error("新增日计划失败"+e);
                    throw new CoolException("新增日计划失败");
                }
            }
        } catch (Exception e){
            return R.error("异常:"+e);
            log.error("创建周计划异常,异常信息:"+e);
            throw new CoolException("创建周计划失败==>"+e);
        }
        return R.ok();
        return R.ok("创建成功");
    }
    @RequestMapping(value = "/weekly/detl/all/auth")
src/main/java/com/zy/crm/manager/entity/Weekly.java
@@ -8,21 +8,6 @@
import com.zy.crm.system.entity.*;
import com.zy.crm.system.service.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.core.common.SpringUtils;
import com.core.common.SpringUtils;
import com.core.common.SpringUtils;
import com.core.common.SpringUtils;
import com.zy.crm.system.service.UserService;
import com.zy.crm.system.entity.User;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.core.common.SpringUtils;
import com.zy.crm.system.service.UserService;
import com.zy.crm.system.entity.User;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.core.common.SpringUtils;
import com.zy.crm.system.service.UserService;
import com.zy.crm.system.entity.User;
@@ -49,7 +34,6 @@
     * 开始日期
     */
    @ApiModelProperty(value= "开始日期")
    @TableId(value = "start_time", type = IdType.INPUT)
    @TableField("start_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date startTime;
@@ -58,7 +42,6 @@
     * 结束日期
     */
    @ApiModelProperty(value= "结束日期")
    @TableId(value = "end_time", type = IdType.INPUT)
    @TableField("end_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date endTime;
@@ -67,7 +50,6 @@
     * 所属人员
     */
    @ApiModelProperty(value= "所属人员")
    @TableId(value = "user_id", type = IdType.INPUT)
    @TableField("user_id")
    private Long userId;
@@ -142,7 +124,7 @@
    /**
     * update_time
     */
    @ApiModelProperty(value= "update_time")
    @ApiModelProperty(value= "更新时间")
    @TableField("update_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
src/main/java/com/zy/crm/manager/entity/WeeklyDailyPlan.java
@@ -163,7 +163,7 @@
    @ApiModelProperty(value= "周报ID")
    @TableId(value = "weekly_id", type = IdType.INPUT)
    @TableField("weekly_id")
    private Integer weeklyId;
    private Long weeklyId;
    /**
     * 甲方单位ID
@@ -188,7 +188,7 @@
    public WeeklyDailyPlan() {}
    public WeeklyDailyPlan(Date dailyTime,Long userId,Long hostId,Long deptId,Integer status,Integer settle,String settleMsg,String comment,Long createBy,Date createTime,Long updateBy,Date updateTime,String weeklyMatter,Long director,Integer settleSize,Integer settleCurrent,Integer weeklyId,Long cstmrId,Integer weeklyDay,String memo) {
    public WeeklyDailyPlan(Date dailyTime,Long userId,Long hostId,Long deptId,Integer status,Integer settle,String settleMsg,String comment,Long createBy,Date createTime,Long updateBy,Date updateTime,String weeklyMatter,Long director,Integer settleSize,Integer settleCurrent,Long weeklyId,Long cstmrId,Integer weeklyDay,String memo) {
        this.dailyTime = dailyTime;
        this.userId = userId;
        this.hostId = hostId;
src/main/java/com/zy/crm/manager/entity/param/CstmrUtilsParam.java
New file
@@ -0,0 +1,11 @@
package com.zy.crm.manager.entity.param;
import lombok.Data;
@Data
public class CstmrUtilsParam {
    private Long cstmrId;
    private String cstmrName;
}
src/main/java/com/zy/crm/manager/mapper/WeeklyMapper.java
@@ -3,10 +3,15 @@
import com.zy.crm.manager.entity.Weekly;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.Date;
@Mapper
@Repository
public interface WeeklyMapper extends BaseMapper<Weekly> {
    Integer selectUserStartAndEnd(@Param("startTime")Date startTime,  @Param("endTime")Date endTime,  @Param("userId")Long userId);
}
src/main/java/com/zy/crm/manager/service/WeeklyService.java
@@ -3,6 +3,11 @@
import com.zy.crm.manager.entity.Weekly;
import com.baomidou.mybatisplus.service.IService;
import java.util.Date;
import java.util.List;
public interface WeeklyService extends IService<Weekly> {
    Integer selectUserStartAndEnd(List<Date> timeList, Long userId);
}
src/main/java/com/zy/crm/manager/service/impl/WeeklyServiceImpl.java
@@ -1,12 +1,22 @@
package com.zy.crm.manager.service.impl;
import com.core.common.Cools;
import com.zy.crm.manager.mapper.WeeklyMapper;
import com.zy.crm.manager.entity.Weekly;
import com.zy.crm.manager.service.WeeklyService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service("weeklyService")
public class WeeklyServiceImpl extends ServiceImpl<WeeklyMapper, Weekly> implements WeeklyService {
    @Override
    public Integer selectUserStartAndEnd(List<Date> timeList, Long userId){
        Integer integer = this.baseMapper.selectUserStartAndEnd(timeList.get(0), timeList.get(1), userId);
        return Cools.isEmpty(integer)? 0:integer;
    };
}
src/main/resources/mapper/WeeklyMapper.xml
@@ -33,4 +33,12 @@
    </resultMap>
    <select id="selectUserStartAndEnd" resultMap="BaseResultMap">
        select count(1) from man_weekly
        where 1=1
        and start_time = #{startTime}
        and end_time = #{endTime}
        and user_id = #{userId}
    </select>
</mapper>
src/main/webapp/static/js/weekly/weekly.js
@@ -104,7 +104,7 @@
            ,{field: 'settleSize', align: 'center',title: '流程长度',hide : true}
            ,{field: 'settleCurrent', align: 'center',title: '当前进度',hide : true}
            ,{field: 'cstmrIdsPlan', align: 'center',title: '计划甲方单位ID集合',hide : true}
            ,{field: 'weeklyAll', align: 'center',title: '周数',hide : false}
            ,{field: 'weeklyAll', align: 'center',title: '周数',hide : false}
            ,{field: 'weeklyNowMonth', align: 'center',title: '当月第几周',hide : true}
            ,{field: 'weeklyYear', align: 'center',title: '年',hide : true}
            ,{field: 'weeklyMonth', align: 'center',title: '月',hide : true}
@@ -430,7 +430,6 @@
                        contentType:'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function (res) {
                            console.log(data)
                            layer.closeAll('loading');
                            if (res.code === 200){
                                layer.close(dIndex);