スケジュール保存モジュール

42692 ワード

日程保存インターフェースは、主に日程の週ごとに日と自主的に3つのモードを選択して保存します。
  //          
    @Override
    public RestMessage getEditSchedule(JSONObject jsonObject) {
        RestMessage restMessage = null;
        try {
            logger.info("    :        json:" + jsonObject.toJSONString());
            restMessage = new RestMessage();
            String errorCode = "0";
            String errorMessage = "  ";
            boolean success = true;
            //     
            RequestHead requestHead = jsonObject.getObject("head" , RequestHead.class);
            String loginCode = requestHead.getLoginCode();//      
            String userCode = requestHead.getUserCode();//       
            String comCode = requestHead.getComCode();//    
            String comId = requestHead.getComId();//      
            String comPath = requestHead.getComPath();//    
            String toKen = requestHead.getToKen();//    
            String uuid = requestHead.getUuid();//      
            String userType = requestHead.getUserType();//    
            String teamCode = requestHead.getTeamCode();//   
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
            Date parse = null;
            //     
            try{
                ScheduleListBody scheduleListBody = jsonObject.getObject("body" , ScheduleListBody.class);
                if(scheduleListBody != null){
                    List<ScheduleTime> scheduleTimeList = scheduleListBody.getScheduleList();
                    boolean canSaveflag = getCanSaveflag(scheduleTimeList, userCode);
                    if(canSaveflag){
                        for(ScheduleTime scheduleTime : scheduleTimeList){
                            String storeCode = scheduleTime.getStoreCode();
                            String storeName = scheduleTime.getStoreName();
                            int storeNo = scheduleTime.getStoreNo();
                            String storeAddR = scheduleTime.getStoreAddR();
                            String scheduleTimeStr = scheduleTime.getScheduleTime();
                            int editSchedulType = scheduleTime.getEditSchedulType();
                            String scheduleNo = scheduleTime.getScheduleNo(); //    
                            String operationType = scheduleTime.getOperationType(); //  
                            String scheduledate = scheduleTime.getScheduledate();
                            String alreadychecknum = scheduleTime.getAlreadyCheckNum();
                            String shouldchecknum = scheduleTime.getShouldCheckNum();
                            String storeType = scheduleTime.getStoreType();
                            String tempString = scheduleTime.getTempString(); //     (               )
                            try {
                                parse = sdf.parse(scheduledate);
                            }catch (Exception e){
                                logger.info("      ");
                            }
                            if("0".equals(operationType)){
                                if(scheduleTimeStr.contains("~")){
                                    String[] split = scheduleTimeStr.split("~");
                                    List<String> strings = Arrays.asList(split);
                                    int i = 0;
                                    for(String str : strings){
                                        if(getweeks().contains(str)){//    
                                            String[] temp0 = tempString.split("~");
                                            CDEditSchedul cdEditSchedul = new CDEditSchedul();
                                            cdEditSchedul.setUsercode(userCode);
                                            cdEditSchedul.setStorecode(storeCode);
                                            cdEditSchedul.setStorename(storeName);
                                            cdEditSchedul.setStoreno(storeNo);
                                            cdEditSchedul.setStoreaddr(storeAddR);
                                            cdEditSchedul.setSchedyleno(scheduleNo);
                                            cdEditSchedul.setEditstchedultype(editSchedulType);
                                            cdEditSchedul.setInserttimeforhis(new Date());
                                            cdEditSchedul.setRemark("");
                                            cdEditSchedul.setFlag("");
                                            cdEditSchedul.setAlreadychecknum(alreadychecknum);
                                            cdEditSchedul.setShouldchecknum(shouldchecknum);
                                            cdEditSchedul.setScheduletime(str);
                                            cdEditSchedul.setScheduledate(sdf.parse(temp0[i]));
                                            cdEditSchedul.setStoretype(storeType);
                                            cdEditSchedulMapper.insert(cdEditSchedul);
                                            i++ ;
                                        }else{
                                            CDEditSchedul cdEditSchedul = new CDEditSchedul();
                                            cdEditSchedul.setUsercode(userCode);
                                            cdEditSchedul.setStorecode(storeCode);
                                            cdEditSchedul.setStorename(storeName);
                                            cdEditSchedul.setStoreno(storeNo);
                                            cdEditSchedul.setStoreaddr(storeAddR);
                                            cdEditSchedul.setSchedyleno(scheduleNo);
                                            cdEditSchedul.setEditstchedultype(editSchedulType);
                                            cdEditSchedul.setInserttimeforhis(new Date());
                                            cdEditSchedul.setRemark("");
                                            cdEditSchedul.setFlag("");
                                            cdEditSchedul.setAlreadychecknum(alreadychecknum);
                                            cdEditSchedul.setShouldchecknum(shouldchecknum);
                                            cdEditSchedul.setScheduletime(str);
                                            cdEditSchedul.setScheduledate(sdf.parse(str));
                                            cdEditSchedul.setStoretype(storeType);
                                            cdEditSchedulMapper.insert(cdEditSchedul);
                                        }
                                    }
                                }else{
                                    CDEditSchedul cdEditSchedul = new CDEditSchedul();
                                    cdEditSchedul.setUsercode(userCode);
                                    cdEditSchedul.setStorecode(storeCode);
                                    cdEditSchedul.setStorename(storeName);
                                    cdEditSchedul.setStoreno(storeNo);
                                    cdEditSchedul.setStoreaddr(storeAddR);
                                    cdEditSchedul.setScheduletime(scheduleTimeStr);
                                    cdEditSchedul.setSchedyleno(scheduleNo);
                                    cdEditSchedul.setEditstchedultype(editSchedulType);
                                    cdEditSchedul.setInserttimeforhis(new Date());
                                    cdEditSchedul.setRemark("");
                                    cdEditSchedul.setFlag("");
                                    cdEditSchedul.setAlreadychecknum(alreadychecknum);
                                    cdEditSchedul.setShouldchecknum(shouldchecknum);
                                    cdEditSchedul.setScheduledate(parse);
                                    cdEditSchedul.setStoretype(storeType);
                                    cdEditSchedulMapper.insert(cdEditSchedul);
                                }
                            }else if("1".equals(operationType)){
                                CDEditSchedul cdEditSchedul = new CDEditSchedul();
                                cdEditSchedul.setUsercode(userCode);
                                cdEditSchedul.setStorecode(storeCode);
                                cdEditSchedul.setScheduletime(scheduleTimeStr);
                                cdEditSchedul.setSchedyleno(scheduleNo);
                                cdEditSchedulMapper.delete(cdEditSchedul);
                            }
                        }
                    }else{
                        errorCode = "1";
                        errorMessage = "          3   ,     ";
                        success = false;
                    }

                }
            }catch (Exception e){
                errorCode = "1";
                errorMessage = "      ";
                success = false;
            }
            ResponseHead responseHead = new ResponseHead();
            responseHead.setLoginCode(loginCode);
            responseHead.setUserCode(userCode);
            responseHead.setComCode(comCode);
            responseHead.setComId(comId);
            responseHead.setComPath(comPath);
            responseHead.setToKen(toKen);
            responseHead.setUuid(uuid);
            responseHead.setErrorCode(errorCode);
            responseHead.setErrorMessage(errorMessage);
            responseHead.setUserType(userType);
            responseHead.setTeamCode(teamCode);
            Map<String, Object> map = new HashMap<>();
            map.put("head" , responseHead);
            String json =JSON.toJSONString(map , SerializerFeature.DisableCircularReferenceDetect);
            restMessage.setData(AESUtilTools.encrypt(json));
            restMessage.setErrCode(Integer.parseInt(errorCode));
            restMessage.setMessage(errorMessage);
            restMessage.setSuccess(success);
            logger.info("    :        json:" + JSON.toJSONString(map));
        } catch (Exception e) {
            logger.error(e.toString());
        }
        return restMessage;
    }