/***文档注释***********************************************
 * 作者            ：宋燕辉
 * 创建日期     ：2018-03-26
 * 描述            ：岗位交接班记录主表
 * 注意事项     ：
 * 遗留BUG   ：
 * 修改日期     ：
 * 修改人员     ：
 * 修改内容     ：
***********************************************************/
package market.Mes.Shift.impl;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import market.Com.vo.CommonPage;
import market.Com.vo.ResultModel;
import market.Mes.Shift.mapper.MesShiftMapper;
import market.Mes.Shift.service.MesShiftService;
import market.Mes.Shift.vo.MesShift;

import com.hnshituo.basic.service.impl.BaseServiceImpl;
import com.hnshituo.basic.spring.remoting.annotation.RemoteService;

@RemoteService(path="MesShiftService")
public class MesShiftServiceImpl extends BaseServiceImpl<MesShift,Object> implements MesShiftService {

	public ResultModel doInsert(CommonPage<MesShift> cp) throws Exception{
		ResultModel rm = new ResultModel();
		Date now = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
		String sql = "select to_char(trunc(sysdate, 'yyyy') + rownum - 1, 'yyyy-mm-dd') from dual "
				+ "connect by rownum <= add_months(trunc(sysdate, 'yyyy'), 12) - trunc(sysdate, 'yyyy')";
		List<String> yList = this.getMapper(MesShiftMapper.class).doQueryYearList(sql);
		for (String wrk_date : yList) {
			long day = (sdf.parse(wrk_date).getTime() - sdf.parse("2021-06-01").getTime())/(24*3600*1000)%8;
			System.out.println(wrk_date+ "间隔"+day+"天");
			List<MesShift> msList = new ArrayList<MesShift>();
			if (day == 0) {
				MesShift ms = new MesShift();
				ms.setWrk_date(wrk_date);
				ms.setWrk_ord("1");
				ms.setWrk_grp("4");
				ms.setMachine_code("M0010");
				ms.setCreate_opr("sys");
				ms.setCreate_time(now);
				msList.add(ms);
				
				MesShift ms2 = new MesShift();
				ms2.setWrk_date(wrk_date);
				ms2.setWrk_ord("2");
				ms2.setWrk_grp("3");
				ms2.setMachine_code("M0010");
				ms2.setCreate_opr("sys");
				ms2.setCreate_time(now);
				msList.add(ms2);
				
				MesShift ms3 = new MesShift();
				ms3.setWrk_date(wrk_date);
				ms3.setWrk_ord("3");
				ms3.setWrk_grp("1");
				ms3.setMachine_code("M0010");
				ms3.setCreate_opr("sys");
				ms3.setCreate_time(now);
				msList.add(ms3);
				this.getMapper(MesShiftMapper.class).insertBatch(msList);
			}else if (Math.abs(day) == 1) {
				MesShift ms = new MesShift();
				ms.setWrk_date(wrk_date);
				ms.setWrk_ord("1");
				ms.setWrk_grp("1");
				ms.setMachine_code("M0010");
				ms.setCreate_opr("sys");
				ms.setCreate_time(now);
				msList.add(ms);
				
				MesShift ms2 = new MesShift();
				ms2.setWrk_date(wrk_date);
				ms2.setWrk_ord("2");
				ms2.setWrk_grp("2");
				ms2.setMachine_code("M0010");
				ms2.setCreate_opr("sys");
				ms2.setCreate_time(now);
				msList.add(ms2);
				
				MesShift ms3 = new MesShift();
				ms3.setWrk_date(wrk_date);
				ms3.setWrk_ord("3");
				ms3.setWrk_grp("3");
				ms3.setMachine_code("M0010");
				ms3.setCreate_opr("sys");
				ms3.setCreate_time(now);
				msList.add(ms3);
				this.getMapper(MesShiftMapper.class).insertBatch(msList);				
			}else if (Math.abs(day) == 2) {
				MesShift ms = new MesShift();
				ms.setWrk_date(wrk_date);
				ms.setWrk_ord("1");
				ms.setWrk_grp("3");
				ms.setMachine_code("M0010");
				ms.setCreate_opr("sys");
				ms.setCreate_time(now);
				msList.add(ms);
				
				MesShift ms2 = new MesShift();
				ms2.setWrk_date(wrk_date);
				ms2.setWrk_ord("2");
				ms2.setWrk_grp("4");
				ms2.setMachine_code("M0010");
				ms2.setCreate_opr("sys");
				ms2.setCreate_time(now);
				msList.add(ms2);
				
				MesShift ms3 = new MesShift();
				ms3.setWrk_date(wrk_date);
				ms3.setWrk_ord("3");
				ms3.setWrk_grp("2");
				ms3.setMachine_code("M0010");
				ms3.setCreate_opr("sys");
				ms3.setCreate_time(now);
				msList.add(ms3);
				this.getMapper(MesShiftMapper.class).insertBatch(msList);				
			}else if (Math.abs(day) == 3) {
				MesShift ms = new MesShift();
				ms.setWrk_date(wrk_date);
				ms.setWrk_ord("1");
				ms.setWrk_grp("2");
				ms.setMachine_code("M0010");
				ms.setCreate_opr("sys");
				ms.setCreate_time(now);
				msList.add(ms);
				
				MesShift ms2 = new MesShift();
				ms2.setWrk_date(wrk_date);
				ms2.setWrk_ord("2");
				ms2.setWrk_grp("1");
				ms2.setMachine_code("M0010");
				ms2.setCreate_opr("sys");
				ms2.setCreate_time(now);
				msList.add(ms2);
				
				MesShift ms3 = new MesShift();
				ms3.setWrk_date(wrk_date);
				ms3.setWrk_ord("3");
				ms3.setWrk_grp("4");
				ms3.setMachine_code("M0010");
				ms3.setCreate_opr("sys");
				ms3.setCreate_time(now);
				msList.add(ms3);
				this.getMapper(MesShiftMapper.class).insertBatch(msList);				
			}else if (Math.abs(day) == 4) {
				MesShift ms = new MesShift();
				ms.setWrk_date(wrk_date);
				ms.setWrk_ord("1");
				ms.setWrk_grp("4");
				ms.setMachine_code("M0010");
				ms.setCreate_opr("sys");
				ms.setCreate_time(now);
				msList.add(ms);
				
				MesShift ms2 = new MesShift();
				ms2.setWrk_date(wrk_date);
				ms2.setWrk_ord("2");
				ms2.setWrk_grp("3");
				ms2.setMachine_code("M0010");
				ms2.setCreate_opr("sys");
				ms2.setCreate_time(now);
				msList.add(ms2);
				
				MesShift ms3 = new MesShift();
				ms3.setWrk_date(wrk_date);
				ms3.setWrk_ord("3");
				ms3.setWrk_grp("1");
				ms3.setMachine_code("M0010");
				ms3.setCreate_opr("sys");
				ms3.setCreate_time(now);
				msList.add(ms3);
				this.getMapper(MesShiftMapper.class).insertBatch(msList);				
			}else if (Math.abs(day) == 5) {
				MesShift ms = new MesShift();
				ms.setWrk_date(wrk_date);
				ms.setWrk_ord("1");
				ms.setWrk_grp("1");
				ms.setMachine_code("M0010");
				ms.setCreate_opr("sys");
				ms.setCreate_time(now);
				msList.add(ms);
				
				MesShift ms2 = new MesShift();
				ms2.setWrk_date(wrk_date);
				ms2.setWrk_ord("2");
				ms2.setWrk_grp("2");
				ms2.setMachine_code("M0010");
				ms2.setCreate_opr("sys");
				ms2.setCreate_time(now);
				msList.add(ms2);
				
				MesShift ms3 = new MesShift();
				ms3.setWrk_date(wrk_date);
				ms3.setWrk_ord("3");
				ms3.setWrk_grp("3");
				ms3.setMachine_code("M0010");
				ms3.setCreate_opr("sys");
				ms3.setCreate_time(now);
				msList.add(ms3);
				this.getMapper(MesShiftMapper.class).insertBatch(msList);				
			}else if (Math.abs(day) == 6) {
				MesShift ms = new MesShift();
				ms.setWrk_date(wrk_date);
				ms.setWrk_ord("1");
				ms.setWrk_grp("3");
				ms.setMachine_code("M0010");
				ms.setCreate_opr("sys");
				ms.setCreate_time(now);
				msList.add(ms);
				
				MesShift ms2 = new MesShift();
				ms2.setWrk_date(wrk_date);
				ms2.setWrk_ord("2");
				ms2.setWrk_grp("4");
				ms2.setMachine_code("M0010");
				ms2.setCreate_opr("sys");
				ms2.setCreate_time(now);
				msList.add(ms2);
				
				MesShift ms3 = new MesShift();
				ms3.setWrk_date(wrk_date);
				ms3.setWrk_ord("3");
				ms3.setWrk_grp("2");
				ms3.setMachine_code("M0010");
				ms3.setCreate_opr("sys");
				ms3.setCreate_time(now);
				msList.add(ms3);
				this.getMapper(MesShiftMapper.class).insertBatch(msList);				
			}else if (Math.abs(day) == 7) {
				MesShift ms = new MesShift();
				ms.setWrk_date(wrk_date);
				ms.setWrk_ord("1");
				ms.setWrk_grp("2");
				ms.setMachine_code("M0010");
				ms.setCreate_opr("sys");
				ms.setCreate_time(now);
				msList.add(ms);
				
				MesShift ms2 = new MesShift();
				ms2.setWrk_date(wrk_date);
				ms2.setWrk_ord("2");
				ms2.setWrk_grp("1");
				ms2.setMachine_code("M0010");
				ms2.setCreate_opr("sys");
				ms2.setCreate_time(now);
				msList.add(ms2);
				
				MesShift ms3 = new MesShift();
				ms3.setWrk_date(wrk_date);
				ms3.setWrk_ord("3");
				ms3.setWrk_grp("4");
				ms3.setMachine_code("M0010");
				ms3.setCreate_opr("sys");
				ms3.setCreate_time(now);
				msList.add(ms3);
				this.getMapper(MesShiftMapper.class).insertBatch(msList);				
			}	
			
		}
		rm.setMsgInfo("新增成功");
		rm.setState("200");
		return rm;
	}
}



