StaffRuleModel.java 1.84 KB
package com.pipihelper.project.rostering.model;

import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import lombok.Data;

import java.util.Date;

/**
 * @description: 人员配置
 * @author: zsw
 * @create: 2022-10-14 18:10
 **/
@Data
public class StaffRuleModel {

    /**
     * 班次名称
     */
    private String name;

    /**
     * 当月班次最大出现次数
     */
    private Threshold maxTimes;

    /**
     * 当月班次最小出现次数
     */
    private Threshold minTimes;

    /**
     * 指定班次
     */
    private Threshold fixedShift;

    @Data
    public static class Threshold {

        /**
         * 班次
         */
        private String shift;

        /**
         * 次数
         */
        private Integer times;

        /**
         * 日期
         */
        private Date date;
    }
//{"fixedShift":{"date":"2022-10-14 00:00:00","shift":"AAAA"},"maxTimes":{"shift":"AAA","times":5},"minTimes":{"shift":"AAA","times":5},"name":"xxxx"}
    public static void main(String[] args) {
        StaffRuleModel staffRuleModel = new StaffRuleModel();
        staffRuleModel.setName("xxxx");

        Threshold maxTimes = new Threshold();
        maxTimes.setShift("AAA");
        maxTimes.setTimes(5);

        Threshold minTimes = new Threshold();
        minTimes.setShift("AAA");
        minTimes.setTimes(5);


        Threshold fixedShift = new Threshold();
        fixedShift.setDate(DateUtil.parse("2022-10-14 00:00:00"));
        fixedShift.setShift("AAAA");

        staffRuleModel.setMaxTimes(maxTimes);
        staffRuleModel.setMinTimes(minTimes);
        staffRuleModel.setFixedShift(fixedShift);

        String s = JSONObject.toJSONString(staffRuleModel, SerializerFeature.WriteDateUseDateFormat);
        System.out.println(s);

    }


}