123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- package com.steerinfo.dil.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.steerinfo.dil.mapper.TmstruckQualityResultMapper;
- import com.steerinfo.dil.mapper.TmstruckWeightResultMapper;
- import com.steerinfo.dil.model.TmstruckQualityResult;
- import com.steerinfo.dil.service.ITmsTruckQualityResultService;
- import org.apache.http.HttpEntity;
- import org.apache.http.HttpResponse;
- import org.apache.http.HttpStatus;
- import org.apache.http.client.methods.HttpGet;
- import org.apache.http.impl.client.CloseableHttpClient;
- import org.apache.http.impl.client.HttpClientBuilder;
- import org.apache.http.util.EntityUtils;
- import org.dom4j.DocumentException;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Service;
- import com.steerinfo.dil.util.XmlToJsonUtil;
- import java.io.IOException;
- import java.math.BigDecimal;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- /**
- * @author luobang
- * @create 2021-10-27 14:28
- */
- @Service
- public class TmsTruckQualityService implements ITmsTruckQualityResultService {
- @Autowired
- TmstruckQualityResultMapper tmstruckQualityResultMapper;
- @Autowired
- TmstruckWeightResultMapper tmstruckWeightResultMapper;
- //定时访问质检系统,获取质检实绩
- @Scheduled(cron = "* 1 * * * ?")
- @Override
- public int insertQualityResult() throws IOException, DocumentException {
- //先查出所有没有质检实绩的磅单号
- List<Map<String,Object>>mapList=tmstruckWeightResultMapper.selectWzInputId();
- System.out.println(mapList);
- System.out.println(mapList);
- if (mapList.size() != 0){
- for (Map<String,Object> map:mapList
- ) {
- String WzInputId=(String) map.get("WzInputId");
- BigDecimal resultTotalId= (BigDecimal) map.get("resultTotalId");
- // 1. 创建 HttpClient 的实例
- CloseableHttpClient httpClient = HttpClientBuilder.create().build();
- // 2. 创建某种连接方法的实例
- HttpGet httpGet = new HttpGet("http://172.16.33.106:40003/DG_Interface.asmx/Get_Quality_Info?WzInputId="+WzInputId);
- // 3. 调用第一步中创建好的实例的execute方法来执行第二步中创建好的链接类实例
- HttpResponse httpResponse = httpClient.execute(httpGet);
- // 4. 读response获取HttpEntity
- if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
- HttpEntity entity = httpResponse.getEntity();
- System.out.println(entity);
- // 5. 对得到后的内容进行处理
- String result = EntityUtils.toString(entity, "utf-8");
- System.out.println(result);
- try {
- JSONObject object = XmlToJsonUtil.xmlToJson(result);
- System.out.println("-----object------");
- System.out.println(object);
- Map<String, Object>map1 = (Map<String, Object>) object.get("JsonResult");
- System.out.println(map1);
- List mapList2= JSON.parseArray((String) map1.get("jsonResult"));
- if(mapList2.size() == 0){
- return 0;
- }
- List<Map<String,Object>>mapList9=mapList2;
- for (Map<String,Object> map3:mapList9
- ) {
- //质检说明
- String DeductionDescription=(String)map3.get("DEDUCT_SEASON");
- //铁路专用线
- String samplePlaceName=(String) map3.get("SAMPLE_PLACE_NAME");
- //查询卸货点ID
- BigDecimal SamplePlaceId=tmstruckQualityResultMapper.selectSamplePlaceId(samplePlaceName);
- //扣水扣杂量
- BigDecimal Deduction= new BigDecimal(Integer.parseInt(String.valueOf(map3.get("DEDUCT_NUMBER"))));
- //抽样时间
- Date sampleDate= new Date((String)(map3.get("SAMPLE_DATE")));
- //根据磅单号修改相应的质检实绩
- TmstruckQualityResult tmstruckQualityResult = new TmstruckQualityResult();
- //主键ID
- tmstruckQualityResult.setId(tmstruckQualityResultMapper.Count());
- tmstruckQualityResult.setInsertTime(new Date());
- tmstruckQualityResult.setInsertUsername("质检系统-物流系统");
- tmstruckQualityResult.setInsertUpdateRemark("原料质检实绩");
- //总实绩ID
- tmstruckQualityResult.setTotalResultId(resultTotalId);
- //卸货点
- tmstruckQualityResult.setResultSamplingPointId(SamplePlaceId);
- //输入抽样时间
- tmstruckQualityResult.setResultSamplingTime(sampleDate);
- //输入扣水扣杂量
- tmstruckQualityResult.setResultDeduction(Deduction);
- tmstruckQualityResult.setResultDeductionDescription(DeductionDescription);
- tmstruckQualityResultMapper.insertSelective(tmstruckQualityResult);
- //更新计重实绩表中的是否质检完成字段
- tmstruckWeightResultMapper.updateWzInputId(WzInputId);
- }
- } catch (DocumentException e) {
- e.printStackTrace();
- }
- EntityUtils.consume(entity);
- } else {
- System.err.println(httpResponse.getStatusLine());
- }
- // 6. 释放连接。无论执行方法是否成功,都必须释放连接
- httpClient.close();
- }
- }
- return 1;
- }
- }
|