123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518 |
- package com.steerinfo.dil.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.steerinfo.dil.feign.AmsFeign;
- import com.steerinfo.dil.feign.JoinFeign;
- import com.steerinfo.dil.mapper.DilRoleOrgcodeTableMapper;
- import com.steerinfo.dil.mapper.DilTableColumnRoleMapper;
- import com.steerinfo.dil.mapper.UniversalMapper;
- import com.steerinfo.dil.model.DilRoleOrgcodeTable;
- import com.steerinfo.dil.service.UniversalService;
- import com.steerinfo.dil.util.DataChange;
- import com.steerinfo.dil.util.ESUtil;
- import com.steerinfo.dil.util.HTTPRequestUtils;
- import com.steerinfo.framework.controller.RESTfulResult;
- import com.sun.org.apache.bcel.internal.generic.NEW;
- 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;
- @Resource
- private DilRoleOrgcodeTableMapper dilRoleOrgcodeTableMapper;
- @Resource
- private DilTableColumnRoleMapper dilTableColumnRoleMapper;
- @Autowired
- private JoinFeign joinFeign;
- @Autowired
- private ESUtil esUtil;
- @Autowired
- private AmsFeign amsFeign;
- /**
- * 打印提货单
- * @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;
- }
- public int linkageDeleteTransportOrder(List<Map<String, Object>> mapList) throws IOException{
- String URL = "http://localhost:8066/api/v1/join/tmstruckweightresult/linkageDeleteTransportOrder";
- 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("200".equals(code)){
- return 1;
- }else{
- return 0;
- }
- }else{
- System.out.println("补录委托失败:" + jsonData);
- return 0;
- }
- }
- @Override
- public Map<String, Object> submitSteel(Map<String, Object> map) {
- List<String> responseMapList = new ArrayList<>();
- List<String> responseMapFailedList = new ArrayList<>();
- BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
- //根据车序号ID获取内容
- Map<String,Object> oldMes = universalMapper.getSteelReportDetailsBySmId(saleOrderMaterialId);
- //修改车辆备注
- if(map.get("truckRemark") != null && !map.get("truckRemark").equals(oldMes.get("truckRemark"))) {
- universalMapper.updateTruckRemark(map);
- responseMapList.add("修改车辆备注成功");
- }
- //修改收货客户电话
- if(map.get("consigneeTel") != null && !map.get("consigneeTel").equals(oldMes.get("consigneeTel"))) {
- Map<String, Object> updateConsigneeTelMap = new HashMap<>();
- updateConsigneeTelMap.put("saleOrderNo",map.get("saleOrderNo"));
- updateConsigneeTelMap.put("saleOrderMaterialId",map.get("saleOrderMaterialId"));
- updateConsigneeTelMap.put("consigneeTel",map.get("consigneeTel"));
- Map<String,Object> updateConsigneeMap = amsFeign.updateConsigneeTel(updateConsigneeTelMap);
- if(updateConsigneeMap.get("code").toString().equals("200")) {
- responseMapList.add("修改收货客户电话号码成功");
- }else{
- responseMapFailedList.add("修改收货客户电话号码失败");
- }
- }
- //修改备注
- if(map.get("orderId") != null && map.get("remark") != null && !map.get("remark").equals(oldMes.get("remark"))) {
- universalMapper.updateRemark(map);
- responseMapList.add("修改备注成功");
- }
- if(map.get("orderId") != null && map.get("urls") != null && !map.get("urls").equals(oldMes.get("urls"))) {
- universalMapper.updateRemarkPic(map);
- responseMapList.add("修改备注图片成功");
- }
- //修改司机电话号码
- if(map.get("capacityTel") != null && !map.get("capacityTel").equals(oldMes.get("capacityTel"))) {
- Map<String, Object> updateDriverTelMap = new HashMap<>();
- updateDriverTelMap.put("orderId",map.get("orderId"));
- updateDriverTelMap.put("saleOrderMaterialId",map.get("saleOrderMaterialId"));
- updateDriverTelMap.put("driverTel",map.get("capacityTel"));
- universalMapper.updateCapacityDriverTel(DataChange.dataToBigDecimal(map.get("orderId")).intValue(),map.get("capacityTel").toString());
- universalMapper.updateDriverTel(updateDriverTelMap);
- responseMapList.add("修改司机电话号码成功");
- }
- //修改承运商授权
- if(map.get("carrierName") != null && !"".equals(map.get("carrierName")) && !map.get("carrierName").equals(oldMes.get("carrierName"))){
- if(oldMes.get("carrierName") == null) {
- List<Map<String,Object>> list = new ArrayList<>();
- list.add(map);
- Map<String,Object> updateCarrierMap = (Map<String, Object>) amsFeign.dispatchToCarrier(list);
- if (updateCarrierMap.get("code").toString().equals("0")) {
- responseMapList.add("授权承运商成功");
- }else {
- responseMapFailedList.add("授权承运商失败,请联系管理员");
- }
- }else{
- Map<String,Object> updateCarrierMap = amsFeign.updateTruckNoCarrier(map);
- if (updateCarrierMap.get("code").toString().equals("200")) {
- responseMapList.add("修改承运商授权成功");
- }else {
- responseMapFailedList.add("修改承运商授权失败,请联系管理员");
- }
- }
- }
- //修改收货地址
- if (map.get("place") != null && !"".equals(map.get("place")) && (!map.get("place").equals(oldMes.get("place"))) || DataChange.dataToBigDecimal(map.get("shipperAddressId")).compareTo(DataChange.dataToBigDecimal(oldMes.get("shipperAddressId"))) != 0){
- map.put("isCloseEas",1);
- map.put("isNewCar",1);
- Map<String,Object> updateCarAddress = amsFeign.updateCarAddress(map);
- if (updateCarAddress.get("code").toString().equals("200")) {
- responseMapList.add("修改收货地址成功");
- }else{
- responseMapFailedList.add("修改收货地址失败,请联系管理员");
- }
- }
- //修改运力
- if (map.get("capacityNo") != null && !"".equals(map.get("capacityNo")) && !map.get("capacityNo").equals(oldMes.get("capacityNo"))) {
- if(oldMes.get("capacityId") != null) {
- //修改运力
- Map<String,Object> updateCapacityMap = amsFeign.updateCapacityNumberInFactory(map);
- if (updateCapacityMap.get("code").toString().equals("200")) {
- responseMapList.add("修改车牌号成功");
- }else{
- responseMapFailedList.add("修改车牌号失败,失败理由:" + updateCapacityMap.get("data"));
- }
- System.out.println(updateCapacityMap);
- }else{
- List<Map<String,Object>> list = new ArrayList<>();
- list.add(map);
- Map<String,Object> updateCapacityMap = amsFeign.dispatchSteelOrder(list);
- if (updateCapacityMap.get("code").toString().equals("200")) {
- responseMapList.add("派发车牌号成功");
- }else{
- responseMapFailedList.add("派发车牌号失败,失败理由:" + updateCapacityMap.get("data"));
- }
- }
- }
- Map<String, Object> resMap = new HashMap<>();
- resMap.put("response",responseMapList);
- resMap.put("responseMapFailed",responseMapFailedList);
- return resMap;
- }
- @Override
- public Map<String, Object> getColumnShowHidden(Map<String, Object> map) {
- Map<String, Object> responseMap = new HashMap<>();
- List<Map<String,Object>> columnShowData = universalMapper.getColumnShowData(map);
- List<Map<String,Object>> columnAllData = universalMapper.getColumnAllData(map);
- List<String> columnHiddenData = universalMapper.getColumnHiddenData(map);
- responseMap.put("columnShowData",columnShowData);
- responseMap.put("columnAllData",columnAllData);
- responseMap.put("columnHiddenData",columnHiddenData);
- return responseMap;
- }
- @Override
- public synchronized int updateColumnShowHidden(Map<String, Object> map) {
- int i = 0 ;
- //首先删除原来的列
- if("默认方案".equals(map.get("schemeName"))) {
- dilRoleOrgcodeTableMapper.updateEnableStatus(map);
- return 0;
- }
- i += dilRoleOrgcodeTableMapper.deleteSchmenLColumnData(map);
- List<String> columnHiddenData = (List<String>) map.get("columnHiddenData");
- List<DilRoleOrgcodeTable> mapList = new ArrayList<>();
- for (String s : columnHiddenData) {
- DilRoleOrgcodeTable dilRoleOrgcodeTable = new DilRoleOrgcodeTable();
- BigDecimal columnId = dilTableColumnRoleMapper.selectColumnId(s,map.get("tableName").toString());
- dilRoleOrgcodeTable.setColumnId(columnId);
- dilRoleOrgcodeTable.setUserName(map.get("userName").toString());
- dilRoleOrgcodeTable.setOrgCode(map.get("orgCode").toString());
- dilRoleOrgcodeTable.setEnableStatus(new BigDecimal(1));
- dilRoleOrgcodeTable.setPrimaryName(map.get("schemeName").toString());
- dilRoleOrgcodeTable.setPrimaryId(dilRoleOrgcodeTableMapper.getPrimaryId());
- mapList.add(dilRoleOrgcodeTable);
- }
- //将该用户的所有方案都变成未启用状
- dilRoleOrgcodeTableMapper.updateEnableStatus(map);
- if(mapList.size() > 0) {
- //然后再批量新增进去
- i += dilRoleOrgcodeTableMapper.batchInsert(mapList);
- }
- return i;
- }
- @Override
- public Map<String,Object> getColumShowHideScheme(Map<String, Object> map) {
- Map<String, Object> responseMap = new HashMap<>();
- List<Map<String,Object>> schemeList = new ArrayList<>();
- //每一个map;
- Map<String,Object> schemeMap = new HashMap<>();
- //作为传值用的map
- Map<String,Object> attrMap = new HashMap<>();
- //当前启用状态的值
- String activeName = "默认方案";
- //以下是方案的标题和名字
- schemeMap.put("title","默认方案");
- schemeMap.put("name","默认方案");
- //以下是方案的显示数据和隐藏数据
- List<Map<String,Object>> columnAllData = universalMapper.getColumnAllData(map);
- schemeMap.put("columnAllData",columnAllData);
- responseMap.put("columnAllData",columnAllData);
- attrMap.put("tableName",map.get("tableName"));
- map.put("schemeName",activeName);
- List<String> columnHiddenData = universalMapper.getColumnHiddenData(map);
- schemeMap.put("columnHiddenData",columnHiddenData);
- schemeList.add(schemeMap);
- responseMap.put("activeName",activeName);
- responseMap.put("columnHiddenData",columnHiddenData);
- //然后根据用户名和报表名称,去查询方案名称和启用状态
- List<Map<String,Object>> schemeMapAnotherData = universalMapper.getColumnAllScheme(map);
- for(Map<String,Object> schemeMapAnotherDataMap : schemeMapAnotherData) {
- Map<String, Object> itemMap = new HashMap<>();
- itemMap.put("title",schemeMapAnotherDataMap.get("schemeName"));
- itemMap.put("name",schemeMapAnotherDataMap.get("schemeName"));
- itemMap.put("columnAllData",columnAllData);
- List<String> itemColumnHiddenData = universalMapper.getColumnHiddenData(schemeMapAnotherDataMap);
- itemMap.put("columnHiddenData",itemColumnHiddenData);
- schemeList.add(itemMap);
- if(DataChange.dataToBigDecimal(schemeMapAnotherDataMap.get("enableStatus")).compareTo(new BigDecimal(1)) == 0){
- responseMap.put("activeName",schemeMapAnotherDataMap.get("schemeName"));
- responseMap.put("columnHiddenData",itemColumnHiddenData);
- }
- }
- responseMap.put("schemeList",schemeList);
- return responseMap;
- }
- }
|