123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291 |
- package com.steerinfo.dil.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.steerinfo.dil.feign.JoinFeign;
- import com.steerinfo.dil.mapper.UniversalMapper;
- import com.steerinfo.dil.service.UniversalService;
- import com.steerinfo.dil.util.ESUtil;
- import com.steerinfo.dil.util.HTTPRequestUtils;
- import com.steerinfo.framework.controller.RESTfulResult;
- import io.swagger.annotations.ApiModelProperty;
- import org.apache.commons.codec.digest.DigestUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.Async;
- import org.springframework.scheduling.annotation.EnableAsync;
- import org.springframework.scheduling.annotation.EnableScheduling;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.io.IOException;
- import java.io.InputStream;
- import java.math.BigDecimal;
- import java.sql.Blob;
- import java.sql.SQLException;
- import java.util.*;
- /**
- * @ author :TXF
- * @ time :2021/10/19 18:05
- */
- @Service
- @EnableScheduling
- @EnableAsync
- public class UniversalServiceImpl implements UniversalService {
- @Resource
- private UniversalMapper universalMapper;
- @Autowired
- private JoinFeign joinFeign;
- @Autowired
- private ESUtil esUtil;
- /**
- * 打印提货单
- * @param orderNumber 运输订单号
- * @return
- */
- @Override
- public Map<String, Object> printTiHuoDan(String orderNumber) {
- //查询订单信息
- Map<String, Object> tiHuoDanMap = universalMapper.getTiHuoDan(orderNumber);
- //查询该订单下的所有装车信息
- List<Map<String, Object>> oomMes = universalMapper.getOOMMes(orderNumber);
- tiHuoDanMap.put("loadMes", oomMes);
- return tiHuoDanMap;
- }
- /**
- * 查询路段顺序及当前路段顺序号
- * @param map
- * @return
- */
- @Override
- public Map<String, Object> getNowLineMes(Map<String, Object> map) {
- return null;
- }
- // @Override
- // public List<String> getWarrantyAndPrint(String orderNumber) {
- // List<Map<String,Object>> warrantyCode = universalMapper.getWarranty(orderNumber);
- // List<String> list = new ArrayList<>();
- // String content = null;
- // for(Map<String,Object> code:warrantyCode){
- // Blob blob = (Blob) code.get("warrantyCode");
- // try {
- // content = new String(blob.getBytes((long)1, (int)blob.length()));
- // String string = content.substring(0,content.length()-2);
- // System.out.println(string);
- // list.add(string);
- // } catch (SQLException throwables) {
- // throwables.printStackTrace();
- // }
- // }
- //
- // return list;
- // }
- @Override
- public List<String> getWarranty(String orderNumber) {
- List<String> list = new ArrayList<>();
- //回传金蝶
- //根据orderNumber查询
- Map<String,Object> map = getWarrantyToES(orderNumber);
- String string = null;
- try{
- string = joinFeign.sendWarranty(map);
- Map<String,Object> waMap = JSON.parseObject(string);
- //成功
- if(waMap.get("kdStatus").equals("1")){
- List<Map<String,Object>> reportList = (List<Map<String,Object>>) waMap.get("qcReportList");
- Map<String,Object> map1 = reportList.get(0);
- Iterator<Map.Entry<String, Object>> it = map1.entrySet().iterator();
- Map.Entry<String,Object> entry;
- while(it.hasNext()){
- entry = it.next();
- String value = (String) entry.getValue();
- list.add(value);
- }
- } //失败
- else{
- list.add("-1");
- }
- }catch (NullPointerException e){
- e.printStackTrace();
- list.add("-2");
- }
- return list;
- }
- @Override
- public List<String> getTest(Map<String, Object> map) {
- List<String> list = new ArrayList<>();
- //成功
- if(map.get("kdStatus").equals("1")){
- List<Map<String,Object>> reportList = (List<Map<String,Object>>) map.get("qcReportList");
- Map<String,Object> map1 = reportList.get(0);
- Iterator<Map.Entry<String, Object>> it = map1.entrySet().iterator();
- Map.Entry<String,Object> entry;
- while(it.hasNext()){
- entry = it.next();
- String value = (String) entry.getValue();
- list.add(value);
- }
- }//失败
- else{
- list.add("0");
- }
- return list;
- }
- //出库与金蝶打通接口(获得质保书)
- public Map<String,Object> getWarrantyToES(String orderNumber) {
- Map<String, Object> input = new HashMap<>();
- Map<String, Object> head = universalMapper.selectNum(orderNumber);
- input.put("head", head);
- List<Map<String, Object>> mapList = universalMapper.selectOutbound(orderNumber);
- input.put("entries",mapList);
- Map<String,Object> totalMap = esUtil.getTotalMap();
- //组装报文
- totalMap.put("input",input);
- return totalMap;
- }
- /**
- * sha1加密字符串
- * @param text
- * @return
- */
- public String sha1DigestUtils(String text){
- return DigestUtils.sha1Hex(text);
- }
- /**
- * 根据收货客户查询承运商
- */
- public Map<String, Object> getCarrierByConsignee(Map<String, Object> mapValue){
- String isSelfMention = (String) mapValue.get("isSelfMention");
- String consigneeName = (String) mapValue.get("consigneeName");
- Map<String, Object> map = new HashMap<>();
- if (isSelfMention.equals("是")) {
- map = universalMapper.getCarrierByConsignee(consigneeName);
- }
- else {
- map.put("carrierId",null);
- map.put("carrierName",null);
- }
- return map;
- }
- /**
- *
- * @param mapValue
- * @return
- */
- public Map<String, Object> isInCapacityCarrier(Map<String, Object> mapValue) {
- BigDecimal capacityCarrierId = universalMapper.isInCapacityCarrier(mapValue);
- BigDecimal capacityId = universalMapper.isInCapacity(mapValue);
- Map<String,Object> map = new HashMap<>();
- map.put("capacityCarrierId",capacityCarrierId);
- map.put("capacityId",capacityId);
- return map;
- }
- public List<Map<String, Object>> getPortId() {
- return universalMapper.getPortId();
- }
- //获取订单号以及订单号下的物资
- public Map<String, Object> getOrderNumber(String num) {
- return universalMapper.getOrderNumber(num);
- }
- public List<Map<String, Object>> getCapacityNumber(String num) {
- return universalMapper.getCapacityNumber(num);
- }
- public List<Map<String, Object>> getMaterialIdByOrderId(Integer orderId) {
- return universalMapper.getMaterialIdByOrderId(orderId);
- }
- public int recordingWeightResult(List<Map<String, Object>> mapList) throws IOException {
- String URL = "http://172.16.33.166:8066/api/v1/join/tmstruckweightresult/receiveTmsTruckWeightResult";
- String jsonData = null;
- String jsonString= JSON.toJSONString(mapList);
- jsonData = HTTPRequestUtils.send(URL, jsonString,"utf-8");
- if(!"null".equals(jsonData)){
- System.out.println(jsonData);
- HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
- String code = (String) hashMap.get("code");
- System.out.println(hashMap.get("code"));
- if("SUCCESS".equals(code)){
- return 1;
- }else{
- return 0;
- }
- }else{
- System.out.println("补录委托失败:" + jsonData);
- return 0;
- }
- }
- /**
- * 关闭过期运输订单
- * @return
- */
- //@Scheduled(cron = "0 0,5 8 * * ?")
- public void closePassedOrder() {
- List<Map<String,Object>> passedOrderList = universalMapper.findPassedOrder();
- System.out.println("关闭的未出厂过期订单如下:<" + passedOrderList + ">");
- int result=0;
- //int result = universalMapper.closePassedOrder();
- try {
- if (passedOrderList.isEmpty()){
- }else {
- for (Map<String, Object> map : passedOrderList) {
- BigDecimal orderId = (BigDecimal) map.get("orderId");
- //分两种情况关单
- //净重为0状态设为2,不为零设为7
- BigDecimal bigDecimal = universalMapper.sumNetWeight(orderId);
- if (bigDecimal.compareTo(BigDecimal.ZERO)!=0){
- result+=universalMapper.updateStatusTwo(orderId);
- }else {
- result+=universalMapper.updateStatusSeven(orderId);
- }
- /* BigDecimal capacityIdS=universalMapper.queueSingle(orderId);*/
- /*if (capacityIdS !=null){
- //删除单拼
- universalMapper.delectQueueS(capacityIdS);
- }*/
- /*//查询多拼的数据
- BigDecimal capacityIdM =universalMapper.queueMore(orderId);
- if (capacityIdM !=null){
- //删除多拼
- universalMapper.delectQueueM(capacityIdM);
- }
- //查询单拼的数据
- BigDecimal capacityIdS=universalMapper.queueSingle(orderId);
- if (capacityIdS !=null){
- //删除单拼
- universalMapper.delectQueueS(capacityIdS);
- }*/
- }
- }
- }catch (Exception e){
- }
- System.out.println("订单关闭数为:" + result);
- //return 1;
- }
- }
|