Commit 80abe7f7f6dbd697e07927dd4deb0b105d839e66
1 parent
c4d00ef1
Update
Showing
14 changed files
with
337 additions
and
37 deletions
src/main/java/com/bsth/entity/schedule/rule/RerunRule.java
| @@ -73,10 +73,21 @@ public class RerunRule extends BEntity { | @@ -73,10 +73,21 @@ public class RerunRule extends BEntity { | ||
| 73 | /** 车辆配置 */ | 73 | /** 车辆配置 */ |
| 74 | @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY) | 74 | @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY) |
| 75 | private CarConfigInfo useCarConfig; | 75 | private CarConfigInfo useCarConfig; |
| 76 | + | ||
| 77 | + private Integer cl; // 冗余字段(车辆id) | ||
| 78 | + private String clZbh; // 冗余字段(车辆自编号) | ||
| 79 | + | ||
| 76 | /** 人员配置 */ | 80 | /** 人员配置 */ |
| 77 | @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY) | 81 | @ManyToOne(cascade = CascadeType.DETACH, fetch = FetchType.LAZY) |
| 78 | private EmployeeConfigInfo useEmployeeConfig; | 82 | private EmployeeConfigInfo useEmployeeConfig; |
| 79 | 83 | ||
| 84 | + private Integer j; // 冗余字段(驾驶员Id) | ||
| 85 | + private String jGh; // 冗余字段(驾驶员工号) | ||
| 86 | + private String jName; // 冗余字段(驾驶员姓名) | ||
| 87 | + private Integer s; // 冗余字段(售票员Id) | ||
| 88 | + private String sGh; // 冗余字段(售票员工号) | ||
| 89 | + private String sName; // 冗余字段(售票员姓名) | ||
| 90 | + | ||
| 80 | /** 是否删除(标记) */ | 91 | /** 是否删除(标记) */ |
| 81 | @Column(nullable = false) | 92 | @Column(nullable = false) |
| 82 | private Boolean isCancel = false; | 93 | private Boolean isCancel = false; |
| @@ -176,4 +187,68 @@ public class RerunRule extends BEntity { | @@ -176,4 +187,68 @@ public class RerunRule extends BEntity { | ||
| 176 | public void setRerunTtinfodetailFcsjs(String rerunTtinfodetailFcsjs) { | 187 | public void setRerunTtinfodetailFcsjs(String rerunTtinfodetailFcsjs) { |
| 177 | this.rerunTtinfodetailFcsjs = rerunTtinfodetailFcsjs; | 188 | this.rerunTtinfodetailFcsjs = rerunTtinfodetailFcsjs; |
| 178 | } | 189 | } |
| 190 | + | ||
| 191 | + public Integer getCl() { | ||
| 192 | + return cl; | ||
| 193 | + } | ||
| 194 | + | ||
| 195 | + public void setCl(Integer cl) { | ||
| 196 | + this.cl = cl; | ||
| 197 | + } | ||
| 198 | + | ||
| 199 | + public String getClZbh() { | ||
| 200 | + return clZbh; | ||
| 201 | + } | ||
| 202 | + | ||
| 203 | + public void setClZbh(String clZbh) { | ||
| 204 | + this.clZbh = clZbh; | ||
| 205 | + } | ||
| 206 | + | ||
| 207 | + public Integer getJ() { | ||
| 208 | + return j; | ||
| 209 | + } | ||
| 210 | + | ||
| 211 | + public void setJ(Integer j) { | ||
| 212 | + this.j = j; | ||
| 213 | + } | ||
| 214 | + | ||
| 215 | + public String getjGh() { | ||
| 216 | + return jGh; | ||
| 217 | + } | ||
| 218 | + | ||
| 219 | + public void setjGh(String jGh) { | ||
| 220 | + this.jGh = jGh; | ||
| 221 | + } | ||
| 222 | + | ||
| 223 | + public String getjName() { | ||
| 224 | + return jName; | ||
| 225 | + } | ||
| 226 | + | ||
| 227 | + public void setjName(String jName) { | ||
| 228 | + this.jName = jName; | ||
| 229 | + } | ||
| 230 | + | ||
| 231 | + public Integer getS() { | ||
| 232 | + return s; | ||
| 233 | + } | ||
| 234 | + | ||
| 235 | + public void setS(Integer s) { | ||
| 236 | + this.s = s; | ||
| 237 | + } | ||
| 238 | + | ||
| 239 | + public String getsGh() { | ||
| 240 | + return sGh; | ||
| 241 | + } | ||
| 242 | + | ||
| 243 | + public void setsGh(String sGh) { | ||
| 244 | + this.sGh = sGh; | ||
| 245 | + } | ||
| 246 | + | ||
| 247 | + public String getsName() { | ||
| 248 | + return sName; | ||
| 249 | + } | ||
| 250 | + | ||
| 251 | + public void setsName(String sName) { | ||
| 252 | + this.sName = sName; | ||
| 253 | + } | ||
| 179 | } | 254 | } |
src/main/java/com/bsth/service/schedule/impl/SchedulePlanServiceImpl.java
| @@ -12,6 +12,7 @@ import com.bsth.service.schedule.exception.ScheduleException; | @@ -12,6 +12,7 @@ import com.bsth.service.schedule.exception.ScheduleException; | ||
| 12 | import com.bsth.service.schedule.rules.ScheduleRuleService; | 12 | import com.bsth.service.schedule.rules.ScheduleRuleService; |
| 13 | import com.bsth.service.schedule.rules.plan.PlanCalcuParam_input; | 13 | import com.bsth.service.schedule.rules.plan.PlanCalcuParam_input; |
| 14 | import com.bsth.service.schedule.rules.plan.PlanResult; | 14 | import com.bsth.service.schedule.rules.plan.PlanResult; |
| 15 | +import com.bsth.service.schedule.rules.rerun.RerunRule_input; | ||
| 15 | import com.bsth.service.schedule.rules.shiftloop.ScheduleCalcuParam_input; | 16 | import com.bsth.service.schedule.rules.shiftloop.ScheduleCalcuParam_input; |
| 16 | import com.bsth.service.schedule.rules.shiftloop.ScheduleResults_output; | 17 | import com.bsth.service.schedule.rules.shiftloop.ScheduleResults_output; |
| 17 | import com.bsth.service.schedule.rules.shiftloop.ScheduleRule_input; | 18 | import com.bsth.service.schedule.rules.shiftloop.ScheduleRule_input; |
| @@ -101,7 +102,7 @@ public class SchedulePlanServiceImpl extends BServiceImpl<SchedulePlan, Long> im | @@ -101,7 +102,7 @@ public class SchedulePlanServiceImpl extends BServiceImpl<SchedulePlan, Long> im | ||
| 101 | // 执行完毕销毁,有日志的也要关闭 | 102 | // 执行完毕销毁,有日志的也要关闭 |
| 102 | session.dispose(); | 103 | session.dispose(); |
| 103 | 104 | ||
| 104 | - logger.info("循环规则输出={}", scheduleResults_output.showGuideboardDesc1()); | 105 | +// logger.info("循环规则输出={}", scheduleResults_output.showGuideboardDesc1()); |
| 105 | 106 | ||
| 106 | return scheduleResults_output; | 107 | return scheduleResults_output; |
| 107 | } | 108 | } |
| @@ -258,6 +259,8 @@ public class SchedulePlanServiceImpl extends BServiceImpl<SchedulePlan, Long> im | @@ -258,6 +259,8 @@ public class SchedulePlanServiceImpl extends BServiceImpl<SchedulePlan, Long> im | ||
| 258 | PlanResult planResult = SchedulePlanWithOutRerun(schedulePlan); | 259 | PlanResult planResult = SchedulePlanWithOutRerun(schedulePlan); |
| 259 | 260 | ||
| 260 | // TODO 3、确定套跑规则 | 261 | // TODO 3、确定套跑规则 |
| 262 | + List<RerunRule_input> rerunRule_inputs = scheduleRuleService.findRerunrule(schedulePlan.getXl().getId()); | ||
| 263 | + logger.info("套跑数量 {} 组", rerunRule_inputs.size()); | ||
| 261 | 264 | ||
| 262 | // 4、保存数据(jdbcTemplate 批量插入) | 265 | // 4、保存数据(jdbcTemplate 批量插入) |
| 263 | Date start4 = new Date(); | 266 | Date start4 = new Date(); |
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
| @@ -98,10 +98,10 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | @@ -98,10 +98,10 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | ||
| 98 | public List<Map<String, Object>> findZdAndTcc(int lineid, int xldir) { | 98 | public List<Map<String, Object>> findZdAndTcc(int lineid, int xldir) { |
| 99 | String sql = "select * from " + | 99 | String sql = "select * from " + |
| 100 | "(" + | 100 | "(" + |
| 101 | - "select station_code as zcode, station_name as zname from bsth_c_stationroute " + | 101 | + "select station_code as zcode, station_name as zname, concat(station_name, '(站点)') as aname from bsth_c_stationroute " + |
| 102 | "where destroy = 0 and line = ? and directions = ? " + | 102 | "where destroy = 0 and line = ? and directions = ? " + |
| 103 | "union all " + | 103 | "union all " + |
| 104 | - "select park_code as zcode, park_name as zname from bsth_c_car_park " + | 104 | + "select park_code as zcode, park_name as zname, concat(park_name, '(停车场)') as aname from bsth_c_car_park " + |
| 105 | "where destroy = 0 " + | 105 | "where destroy = 0 " + |
| 106 | ") a "; | 106 | ") a "; |
| 107 | 107 |
src/main/java/com/bsth/service/schedule/rules/ScheduleRuleService.java
| @@ -3,6 +3,7 @@ package com.bsth.service.schedule.rules; | @@ -3,6 +3,7 @@ package com.bsth.service.schedule.rules; | ||
| 3 | import com.bsth.entity.schedule.SchedulePlan; | 3 | import com.bsth.entity.schedule.SchedulePlan; |
| 4 | import com.bsth.entity.schedule.SchedulePlanInfo; | 4 | import com.bsth.entity.schedule.SchedulePlanInfo; |
| 5 | import com.bsth.entity.schedule.temp.SchedulePlanRuleResult; | 5 | import com.bsth.entity.schedule.temp.SchedulePlanRuleResult; |
| 6 | +import com.bsth.service.schedule.rules.rerun.RerunRule_input; | ||
| 6 | 7 | ||
| 7 | import java.util.Date; | 8 | import java.util.Date; |
| 8 | import java.util.List; | 9 | import java.util.List; |
| @@ -42,5 +43,13 @@ public interface ScheduleRuleService { | @@ -42,5 +43,13 @@ public interface ScheduleRuleService { | ||
| 42 | * @param dateto 结束日期 | 43 | * @param dateto 结束日期 |
| 43 | */ | 44 | */ |
| 44 | void deelteSchedulePlanInfo(Integer xlid, Date datefrom, Date dateto); | 45 | void deelteSchedulePlanInfo(Integer xlid, Date datefrom, Date dateto); |
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * 查找线路的套跑规则,并封装成规则输入对象。 | ||
| 49 | + * @param xlid | ||
| 50 | + * @return | ||
| 51 | + */ | ||
| 52 | + List<RerunRule_input> findRerunrule(Integer xlid); | ||
| 53 | + | ||
| 45 | } | 54 | } |
| 46 | 55 |
src/main/java/com/bsth/service/schedule/rules/ScheduleRuleServiceImpl.java
| @@ -3,13 +3,11 @@ package com.bsth.service.schedule.rules; | @@ -3,13 +3,11 @@ package com.bsth.service.schedule.rules; | ||
| 3 | import com.bsth.entity.schedule.SchedulePlan; | 3 | import com.bsth.entity.schedule.SchedulePlan; |
| 4 | import com.bsth.entity.schedule.SchedulePlanInfo; | 4 | import com.bsth.entity.schedule.SchedulePlanInfo; |
| 5 | import com.bsth.entity.schedule.temp.SchedulePlanRuleResult; | 5 | import com.bsth.entity.schedule.temp.SchedulePlanRuleResult; |
| 6 | +import com.bsth.service.schedule.rules.rerun.RerunRule_input; | ||
| 6 | import org.slf4j.Logger; | 7 | import org.slf4j.Logger; |
| 7 | import org.slf4j.LoggerFactory; | 8 | import org.slf4j.LoggerFactory; |
| 8 | import org.springframework.beans.factory.annotation.Autowired; | 9 | import org.springframework.beans.factory.annotation.Autowired; |
| 9 | -import org.springframework.jdbc.core.BatchPreparedStatementSetter; | ||
| 10 | -import org.springframework.jdbc.core.JdbcTemplate; | ||
| 11 | -import org.springframework.jdbc.core.PreparedStatementCreator; | ||
| 12 | -import org.springframework.jdbc.core.RowMapper; | 10 | +import org.springframework.jdbc.core.*; |
| 13 | import org.springframework.jdbc.support.GeneratedKeyHolder; | 11 | import org.springframework.jdbc.support.GeneratedKeyHolder; |
| 14 | import org.springframework.jdbc.support.KeyHolder; | 12 | import org.springframework.jdbc.support.KeyHolder; |
| 15 | import org.springframework.stereotype.Service; | 13 | import org.springframework.stereotype.Service; |
| @@ -37,6 +35,75 @@ public class ScheduleRuleServiceImpl implements ScheduleRuleService { | @@ -37,6 +35,75 @@ public class ScheduleRuleServiceImpl implements ScheduleRuleService { | ||
| 37 | private JdbcTemplate jdbcTemplate; | 35 | private JdbcTemplate jdbcTemplate; |
| 38 | 36 | ||
| 39 | @Override | 37 | @Override |
| 38 | + public List<RerunRule_input> findRerunrule(Integer xlid) { | ||
| 39 | + String sql = "select " + | ||
| 40 | + "rerun_type as type " + | ||
| 41 | + ", rerun_xl as m_xl " + | ||
| 42 | + ", rerun_ttinfo as m_ttinfo " + | ||
| 43 | + ", rerun_lp as m_lp " + | ||
| 44 | + ", rerun_ttinfodetail_fcsjs as m_fcsjs " + | ||
| 45 | + ", use_xl as s_dylp_xl " + | ||
| 46 | + ", use_lp as s_dylp_lp " + | ||
| 47 | + ", cl as s_dybc_cl " + | ||
| 48 | + ", cl_zbh as s_dybc_clzbh " + | ||
| 49 | + ", j as s_dybc_j " + | ||
| 50 | + ", j_gh as s_dybc_jgh " + | ||
| 51 | + ", j_name as s_dybc_jname " + | ||
| 52 | + ", s as s_dybc_s " + | ||
| 53 | + ", s_gh as s_dybc_sgh " + | ||
| 54 | + ", s_name as s_dybc_sname " + | ||
| 55 | + "from bsth_c_s_rerun_rule " + | ||
| 56 | + "where rerun_xl = ? "; | ||
| 57 | + | ||
| 58 | + final List<RerunRule_input> rerunRule_inputs = new ArrayList<>(); | ||
| 59 | + | ||
| 60 | + jdbcTemplate.query(sql, new Object[]{xlid}, new RowCallbackHandler() { | ||
| 61 | + @Override | ||
| 62 | + public void processRow(ResultSet resultSet) throws SQLException { | ||
| 63 | + // 发车时间 | ||
| 64 | + String[] fcsjs = resultSet.getString("m_fcsjs").split(","); | ||
| 65 | + for (String fcsj: fcsjs) { | ||
| 66 | + RerunRule_input rerunRule_input = new RerunRule_input(); | ||
| 67 | + rerunRule_input.setXl(String.valueOf(resultSet.getInt("m_xl"))); | ||
| 68 | + rerunRule_input.setTtinfo(String.valueOf(resultSet.getLong("m_ttinfo"))); | ||
| 69 | + rerunRule_input.setLp(String.valueOf(resultSet.getLong("m_lp"))); | ||
| 70 | + rerunRule_input.setFcsj(fcsj); | ||
| 71 | + | ||
| 72 | + rerunRule_input.setType(resultSet.getString("type")); | ||
| 73 | + // 对应班次类型 | ||
| 74 | + if ("dybc".equals(resultSet.getString("type"))) { | ||
| 75 | + rerunRule_input.setS_xl(String.valueOf(resultSet.getInt("s_dylp_xl"))); | ||
| 76 | + rerunRule_input.setS_lp(String.valueOf(resultSet.getLong("s_dylp_lp"))); | ||
| 77 | + } else if ("dylp".equals(resultSet.getString("type"))) { | ||
| 78 | + rerunRule_input.setCl(resultSet.getInt("s_dybc_cl")); | ||
| 79 | + rerunRule_input.setZbh(resultSet.getString("s_dybc_clzbh")); | ||
| 80 | + rerunRule_input.setJ(resultSet.getInt("s_dybc_j")); | ||
| 81 | + rerunRule_input.setJgh(resultSet.getString("s_dybc_jgh")); | ||
| 82 | + rerunRule_input.setJname(resultSet.getString("s_dybc_jname")); | ||
| 83 | + rerunRule_input.setS(resultSet.getInt("s_dybc_s")); | ||
| 84 | + rerunRule_input.setSgh(resultSet.getString("s_dybc_sgh")); | ||
| 85 | + rerunRule_input.setSname(resultSet.getString("s_dybc_sname")); | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + rerunRule_inputs.add(rerunRule_input); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + } | ||
| 92 | + }); | ||
| 93 | + | ||
| 94 | + return rerunRule_inputs; | ||
| 95 | + } | ||
| 96 | + | ||
| 97 | + public void test() { | ||
| 98 | + jdbcTemplate.query("", new RowCallbackHandler() { | ||
| 99 | + @Override | ||
| 100 | + public void processRow(ResultSet resultSet) throws SQLException { | ||
| 101 | + | ||
| 102 | + } | ||
| 103 | + }); | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + @Override | ||
| 40 | public List<SchedulePlanRuleResult> findLastByXl(String xlid, Date from) { | 107 | public List<SchedulePlanRuleResult> findLastByXl(String xlid, Date from) { |
| 41 | String sql = "select * from bsth_c_s_sp_rule_rst a " + | 108 | String sql = "select * from bsth_c_s_sp_rule_rst a " + |
| 42 | "where exists (select 1 from " + | 109 | "where exists (select 1 from " + |
src/main/java/com/bsth/service/schedule/rules/rerun/RerunRule_input.java
0 → 100644
| 1 | +package com.bsth.service.schedule.rules.rerun; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * Created by xu on 17/4/26. | ||
| 5 | + */ | ||
| 6 | +public class RerunRule_input { | ||
| 7 | + private String xl; // 主线路Id | ||
| 8 | + private String ttinfo; // 时刻表Id | ||
| 9 | + private String lp; // 路牌 | ||
| 10 | + private String fcsj; // 发车时间 | ||
| 11 | + | ||
| 12 | + private String type; // 套跑类型(dylp-对应路牌, dybc-对应班车) | ||
| 13 | + private String s_xl; // 对应路牌,线路Id | ||
| 14 | + private String s_lp; // 对应路牌,路牌Id | ||
| 15 | + | ||
| 16 | + private Integer cl; // 对应班车,车辆Id | ||
| 17 | + private String zbh; // 对应班车,车辆自编号 | ||
| 18 | + private Integer j; // 对应班车,驾驶员Id | ||
| 19 | + private String jgh; // 对应班车,驾驶员工号 | ||
| 20 | + private String jname; // 对应班车,驾驶员姓名 | ||
| 21 | + private Integer s; // 对应班车,售票员Id | ||
| 22 | + private String sgh; // 对应班车,售票员工号 | ||
| 23 | + private String sname; // 对应班车,售票员姓名 | ||
| 24 | + | ||
| 25 | + public String getXl() { | ||
| 26 | + return xl; | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + public void setXl(String xl) { | ||
| 30 | + this.xl = xl; | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + public String getTtinfo() { | ||
| 34 | + return ttinfo; | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | + public void setTtinfo(String ttinfo) { | ||
| 38 | + this.ttinfo = ttinfo; | ||
| 39 | + } | ||
| 40 | + | ||
| 41 | + public String getLp() { | ||
| 42 | + return lp; | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + public void setLp(String lp) { | ||
| 46 | + this.lp = lp; | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + public String getFcsj() { | ||
| 50 | + return fcsj; | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + public void setFcsj(String fcsj) { | ||
| 54 | + this.fcsj = fcsj; | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + public String getType() { | ||
| 58 | + return type; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + public void setType(String type) { | ||
| 62 | + this.type = type; | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + public String getS_xl() { | ||
| 66 | + return s_xl; | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + public void setS_xl(String s_xl) { | ||
| 70 | + this.s_xl = s_xl; | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + public String getS_lp() { | ||
| 74 | + return s_lp; | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + public void setS_lp(String s_lp) { | ||
| 78 | + this.s_lp = s_lp; | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + public Integer getCl() { | ||
| 82 | + return cl; | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + public void setCl(Integer cl) { | ||
| 86 | + this.cl = cl; | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + public String getZbh() { | ||
| 90 | + return zbh; | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + public void setZbh(String zbh) { | ||
| 94 | + this.zbh = zbh; | ||
| 95 | + } | ||
| 96 | + | ||
| 97 | + public Integer getJ() { | ||
| 98 | + return j; | ||
| 99 | + } | ||
| 100 | + | ||
| 101 | + public void setJ(Integer j) { | ||
| 102 | + this.j = j; | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + public String getJgh() { | ||
| 106 | + return jgh; | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + public void setJgh(String jgh) { | ||
| 110 | + this.jgh = jgh; | ||
| 111 | + } | ||
| 112 | + | ||
| 113 | + public String getJname() { | ||
| 114 | + return jname; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + public void setJname(String jname) { | ||
| 118 | + this.jname = jname; | ||
| 119 | + } | ||
| 120 | + | ||
| 121 | + public Integer getS() { | ||
| 122 | + return s; | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + public void setS(Integer s) { | ||
| 126 | + this.s = s; | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + public String getSgh() { | ||
| 130 | + return sgh; | ||
| 131 | + } | ||
| 132 | + | ||
| 133 | + public void setSgh(String sgh) { | ||
| 134 | + this.sgh = sgh; | ||
| 135 | + } | ||
| 136 | + | ||
| 137 | + public String getSname() { | ||
| 138 | + return sname; | ||
| 139 | + } | ||
| 140 | + | ||
| 141 | + public void setSname(String sname) { | ||
| 142 | + this.sname = sname; | ||
| 143 | + } | ||
| 144 | +} |
src/main/resources/application-dev.properties
| @@ -6,7 +6,7 @@ spring.jpa.hibernate.ddl-auto= update | @@ -6,7 +6,7 @@ spring.jpa.hibernate.ddl-auto= update | ||
| 6 | spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy | 6 | spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy |
| 7 | #DATABASE | 7 | #DATABASE |
| 8 | spring.jpa.database= MYSQL | 8 | spring.jpa.database= MYSQL |
| 9 | -spring.jpa.show-sql= true | 9 | +spring.jpa.show-sql= false |
| 10 | spring.datasource.driver-class-name= com.mysql.jdbc.Driver | 10 | spring.datasource.driver-class-name= com.mysql.jdbc.Driver |
| 11 | spring.datasource.url= jdbc:mysql://127.0.0.1/control?useUnicode=true&characterEncoding=utf-8&useSSL=false | 11 | spring.datasource.url= jdbc:mysql://127.0.0.1/control?useUnicode=true&characterEncoding=utf-8&useSSL=false |
| 12 | spring.datasource.username= root | 12 | spring.datasource.username= root |
src/main/resources/rules/shiftloop_fb_2.drl
| @@ -76,7 +76,7 @@ rule "calcu_days_1_" | @@ -76,7 +76,7 @@ rule "calcu_days_1_" | ||
| 76 | 76 | ||
| 77 | insert(cdrp); | 77 | insert(cdrp); |
| 78 | 78 | ||
| 79 | - log.info("总共需要排班的天数 sdays={} ruleId={} from={} to={}", (p2.getDays() + 1), $ruleId, $fromDate, $toDate); | 79 | +// log.info("总共需要排班的天数 sdays={} ruleId={} from={} to={}", (p2.getDays() + 1), $ruleId, $fromDate, $toDate); |
| 80 | 80 | ||
| 81 | end | 81 | end |
| 82 | 82 | ||
| @@ -108,7 +108,7 @@ rule "calcu_days_2_" | @@ -108,7 +108,7 @@ rule "calcu_days_2_" | ||
| 108 | 108 | ||
| 109 | insert(cdrp); | 109 | insert(cdrp); |
| 110 | 110 | ||
| 111 | - log.info("总共需要排班的天数 sdays={} ruleId={} from={} to={}", (p2.getDays() + 1), $ruleId, $qyrq, $toDate); | 111 | +// log.info("总共需要排班的天数 sdays={} ruleId={} from={} to={}", (p2.getDays() + 1), $ruleId, $qyrq, $toDate); |
| 112 | 112 | ||
| 113 | end | 113 | end |
| 114 | 114 | ||
| @@ -169,7 +169,7 @@ rule "calcu_days_1_with_result" | @@ -169,7 +169,7 @@ rule "calcu_days_1_with_result" | ||
| 169 | ) | 169 | ) |
| 170 | then | 170 | then |
| 171 | // 修正排班数据 | 171 | // 修正排班数据 |
| 172 | - log.info("准备修正 ruleId={} historyDate={}", $ruleId, $scheduleDate); | 172 | +// log.info("准备修正 ruleId={} historyDate={}", $ruleId, $scheduleDate); |
| 173 | 173 | ||
| 174 | $cdrp.setCalcu_index_lp(Integer.valueOf($self.getGidindex())); | 174 | $cdrp.setCalcu_index_lp(Integer.valueOf($self.getGidindex())); |
| 175 | $cdrp.setCalcu_index_ry(Integer.valueOf($self.getEcindex())); | 175 | $cdrp.setCalcu_index_ry(Integer.valueOf($self.getEcindex())); |
| @@ -211,8 +211,8 @@ rule "Calcu_loop1_1_" // 路牌在时刻表中存在,就翻 | @@ -211,8 +211,8 @@ rule "Calcu_loop1_1_" // 路牌在时刻表中存在,就翻 | ||
| 211 | $cdrp.setCalcu_index_ry(($ryindex + 1) % $ryrangesize); | 211 | $cdrp.setCalcu_index_ry(($ryindex + 1) % $ryrangesize); |
| 212 | $cdrp.setCalcu_start_date_1($csd1.plusDays(1)); | 212 | $cdrp.setCalcu_start_date_1($csd1.plusDays(1)); |
| 213 | 213 | ||
| 214 | - log.info("Calcu_loop1_1_ ruleId={}, calcu_index_lp/ry={}/{}", | ||
| 215 | - $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry()); | 214 | +// log.info("Calcu_loop1_1_ ruleId={}, calcu_index_lp/ry={}/{}", |
| 215 | +// $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry()); | ||
| 216 | 216 | ||
| 217 | update($cdrp); | 217 | update($cdrp); |
| 218 | end | 218 | end |
| @@ -233,8 +233,8 @@ rule "Calcu_loop1_2_" // 路牌在时刻表中不存在,就不翻 | @@ -233,8 +233,8 @@ rule "Calcu_loop1_2_" // 路牌在时刻表中不存在,就不翻 | ||
| 233 | then | 233 | then |
| 234 | $cdrp.setCalcu_start_date_1($csd1.plusDays(1)); | 234 | $cdrp.setCalcu_start_date_1($csd1.plusDays(1)); |
| 235 | 235 | ||
| 236 | - log.info("Calcu_loop1_2_ ruleId={}, calcu_index_lp/ry={}/{}", | ||
| 237 | - $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry()); | 236 | +// log.info("Calcu_loop1_2_ ruleId={}, calcu_index_lp/ry={}/{}", |
| 237 | +// $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry()); | ||
| 238 | 238 | ||
| 239 | update($cdrp); | 239 | update($cdrp); |
| 240 | end | 240 | end |
| @@ -304,8 +304,8 @@ rule "Calcu_loop2_1_" // 路牌在时刻表中存在,就翻 | @@ -304,8 +304,8 @@ rule "Calcu_loop2_1_" // 路牌在时刻表中存在,就翻 | ||
| 304 | scheduleResult.getSchedulePlanRuleResults().add(schedulePlanRuleResult); | 304 | scheduleResult.getSchedulePlanRuleResults().add(schedulePlanRuleResult); |
| 305 | 305 | ||
| 306 | 306 | ||
| 307 | - log.info("Calcu_loop2_1_ ruleId={}, calcu_index_lp/ry={}/{}, from={}, to={}", | ||
| 308 | - $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry(), $csd2, $ced2); | 307 | +// log.info("Calcu_loop2_1_ ruleId={}, calcu_index_lp/ry={}/{}, from={}, to={}", |
| 308 | +// $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry(), $csd2, $ced2); | ||
| 309 | 309 | ||
| 310 | update($cdrp); | 310 | update($cdrp); |
| 311 | end | 311 | end |
| @@ -359,8 +359,8 @@ rule "Calcu_loop2_2_" // 路牌在时刻表中不存在,就不翻 | @@ -359,8 +359,8 @@ rule "Calcu_loop2_2_" // 路牌在时刻表中不存在,就不翻 | ||
| 359 | // | 359 | // |
| 360 | // scheduleResult.getSchedulePlanRuleResults().add(schedulePlanRuleResult); | 360 | // scheduleResult.getSchedulePlanRuleResults().add(schedulePlanRuleResult); |
| 361 | 361 | ||
| 362 | - log.info("Calcu_loop2_2_ ruleId={}, calcu_index_lp/ry={}/{}, from={}, to={}", | ||
| 363 | - $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry(), $csd2, $ced2); | 362 | +// log.info("Calcu_loop2_2_ ruleId={}, calcu_index_lp/ry={}/{}, from={}, to={}", |
| 363 | +// $ruleId, $cdrp.getCalcu_index_lp(), $cdrp.getCalcu_index_ry(), $csd2, $ced2); | ||
| 364 | 364 | ||
| 365 | update($cdrp); | 365 | update($cdrp); |
| 366 | end | 366 | end |
src/main/resources/rules/ttinfo.drl
| @@ -82,7 +82,7 @@ rule "calcu_days" | @@ -82,7 +82,7 @@ rule "calcu_days" | ||
| 82 | cdr.setCalcu_end_date(($toDate)); | 82 | cdr.setCalcu_end_date(($toDate)); |
| 83 | cdr.setXlId($xlId); | 83 | cdr.setXlId($xlId); |
| 84 | 84 | ||
| 85 | - log.info("总共需要计算的天数 calcu_days={} 之后的计算从第1天开始 ", p.getDays() + 1); | 85 | +// log.info("总共需要计算的天数 calcu_days={} 之后的计算从第1天开始 ", p.getDays() + 1); |
| 86 | 86 | ||
| 87 | insert(cdr); // 插入fact数据,进入下一个阶段 | 87 | insert(cdr); // 插入fact数据,进入下一个阶段 |
| 88 | end | 88 | end |
| @@ -107,7 +107,7 @@ rule "calcu_ttinfo_enable" | @@ -107,7 +107,7 @@ rule "calcu_ttinfo_enable" | ||
| 107 | cter.setTtInfo_input_list($ttInfo_input_list); | 107 | cter.setTtInfo_input_list($ttInfo_input_list); |
| 108 | cter.setCalcu_date($calcu_date); | 108 | cter.setCalcu_date($calcu_date); |
| 109 | 109 | ||
| 110 | - log.info("启用的时刻表:xlId={} 时刻表个数={}", $xlId, $ttInfo_input_list.size()); | 110 | +// log.info("启用的时刻表:xlId={} 时刻表个数={}", $xlId, $ttInfo_input_list.size()); |
| 111 | 111 | ||
| 112 | insert (cter); | 112 | insert (cter); |
| 113 | 113 | ||
| @@ -130,7 +130,7 @@ rule "calcu_ttinfo_special_day" // 特殊日期匹配 | @@ -130,7 +130,7 @@ rule "calcu_ttinfo_special_day" // 特殊日期匹配 | ||
| 130 | $calcu_days_result.setCalcu_date(new_calcu_date); | 130 | $calcu_days_result.setCalcu_date(new_calcu_date); |
| 131 | $calcu_days_result.setCalcu_weekday(new_calcu_date.getDayOfWeek()); | 131 | $calcu_days_result.setCalcu_weekday(new_calcu_date.getDayOfWeek()); |
| 132 | 132 | ||
| 133 | - log.info("启用特殊日期时刻表:xlId={} 时刻表个数={} 特殊日期={}", $xlId, $ttinfolist.size(), $calcu_date); | 133 | +// log.info("启用特殊日期时刻表:xlId={} 时刻表个数={} 特殊日期={}", $xlId, $ttinfolist.size(), $calcu_date); |
| 134 | 134 | ||
| 135 | // $ttinfolist按时间倒排序,result输出 | 135 | // $ttinfolist按时间倒排序,result输出 |
| 136 | Collections.sort($ttinfolist); | 136 | Collections.sort($ttinfolist); |
| @@ -161,7 +161,7 @@ rule "calcu_ttinfo_normal_day" // 平日匹配 | @@ -161,7 +161,7 @@ rule "calcu_ttinfo_normal_day" // 平日匹配 | ||
| 161 | $calcu_days_result.setCalcu_date(new_calcu_date); | 161 | $calcu_days_result.setCalcu_date(new_calcu_date); |
| 162 | $calcu_days_result.setCalcu_weekday(new_calcu_date.getDayOfWeek()); | 162 | $calcu_days_result.setCalcu_weekday(new_calcu_date.getDayOfWeek()); |
| 163 | 163 | ||
| 164 | - log.info("启用常规日期时刻表:xlId={} 时刻表个数={} 常规日期={} 星期几={} 路牌size={}", $xlId, $ttinfolist.size(), $calcu_date, $calcu_weekday, $lpInfoResults.size()); | 164 | +// log.info("启用常规日期时刻表:xlId={} 时刻表个数={} 常规日期={} 星期几={} 路牌size={}", $xlId, $ttinfolist.size(), $calcu_date, $calcu_weekday, $lpInfoResults.size()); |
| 165 | 165 | ||
| 166 | // $ttinfolist按时间倒排序,result输出 | 166 | // $ttinfolist按时间倒排序,result输出 |
| 167 | Collections.sort($ttinfolist); | 167 | Collections.sort($ttinfolist); |
| @@ -192,7 +192,7 @@ rule "calcu_ttinfo_other_day" // 都没有的情况下,匹配 | @@ -192,7 +192,7 @@ rule "calcu_ttinfo_other_day" // 都没有的情况下,匹配 | ||
| 192 | $calcu_days_result.setCalcu_date(new_calcu_date); | 192 | $calcu_days_result.setCalcu_date(new_calcu_date); |
| 193 | $calcu_days_result.setCalcu_weekday(new_calcu_date.getDayOfWeek()); | 193 | $calcu_days_result.setCalcu_weekday(new_calcu_date.getDayOfWeek()); |
| 194 | 194 | ||
| 195 | - log.info("启用默认日期时刻表:xlId={} 时刻表个数={} 常规日期={} 星期几={}", $xlId, $ttinfolist.size(), $calcu_date, $calcu_weekday); | 195 | +// log.info("启用默认日期时刻表:xlId={} 时刻表个数={} 常规日期={} 星期几={}", $xlId, $ttinfolist.size(), $calcu_date, $calcu_weekday); |
| 196 | 196 | ||
| 197 | // $ttinfolist按时间倒排序,result输出 | 197 | // $ttinfolist按时间倒排序,result输出 |
| 198 | Collections.sort($ttinfolist); | 198 | Collections.sort($ttinfolist); |
src/main/resources/static/pages/scheduleApp/module/core/rerunManage/edit.html
| @@ -181,7 +181,7 @@ | @@ -181,7 +181,7 @@ | ||
| 181 | <div class="col-md-3"> | 181 | <div class="col-md-3"> |
| 182 | <sa-Select5 name="useCarConfig" | 182 | <sa-Select5 name="useCarConfig" |
| 183 | model="ctrl.rerunManageForSave" | 183 | model="ctrl.rerunManageForSave" |
| 184 | - cmaps="{'useCarConfig.id' : 'id'}" | 184 | + cmaps="{'useCarConfig.id' : 'id', 'cl': 'cl.id', 'clZbh': 'cl.insideCode'}" |
| 185 | dcname="useCarConfig.id" | 185 | dcname="useCarConfig.id" |
| 186 | icname="id" | 186 | icname="id" |
| 187 | dsparams="{{ {type: 'ajax', param:{'type': 'all', 'isCancel_eq': false}, atype:'cci2' } | json }}" | 187 | dsparams="{{ {type: 'ajax', param:{'type': 'all', 'isCancel_eq': false}, atype:'cci2' } | json }}" |
| @@ -203,7 +203,7 @@ | @@ -203,7 +203,7 @@ | ||
| 203 | <div class="col-md-5"> | 203 | <div class="col-md-5"> |
| 204 | <sa-Select5 name="useEmployeeConfig" | 204 | <sa-Select5 name="useEmployeeConfig" |
| 205 | model="ctrl.rerunManageForSave" | 205 | model="ctrl.rerunManageForSave" |
| 206 | - cmaps="{'useEmployeeConfig.id' : 'id'}" | 206 | + cmaps="{'useEmployeeConfig.id' : 'id', 'j': 'jsy.id', 'jGh': 'jsy.jobCode', 'jName': 'jsy.personnelName', 's': 'spy.id', 'sGh': 'spy.jobCode', 'sName': 'spy.personnelName'}" |
| 207 | dcname="useEmployeeConfig.id" | 207 | dcname="useEmployeeConfig.id" |
| 208 | icname="id" | 208 | icname="id" |
| 209 | dsparams="{{ {type: 'ajax', param:{'type': 'all', 'isCancel_eq': false}, atype:'eci3' } | json }}" | 209 | dsparams="{{ {type: 'ajax', param:{'type': 'all', 'isCancel_eq': false}, atype:'eci3' } | json }}" |
src/main/resources/static/pages/scheduleApp/module/core/rerunManage/form.html
| @@ -181,7 +181,7 @@ | @@ -181,7 +181,7 @@ | ||
| 181 | <div class="col-md-3"> | 181 | <div class="col-md-3"> |
| 182 | <sa-Select5 name="useCarConfig" | 182 | <sa-Select5 name="useCarConfig" |
| 183 | model="ctrl.rerunManageForSave" | 183 | model="ctrl.rerunManageForSave" |
| 184 | - cmaps="{'useCarConfig.id' : 'id'}" | 184 | + cmaps="{'useCarConfig.id' : 'id', 'cl': 'cl.id', 'clZbh': 'cl.insideCode'}" |
| 185 | dcname="useCarConfig.id" | 185 | dcname="useCarConfig.id" |
| 186 | icname="id" | 186 | icname="id" |
| 187 | dsparams="{{ {type: 'ajax', param:{'type': 'all', 'isCancel_eq': false}, atype:'cci2' } | json }}" | 187 | dsparams="{{ {type: 'ajax', param:{'type': 'all', 'isCancel_eq': false}, atype:'cci2' } | json }}" |
| @@ -203,7 +203,7 @@ | @@ -203,7 +203,7 @@ | ||
| 203 | <div class="col-md-5"> | 203 | <div class="col-md-5"> |
| 204 | <sa-Select5 name="useEmployeeConfig" | 204 | <sa-Select5 name="useEmployeeConfig" |
| 205 | model="ctrl.rerunManageForSave" | 205 | model="ctrl.rerunManageForSave" |
| 206 | - cmaps="{'useEmployeeConfig.id' : 'id'}" | 206 | + cmaps="{'useEmployeeConfig.id' : 'id', 'j': 'jsy.id', 'jGh': 'jsy.jobCode', 'jName': 'jsy.personnelName', 's': 'spy.id', 'sGh': 'spy.jobCode', 'sName': 'spy.personnelName'}" |
| 207 | dcname="useEmployeeConfig.id" | 207 | dcname="useEmployeeConfig.id" |
| 208 | icname="id" | 208 | icname="id" |
| 209 | dsparams="{{ {type: 'ajax', param:{'type': 'all', 'isCancel_eq': false}, atype:'eci3' } | json }}" | 209 | dsparams="{{ {type: 'ajax', param:{'type': 'all', 'isCancel_eq': false}, atype:'eci3' } | json }}" |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html
| @@ -95,9 +95,9 @@ | @@ -95,9 +95,9 @@ | ||
| 95 | icname="zcode" | 95 | icname="zcode" |
| 96 | dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir}, atype:'zd_tcc' } | json }}" | 96 | dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir}, atype:'zd_tcc' } | json }}" |
| 97 | iterobjname="item" | 97 | iterobjname="item" |
| 98 | - iterobjexp="item.zname" | 98 | + iterobjexp="item.aname" |
| 99 | searchph="请输拼音..." | 99 | searchph="请输拼音..." |
| 100 | - searchexp="this.zname" | 100 | + searchexp="this.aname" |
| 101 | required > | 101 | required > |
| 102 | </sa-Select5> | 102 | </sa-Select5> |
| 103 | </div> | 103 | </div> |
| @@ -116,9 +116,9 @@ | @@ -116,9 +116,9 @@ | ||
| 116 | icname="zcode" | 116 | icname="zcode" |
| 117 | dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir}, atype:'zd_tcc' } | json }}" | 117 | dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.TimeTableDetailForSave.xl.id, 'xldir': ctrl.TimeTableDetailForSave.xlDir}, atype:'zd_tcc' } | json }}" |
| 118 | iterobjname="item" | 118 | iterobjname="item" |
| 119 | - iterobjexp="item.zname" | 119 | + iterobjexp="item.aname" |
| 120 | searchph="请输拼音..." | 120 | searchph="请输拼音..." |
| 121 | - searchexp="this.zname" | 121 | + searchexp="this.aname" |
| 122 | required > | 122 | required > |
| 123 | </sa-Select5> | 123 | </sa-Select5> |
| 124 | </div> | 124 | </div> |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail2.html
| @@ -76,9 +76,9 @@ | @@ -76,9 +76,9 @@ | ||
| 76 | icname="zcode" | 76 | icname="zcode" |
| 77 | dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.xlid, 'xldir': ctrl.tt.xlDir}, atype:'zd_tcc' } | json }}" | 77 | dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.xlid, 'xldir': ctrl.tt.xlDir}, atype:'zd_tcc' } | json }}" |
| 78 | iterobjname="item" | 78 | iterobjname="item" |
| 79 | - iterobjexp="item.zname" | 79 | + iterobjexp="item.aname" |
| 80 | searchph="请输拼音..." | 80 | searchph="请输拼音..." |
| 81 | - searchexp="this.zname" | 81 | + searchexp="this.aname" |
| 82 | required > | 82 | required > |
| 83 | </sa-Select5> | 83 | </sa-Select5> |
| 84 | </div> | 84 | </div> |
| @@ -93,9 +93,9 @@ | @@ -93,9 +93,9 @@ | ||
| 93 | icname="zcode" | 93 | icname="zcode" |
| 94 | dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.xlid, 'xldir': ctrl.tt.xlDir}, atype:'zd_tcc' } | json }}" | 94 | dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.xlid, 'xldir': ctrl.tt.xlDir}, atype:'zd_tcc' } | json }}" |
| 95 | iterobjname="item" | 95 | iterobjname="item" |
| 96 | - iterobjexp="item.zname" | 96 | + iterobjexp="item.aname" |
| 97 | searchph="请输拼音..." | 97 | searchph="请输拼音..." |
| 98 | - searchexp="this.zname" | 98 | + searchexp="this.aname" |
| 99 | required > | 99 | required > |
| 100 | </sa-Select5> | 100 | </sa-Select5> |
| 101 | </div> | 101 | </div> |
src/test/resources/testdata/problem.properties
| @@ -11,4 +11,6 @@ | @@ -11,4 +11,6 @@ | ||
| 11 | ##11=人员基础信息导入问题,工号前要加公司代码 | 11 | ##11=人员基础信息导入问题,工号前要加公司代码 |
| 12 | 12=套跑规则嵌入到主排班规则中 | 12 | 12=套跑规则嵌入到主排班规则中 |
| 13 | 13=导入数据功能,需要加用户名 | 13 | 13=导入数据功能,需要加用户名 |
| 14 | -14=路牌编号自动生成 | ||
| 15 | \ No newline at end of file | 14 | \ No newline at end of file |
| 15 | +14=路牌编号自动生成 | ||
| 16 | +15=时刻表导入的时候表头后面不需要加数字 | ||
| 17 | +16=时间框中文 | ||
| 16 | \ No newline at end of file | 18 | \ No newline at end of file |