Commit 7b9d46bfad17af186c1edd3445949cace8944d4d

Authored by 李强
1 parent 15fe5ca3

时刻表明细(图形版本)制作批量插入代码写入

src/main/java/com/bsth/controller/schedule/core/TTInfoDetailController.java
... ... @@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
8 8 import org.springframework.web.bind.annotation.PathVariable;
9 9 import org.springframework.web.bind.annotation.RequestMapping;
10 10 import org.springframework.web.bind.annotation.RequestMethod;
  11 +import org.springframework.web.bind.annotation.RequestParam;
11 12 import org.springframework.web.bind.annotation.RestController;
12 13  
13 14 import java.util.HashMap;
... ... @@ -87,5 +88,16 @@ public class TTInfoDetailController extends BController<TTInfoDetail, Long> {
87 88 }
88 89 return rtn;
89 90 }
90   -
  91 +
  92 + /**
  93 + * 时刻表明细批量插入
  94 + *
  95 + * @param entities
  96 + *
  97 + * @return
  98 + */
  99 + @RequestMapping(value = "/skbDetailMxSave" ,method = RequestMethod.POST)
  100 + public Map<String, Object> skbDetailMxSave(@RequestParam Map<String, Object> entities){
  101 + return ttInfoDetailService.skbDetailMxSave(entities);
  102 + }
91 103 }
... ...
src/main/java/com/bsth/repository/schedule/GuideboardInfoRepository.java
... ... @@ -3,6 +3,7 @@ package com.bsth.repository.schedule;
3 3 import java.util.List;
4 4 import java.util.Map;
5 5  
  6 +import com.bsth.entity.Line;
6 7 import com.bsth.entity.schedule.EmployeeConfigInfo;
7 8 import com.bsth.entity.schedule.GuideboardInfo;
8 9 import com.bsth.repository.BaseRepository;
... ... @@ -37,4 +38,8 @@ public interface GuideboardInfoRepository extends BaseRepository&lt;GuideboardInfo,
37 38 "where td.ttinfo.id=?1 " +
38 39 "group by td.ttinfo.id, td.lp.id, td.lp.lpName")
39 40 List<Map<String, Object>> findLpName(Long ttid);
  41 +
  42 + @Query(value = "SELECT g FROM GuideboardInfo g where g.xl =?1 and g.lpName = ?2 and g.lpNo = ?3 and lpType =?4 and isCancel = 0")
  43 + List<GuideboardInfo> validateLp(Line xl,String lpName , int lpNo,String lpType);
  44 +
40 45 }
... ...
src/main/java/com/bsth/service/schedule/TTInfoDetailService.java
... ... @@ -6,6 +6,7 @@ import org.apache.commons.lang3.StringUtils;
6 6  
7 7 import java.util.ArrayList;
8 8 import java.util.List;
  9 +import java.util.Map;
9 10  
10 11 /**
11 12 * Created by xu on 16/7/2.
... ... @@ -200,5 +201,5 @@ public interface TTInfoDetailService extends BService&lt;TTInfoDetail, Long&gt; {
200 201 // TODO:这个方法可以用通用方法解决,以后改
201 202 List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId);
202 203  
203   -
  204 + Map<String, Object> skbDetailMxSave(Map<String, Object> map);
204 205 }
... ...
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
1 1 package com.bsth.service.schedule.impl;
2 2  
  3 +import com.alibaba.fastjson.JSONArray;
  4 +import com.alibaba.fastjson.JSONObject;
  5 +import com.bsth.common.ResponseCode;
3 6 import com.bsth.entity.CarPark;
  7 +import com.bsth.entity.Line;
4 8 import com.bsth.entity.LineInformation;
5 9 import com.bsth.entity.StationRoute;
6 10 import com.bsth.entity.schedule.GuideboardInfo;
7 11 import com.bsth.entity.schedule.TTInfoDetail;
  12 +import com.bsth.repository.CarParkRepository;
  13 +import com.bsth.repository.LineRepository;
  14 +import com.bsth.repository.StationRepository;
  15 +import com.bsth.repository.schedule.GuideboardInfoRepository;
8 16 import com.bsth.repository.schedule.TTInfoDetailRepository;
  17 +import com.bsth.repository.schedule.TTInfoRepository;
9 18 import com.bsth.service.CarParkService;
10 19 import com.bsth.service.LineInformationService;
11 20 import com.bsth.service.StationRouteService;
... ... @@ -58,7 +67,16 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
58 67 private TTInfoDetailRepository ttInfoDetailRepository;
59 68 @Autowired
60 69 private DataToolsProperties dataToolsProperties;
61   -
  70 + @Autowired
  71 + private LineRepository lineRepository;
  72 + @Autowired
  73 + private TTInfoRepository infoRepository;
  74 + @Autowired
  75 + private StationRepository staRepository;
  76 + @Autowired
  77 + private CarParkRepository carParkRepository;
  78 + @Autowired
  79 + private GuideboardInfoRepository guideboardInfoRepository;
62 80 @Autowired
63 81 @Qualifier(value = "dataToolsServiceImpl")
64 82 private DataToolsService dataToolsService;
... ... @@ -512,5 +530,84 @@ public class TTInfoDetailServiceImpl extends BServiceImpl&lt;TTInfoDetail, Long&gt; im
512 530 public List<TTInfoDetail> findBcdetails(Integer xlId, Long ttinfoId, Long lpId) {
513 531 return ttInfoDetailRepository.findBcdetails(xlId, ttinfoId, lpId);
514 532 }
515   -
  533 +
  534 + @Override
  535 + public Map<String, Object> skbDetailMxSave(Map<String, Object> map) {
  536 + Map<String, Object> rs_m = new HashMap<String,Object>();
  537 + try {
  538 + String d = map.get("d") == null ? null : map.get("d").toString();
  539 + if(d!=null)
  540 + ttInfoDetailRepository.save(jsonArrayToListEntity(d));
  541 + } catch (Exception e) {
  542 + e.printStackTrace();
  543 + rs_m.put("status", ResponseCode.ERROR);
  544 + }
  545 + rs_m.put("status", ResponseCode.SUCCESS);
  546 + return rs_m;
  547 + }
  548 +
  549 + public List<TTInfoDetail> jsonArrayToListEntity(String jsonStr) throws Exception {
  550 + List<TTInfoDetail> listTd = new ArrayList<TTInfoDetail>();
  551 + JSONArray jsonArray = JSONArray.parseArray(jsonStr);
  552 + for(int i =0; i<jsonArray.size();i++) {
  553 + JSONObject jsonObj = jsonArray.getJSONObject(i);
  554 + if(jsonObj.getString("bcType").equals("bd") || jsonObj.getString("bcType").equals("lc") || jsonObj.getString("bcType").equals("cf"))
  555 + continue;
  556 + listTd.add(objToEntity(jsonObj));
  557 + }
  558 + return listTd;
  559 + }
  560 +
  561 + public TTInfoDetail objToEntity(JSONObject obj) throws Exception {
  562 + TTInfoDetail td = new TTInfoDetail();
  563 + Line xl = lineRepository.findOne(Integer.parseInt(obj.getString("xl")));
  564 + td.setXl(xl);
  565 + td.setTtinfo(obj.getString("ttinfo") == null ? null : infoRepository.findOne(Long.parseLong(obj.getString("ttinfo"))));
  566 + td.setLp(getLp(xl,obj.getString("lp"),Integer.parseInt(obj.getString("lp")),obj.getString("lpType")));
  567 + td.setFcno(Integer.parseInt(obj.getString("fcno")));
  568 + td.setXlDir(dirToCod(obj.get("xlDir").toString()));
  569 + td.setQdz( obj.getString("qdz") ==null? null : staRepository.findOne(Integer.parseInt(obj.getString("qdz"))));
  570 + td.setZdz(obj.getString("zdz") ==null ? null :staRepository.findOne(Integer.parseInt(obj.getString("zdz"))));
  571 + td.setTcc(carParkRepository.findOne(Integer.parseInt(obj.getString("tcc"))));
  572 + td.setFcsj(obj.getString("fcsj"));
  573 + td.setBcs(Integer.parseInt(obj.getString("bcs")));
  574 + td.setJhlc(Double.parseDouble(obj.getString("jhlc")));
  575 + td.setBcsj(Integer.parseInt(obj.getString("bcsj")));
  576 + td.setBcType(obj.getString("bcType"));
  577 + td.setIsFB(false);
  578 + td.setIsSwitchXl(false);
  579 + td.setSwitchXl(null);
  580 + td.setSwitchXlDesc(null);
  581 + td.setRemark(null);
  582 + td.setCreateBy(null);
  583 + td.setUpdateBy(null);
  584 + return td;
  585 + }
  586 +
  587 + public GuideboardInfo getLp(Line xl,String name, int code, String lpType) throws Exception {
  588 + GuideboardInfo entity = new GuideboardInfo();
  589 + List<GuideboardInfo> lgi = guideboardInfoRepository.validateLp(xl, name, code,lpType);
  590 + if(lgi.size()>0) {
  591 + entity = lgi.get(0);
  592 + }else{
  593 + entity.setXl(xl);
  594 + entity.setLpNo(code);
  595 + entity.setLpName(name);
  596 + entity.setLpType(lpType);
  597 + entity.setIsCancel(false);
  598 + entity.setCreateBy(null);
  599 + entity.setUpdateBy(null);
  600 + guideboardInfoRepository.save(entity);
  601 + }
  602 + return entity;
  603 + }
  604 +
  605 + public String dirToCod(String str) throws Exception {
  606 + String c = "";
  607 + if(str.equals("relationshipGraph-up"))
  608 + c = "0";
  609 + else if(str.equals("relationshipGraph-down"))
  610 + c = "1";
  611 + return c;
  612 + }
516 613 }
... ...