22 Commits ac89803581 ... 7ee590a96e

Autor SHA1 Mensaje Fecha
  zhouzh 7ee590a96e changwai hace 3 años
  zhouzh f2cd64b518 Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-API hace 3 años
  zhouzh 36abc74cd6 3.30 hace 3 años
  Tiroble 739130a16b Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-API hace 3 años
  Tiroble 12eb79710e 修改厂外 hace 3 años
  zhouzh 72410500ec Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-API hace 3 años
  zhouzh 92a12ff9b8 3.30 hace 3 años
  Tiroble 24391c7bb9 Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-API hace 3 años
  Tiroble 7fac08750a 修改 hace 3 años
  HUJIANGUO 27c5d4a291 '销售钢材' hace 3 años
  HUJIANGUO 28d6b409ba '销售钢材' hace 3 años
  胡杰焕 a3e3cfeed9 更新 'src/main/resources/bootstrap.yml' hace 3 años
  Tiroble fd28ea02c1 厂外库修改 hace 3 años
  Tiroble eb87a9a03c 厂外修改 hace 3 años
  zhouzh 1766473542 3.29 hace 3 años
  zhouzh 16884392df 3.29 hace 3 años
  txf 6ad0e16c2e 优化APP小红点 hace 3 años
  HUJIANGUO 0508629cec '销售钢材' hace 3 años
  HUJIANGUO 17ce3e52aa '销售钢材' hace 3 años
  Tiroble 1f7c096ae4 修改tms hace 3 años
  Tiroble fa59781253 Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-API hace 3 años
  Tiroble 8a00e2a3fa 修改 hace 3 años

+ 12 - 0
src/main/java/com/steerinfo/dil/config/FileUtils.java

@@ -0,0 +1,12 @@
+package com.steerinfo.dil.config;
+
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+public interface FileUtils {
+
+    public List<String> updateFiles(MultipartFile files[])throws Exception;
+
+     public Object downloadFile(String url) throws Exception;
+}

+ 234 - 0
src/main/java/com/steerinfo/dil/config/ImageFileUtils.java

@@ -0,0 +1,234 @@
+package com.steerinfo.dil.config;
+
+import com.steerinfo.framework.utils.misc.IdGenerator;
+import com.steerinfo.framework.utils.upload.UploadUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.*;
+
+@Component
+public class ImageFileUtils implements FileUtils {
+
+    @Value(value = "${piction.path:/shared}" )
+    private String path;
+
+    public static final HashMap fileTypes = new HashMap();
+
+    static {
+
+        // images
+
+        fileTypes.put("FFD8FF", "jpg");
+
+        fileTypes.put("89504E47", "png");
+
+        fileTypes.put("47494638", "gif");
+
+        fileTypes.put("49492A00", "tif");
+
+        fileTypes.put("424D", "bmp");
+
+        // CAD
+
+        fileTypes.put("41433130", "dwg");
+
+        fileTypes.put("38425053", "psd");
+
+        // 日记本
+
+        fileTypes.put("7B5C727466", "rtf");
+
+        fileTypes.put("3C3F786D6C", "xml");
+
+        fileTypes.put("68746D6C3E", "html");
+
+        // 邮件
+
+        fileTypes.put("44656C69766572792D646174653A", "eml");
+
+        fileTypes.put("D0CF11E0", "doc");
+
+        //excel2003版本文件
+
+        fileTypes.put("D0CF11E0", "xls");
+
+        fileTypes.put("5374616E64617264204A", "mdb");
+
+        fileTypes.put("252150532D41646F6265", "ps");
+
+        fileTypes.put("255044462D312E", "pdf");
+
+        fileTypes.put("504B0304", "docx");
+
+        //excel2007以上版本文件
+
+        fileTypes.put("504B0304", "xlsx");
+
+        fileTypes.put("52617221", "rar");
+
+        fileTypes.put("57415645", "wav");
+
+        fileTypes.put("41564920", "avi");
+
+        fileTypes.put("2E524D46", "rm");
+
+        fileTypes.put("000001BA", "mpg");
+
+        fileTypes.put("000001B3", "mpg");
+
+        fileTypes.put("6D6F6F76", "mov");
+
+        fileTypes.put("3026B2758E66CF11", "asf");
+
+        fileTypes.put("4D546864", "mid");
+
+        fileTypes.put("1F8B08", "gz");
+
+    }
+
+
+    /**
+     * 上传多张图片
+     * @param files
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public synchronized List<String> updateFiles(MultipartFile files[]) throws Exception {
+        //首先通过Calendard对象获得年月日
+        Calendar calendar= Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
+        int month = calendar.get(Calendar.MONTH);
+        int day= calendar.get(Calendar.DAY_OF_MONTH);
+        //上传文件夹路径
+        List<String> urls=new ArrayList<>();
+        for (int i=0;i<files.length;i++){
+            String url = UploadUtils.uploadFile(files[i], new IdGenerator(i, 10), path, File.separator+year+ File.separator+month+ File.separator+day+ File.separator);
+            urls.add(url);
+        }
+        return urls;
+    }
+
+
+    /**
+     * 上传单张图片
+     * @param file
+     * @return
+     * @throws Exception
+     */
+    public synchronized String updateFile(MultipartFile file) throws Exception {
+        //首先通过Calendard对象获得年月日
+        Calendar calendar= Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
+        int month = calendar.get(Calendar.MONTH);
+        int day= calendar.get(Calendar.DAY_OF_MONTH);
+        String url = UploadUtils.uploadFile(file, new IdGenerator(0, 10), path, File.separator+year+ File.separator+month+ File.separator+day+ File.separator);
+        return url;
+    }
+
+    /**
+     * 下载图片获得字节码
+     * @param filePath
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public Object downloadFile(String filePath) throws Exception {
+        File file = new File(filePath);
+        if(file.isDirectory()){
+
+            throw new RuntimeException("当前路径是目录");
+
+        }
+        byte[] b = bytes(file);
+        String type =getFileHeader(b);
+        String src="data:image/"+type+";base64,"+ Base64.getEncoder().encodeToString(b);
+        return src;
+    }
+
+
+
+
+    /**
+     * @return 文件头信息
+     * @author liang.pan
+     * <p>
+     * 方法描述:根据输入流获取文件头信息
+     */
+    public static String getFileHeader(byte[] b) {
+        String value = bytesToHexString(b);
+
+        if (StringUtils.startsWith(value, "FFD8FF")) {
+            value = value.substring(0, 6);
+        }
+
+        //判断什么类型的
+        Set set = fileTypes.keySet();
+        Iterator iterator = set.iterator();
+        while(iterator.hasNext()){
+            String key=iterator.next().toString();
+            if (value.contains(key)){
+                return fileTypes.get(key).toString();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * @param src 要读取文件头信息的文件的byte数组
+     * @return 文件头信息
+     * @author liang.pan
+     * <p>
+     * 方法描述:将要读取文件头信息的文件的byte数组转换成string类型表示
+     */
+    private static String bytesToHexString(byte[] src) {
+        StringBuilder builder = new StringBuilder();
+        if (src == null || src.length <= 0) {
+            return null;
+        }
+        String hv;
+        for (int i = 0; i < src.length; i++) {
+            // 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式,并转换为大写
+            hv = Integer.toHexString(src[i] & 0xFF).toUpperCase();
+            if (hv.length() < 2) {
+                builder.append(0);
+            }
+            builder.append(hv);
+        }
+        return builder.toString();
+    }
+
+
+    public byte[] bytes(File file) throws Exception {
+        FileInputStream fin = new FileInputStream(file);
+        try {
+            //可能溢出,简单起见就不考虑太多,如果太大就要另外想办法,比如一次传入固定长度byte[]
+            byte[] bytes  = new byte[fin.available()];
+            //将文件内容写入字节数组,提供测试的case
+            fin.read(bytes);
+            fin.close();
+            return bytes;
+        }catch (Exception ex){
+            throw ex;
+        }
+        finally {
+            if (null != fin) {
+
+                try {
+
+                    fin.close();
+
+                } catch (IOException e) {
+
+                }
+
+            }
+        }
+    }
+}

+ 95 - 2
src/main/java/com/steerinfo/dil/controller/AMScontroller.java

@@ -1447,8 +1447,12 @@ public class AMScontroller{
                                                               Integer pageNum,
                                                               Integer pageSize,
                                                               Integer apiId,
-                                                              String con){
-        return   amsFeign.getSaleOrderListBySaleCompanyes(mapValue==null?new HashMap<>():mapValue, pageNum, pageSize, apiId, con);
+                                                              String con,
+                                                              Integer shipperId
+//                                                              String startDate,
+//                                                              String endDate
+    ){
+        return   amsFeign.getSaleOrderListBySaleCompanyes(mapValue==null?new HashMap<>():mapValue, pageNum, pageSize, apiId, con, shipperId);
     }
 
     @PostMapping("getAmsSaleOrderApprovedes")
@@ -1720,6 +1724,95 @@ public class AMScontroller{
         return amsFeign.refuseDispatchSaleOrderList(mapList);
     }
 
+    @ApiModelProperty(value = "新增钢材销售订单")
+    @PostMapping("/addSteelSaleOrder")
+    public Map<String, Object> addSteelSaleOrder(@RequestBody Map<String,Object> mapValue) {
+        return amsFeign.addSteelSaleOrder(mapValue);
+    }
+
+    @ApiModelProperty(value = "查询销售订单下的物资")
+    @PostMapping("/getTruckNoAndMaterialList")
+    public RESTfulResult getTruckNoAndMaterialList(@RequestParam Integer saleOrderId) {
+        return amsFeign.getTruckNoAndMaterialList(saleOrderId);
+    }
+
+    @ApiModelProperty(value = "销售钢材派车")
+    @PostMapping("/dispatchSteelOrder")
+    public Map<String, Object> dispatchSteelOrder(@RequestBody List<Map<String,Object>> mapList) {
+        return amsFeign.dispatchSteelOrder(mapList);
+    }
+
+    @ApiModelProperty(value = "根据详细地址匹配承运商")
+    @GetMapping("/getCarrierByPlace")
+    public RESTfulResult getCarrierByPlace(@RequestParam Integer placeId) {
+        return amsFeign.getCarrierByPlace(placeId);
+    }
+
+    @ApiModelProperty(value = "将车序号下发给承运商")
+    @PostMapping("/dispatchToCarrier")
+    public RESTfulResult dispatchToCarrier(@RequestBody List<Map<String,Object>> mapList) {
+        return amsFeign.dispatchToCarrier(mapList);
+    }
+
+    @ApiModelProperty(value = "将车序号下发给承运商")
+    @PostMapping("/getSaleOrderListToCarrier")
+    public RESTfulResult getSaleOrderListToCarrier(@RequestBody(required = false) Map<String,Object> mapValue,
+                                                   @RequestParam Integer pageNum,
+                                                   @RequestParam Integer pageSize,
+                                                   @RequestParam Integer apiId,
+                                                   @RequestParam String carrierSsoId,
+                                                   @RequestParam(required = false) String con) {
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        return amsFeign.getSaleOrderListToCarrier(mapValue,pageNum,pageSize,apiId,carrierSsoId,con);
+    }
+
+    @ApiModelProperty(value = "展示未匹配承运商的车序号")
+    @PostMapping("/getSteelTruckNoList")
+    public RESTfulResult getSteelTruckNoList(@RequestBody(required = false) Map<String,Object> mapValue,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize,
+                                             @RequestParam(required = false) String con) {
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        return amsFeign.getSteelTruckNoList(mapValue,apiId,pageNum,pageSize,con);
+    }
+
+    @ApiModelProperty(value = "展示未匹配承运商的车序号详情")
+    @PostMapping("/getTruckNoMaterial")
+    public RESTfulResult getTruckNoMaterial(@RequestParam Integer saleOrderMaterialId) {
+        return amsFeign.getTruckNoMaterial(saleOrderMaterialId);
+    }
+
+    @ApiModelProperty(value = "展示已分配承运商但未派车的车序号")
+    @PostMapping("/getNoCarTruckNoList")
+    public RESTfulResult getNoCarTruckNoList(@RequestBody(required = false) Map<String,Object> mapValue,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize,
+                                             @RequestParam(required = false) String con) {
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        return amsFeign.getNoCarTruckNoList(mapValue,apiId,pageNum,pageSize,con);
+    }
+
+    @ApiModelProperty(value = "展示已派车的车序号")
+    @PostMapping("/getHaveCarTruckNoList")
+    public RESTfulResult getHaveCarTruckNoList(@RequestBody(required = false) Map<String,Object> mapValue,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize,
+                                             @RequestParam(required = false) String con) {
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        return amsFeign.getHaveCarTruckNoList(mapValue, apiId, pageNum, pageSize, con);
+    }
+
     @ApiOperation(value="获取零星订单的物资详情")
     @PostMapping(value = "/getSporadic")
     public Map<String, Object> getSporadic(Integer sporadicId) {

+ 82 - 0
src/main/java/com/steerinfo/dil/controller/OTMSController.java

@@ -0,0 +1,82 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.config.ImageFileUtils;
+import com.steerinfo.dil.feign.TmsTruckFeign;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartRequest;
+
+import java.awt.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("${api.version}/otms")
+public class OTMSController {
+    @Autowired
+    private TmsTruckFeign tmsTruckFeign;
+    @Autowired
+    private ImageFileUtils imageFileUtils;
+    @ApiOperation(value="全路径展示接口")
+    @PostMapping("/fullPath")
+    public Object fullPath(@RequestParam("orderNumber") String orderNumber) throws Exception {
+        return tmsTruckFeign.fullPath(orderNumber);
+    }
+    @PostMapping("/getInTransitTransportation")
+    public RESTfulResult getInTransitTransportation(@RequestBody(required=false)   Map<String,Object> mapValue,
+                                                    @RequestParam(required = true,defaultValue = "468",name = "apiId")Integer apiId,
+                                                    @RequestParam(required = false,defaultValue = "1",name = "pageNum")Integer pageNum,
+                                                    @RequestParam(required = false,defaultValue = "20",name = "pageSize")Integer pageSize
+    )
+    {
+        return tmsTruckFeign.getInTransitTransportation(mapValue!=null?mapValue:new HashMap<>(),apiId,pageNum,pageSize);
+    }
+
+    @ApiOperation("查询在途运输")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer")
+    })
+    @PostMapping("/getFinishTruckOrderInfo")
+    public RESTfulResult getFinishTruckOrderInfo(@RequestBody Map<String,Object> mapValue,
+                                                 @RequestParam(required = true,defaultValue = "468",name = "apiId")Integer apiId,
+                                                 @RequestParam(required = false,defaultValue = "1",name = "pageNum")Integer pageNum,
+                                                 @RequestParam(required = false,defaultValue = "20",name = "pageSize")Integer pageSize
+    ){
+        return tmsTruckFeign.getFinishTruckOrderInfo(mapValue!=null?mapValue:new HashMap<>(),apiId,pageNum,pageSize);
+    }
+
+    @PostMapping(value = "/addtmstruckArrivalResult")
+    public RESTfulResult addtmstruckArrivalResult(@RequestParam("orderNumber") String orderNumber, @RequestParam("resultArrivalAddress")String resultArrivalAddress, MultipartFile file){
+        return tmsTruckFeign.addtmstruckArrivalResult(orderNumber,resultArrivalAddress,file);
+    }
+
+    @PostMapping(value = "/addTmstruckReceiptResult")
+    public synchronized RESTfulResult addTmstruckReceiptResult(MultipartRequest request, Integer num, String orderNumber, String resultArrivalAddress, Integer imgcount3, Integer imgcount4) throws Exception {
+        List<MultipartFile> files = new ArrayList<>();
+        files.add(request.getFile("file0"));
+        files.add(request.getFile("file1"));
+        Map<String,Object> mapValue=new HashMap<>();
+        for (int i=0;i<files.size();i++){
+            MultipartFile file=files.get(i);
+            String url = imageFileUtils.updateFile(file);
+            mapValue.put("url"+i,url);
+        }
+        return tmsTruckFeign.addTmstruckReceiptResult(mapValue,num,orderNumber,resultArrivalAddress,imgcount3,imgcount4);
+    }
+
+
+}

+ 28 - 0
src/main/java/com/steerinfo/dil/controller/TMSController.java

@@ -2114,4 +2114,32 @@ public class TMSController extends BaseRESTfulController {
         return tmsTruckFeign.getLXInwardReport(mapValue==null?new HashMap<>():mapValue, apiId, pageNum, pageSize, startTime, endTime);
     }
 
+
+    @ApiOperation("保卫部随机抽查车牌号")
+    @PostMapping("/getCapacityByDefend")
+    public Map<String,Object> getCapacityByDefend(@RequestBody(required = false) Map<String,Object> mapValue,
+                                                  Integer apiId,
+                                                  Integer pageNum,
+                                                  Integer pageSize,
+                                                  String con){
+        return tmsTruckFeign.getCapacityByDefend(mapValue==null?new HashMap<>():mapValue, apiId, pageNum, pageSize,con);
+    }
+
+    @ApiOperation("厂外抵达作业")
+    @PostMapping("/getReceiptResult")
+    public Map<String,Object> getReceiptResult(@RequestBody(required = false) Map<String,Object> mapValue,
+                                                  Integer apiId,
+                                                  Integer pageNum,
+                                                  Integer pageSize,
+                                                  String con,
+                                                  String startTime,
+                                                  String endTime){
+        return tmsTruckFeign.getReceiptResult(mapValue==null?new HashMap<>():mapValue, apiId, pageNum, pageSize,con,startTime,endTime);
+    }
+
+    @ApiOperation("展示满货箱的照片")
+    @PostMapping("/getReceiptPhoto")
+    public String getReceiptPhoto(@RequestParam String orderNumber){
+        return tmsTruckFeign.getReceiptPhoto(orderNumber);
+    }
 }

+ 84 - 2
src/main/java/com/steerinfo/dil/controller/UniversalController.java

@@ -663,6 +663,80 @@ public class UniversalController extends BaseRESTfulController {
        return success(carrier);
     }
 
+    @ApiModelProperty(value = "模糊查询钢材物资")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "244", required = false, dataType = "BigDecimal")
+    })
+    @PostMapping("/getSteelMaterial")
+    public RESTfulResult getSteelMaterial(@RequestBody(required = false) Map<String, Object> mapValue,
+                                          Integer pageNum,
+                                          Integer pageSize,
+                                          Integer apiId,
+                                          String materialNameText,
+                                          String materialSpecificationText,
+                                          String materialModelText) {
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        if (materialNameText != null && !materialNameText.equals("undefined") && !materialNameText.equals("null")) {
+            mapValue.put("materialNameText", materialNameText);
+        }
+        if (materialSpecificationText != null && !materialSpecificationText.equals("undefined") && !materialSpecificationText.equals("null")) {
+            mapValue.put("materialSpecificationText", materialSpecificationText);
+        }
+        if (materialModelText != null && !materialModelText.equals("undefined") && !materialModelText.equals("null")) {
+            mapValue.put("materialModelText", materialModelText);
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        //分页查询数据
+        List<Map<String, Object>> columnList = universalMapper.getSteelMaterial(mapValue);
+        PageListAdd data = columnDataUtil.tableColumnData(apiId, columnList);
+        return success(data);
+    }
+
+    @ApiOperation(value="得到所有省份")
+    @PostMapping("/getAllProvince")
+    public RESTfulResult getAllProvince(){
+        List<Map<String,Object>> provinceList = universalMapper.getAllProvince();
+        return success(provinceList);
+    }
+
+    @ApiOperation(value="根据省份得到下面的地级市")
+    @PostMapping("/getDistrictByProvince")
+    public RESTfulResult getDistrictByProvince(@RequestParam String addressProvince){
+        List<Map<String,Object>> districtList = universalMapper.getDistrictByProvince(addressProvince);
+        return success(districtList);
+    }
+
+    @ApiOperation(value="根据地级市得到下面的区/县")
+    @PostMapping("/getTownByDistrict")
+    public RESTfulResult getTownByDistrict(@RequestParam String addressDistrict){
+        List<Map<String,Object>> townList = universalMapper.getTownByDistrict(addressDistrict);
+        return success(townList);
+    }
+
+    @ApiOperation(value="根据省市县得到下面的详细地址")
+    @PostMapping("/getPlaceByAllAddress")
+    public RESTfulResult getPlaceByAllAddress(@RequestBody Map<String,Object> mapValue){
+        List<Map<String,Object>> townList = universalMapper.getPlaceByAllAddress(mapValue);
+        return success(townList);
+    }
+
+    @ApiOperation(value="获得销售员下拉框")
+    @GetMapping("/getSalerList")
+    public RESTfulResult getSalerList(){
+        List<Map<String,Object>> salerList= universalMapper.getSalerList();
+        return success(salerList);
+    }
+
+    @ApiOperation(value="通过收货客户匹配销售组")
+    @PostMapping("/getSaleArea")
+    public RESTfulResult getSaleArea(@RequestParam Integer receiveId) {
+        String saleArea = universalMapper.getSaleArea(new BigDecimal(receiveId));
+        return success(saleArea);
+    }
 
     @ApiOperation(value = "质保书前端展示")
     @PostMapping("/getWarranty")
@@ -670,8 +744,10 @@ public class UniversalController extends BaseRESTfulController {
 
         //List<String> list = universalService.getWarrantyAndPrint(orderNumber);
         List<String> list= universalService.getWarranty(orderNumber);
-        if(list.get(0).equals("0")){
-            return failed("质保书正在紧张制作中,请耐心等待!");
+        if(list.get(0).equals("-1")){
+            return failed(-1,"质保书正在紧张制作中,请耐心等待!");
+        }else if(list.get(0).equals("-2")){
+            return failed(-2,"该车还未装货");
         }
         return success(list);
     }
@@ -698,6 +774,12 @@ public class UniversalController extends BaseRESTfulController {
 //       return success(list);
 //    }
 
+    @ApiOperation(value = "收货地址下匹配不到任何承运商")
+    @GetMapping("/getNoListCarrier")
+    public RESTfulResult getNoListCarrier() {
+        return success(universalMapper.getNoListCarrier());
+    }
+
     @ApiOperation(value = "查询承运起止地点下拉框")
     @GetMapping("/getNotReceiveOrderQuantity")
     public Integer getNotReceiveOrderQuantity(@RequestParam("capacityNumber") String capacityNumber){

+ 54 - 1
src/main/java/com/steerinfo/dil/feign/AmsFeign.java

@@ -1366,7 +1366,11 @@ public interface AmsFeign {
                                                        @RequestParam("pageNum") Integer pageNum,
                                                        @RequestParam("pageSize") Integer pageSize,
                                                        @RequestParam("apiId") Integer apiId,
-                                                       @RequestParam("con") String con);
+                                                       @RequestParam("con") String con,
+                                                       @RequestParam Integer shipperId
+//                                                       @RequestParam String startDate,
+//                                                       @RequestParam String endDate
+    );
 
     @ApiOperation(value="查询财务已审批销售订单信息")
     @ApiImplicitParams({
@@ -1539,6 +1543,55 @@ public interface AmsFeign {
     @PostMapping(value = "/api/v1/ams/amsdispatchsaleorders/refuseDispatchSaleOrderList")
     Map<String, Object> refuseDispatchSaleOrderList(List<Map<String, Object>> mapList);
 
+    @PostMapping(value = "/api/v1/ams/amssaleorders/addSteelSaleOrder")
+    Map<String, Object> addSteelSaleOrder(@RequestBody Map<String, Object> mapValue);
+
+    @PostMapping(value = "/api/v1/ams/amssaleorders/getTruckNoAndMaterialList")
+    RESTfulResult getTruckNoAndMaterialList(@RequestParam Integer saleOrderId);
+
+    @PostMapping(value = "/api/v1/ams/amssaleorders/dispatchSteelOrder")
+    Map<String, Object> dispatchSteelOrder(@RequestBody List<Map<String, Object>> mapList);
+
+    @GetMapping(value = "/api/v1/ams/amssaleorders/getCarrierByPlace")
+    RESTfulResult getCarrierByPlace(@RequestParam Integer placeId);
+
+    @PostMapping(value = "/api/v1/ams/amssaleorders/getPriceByCarrierAndPlace")
+    Map<String, Object> getPriceByCarrierAndPlace(@RequestBody Map<String, Object> mapValue);
+
+    @PostMapping(value = "/api/v1/ams/amssaleorders/dispatchToCarrier")
+    RESTfulResult dispatchToCarrier(@RequestBody List<Map<String, Object>> mapList);
+
+    @PostMapping(value = "/api/v1/ams/amssaleorders/getSaleOrderListToCarrier")
+    RESTfulResult getSaleOrderListToCarrier(@RequestBody(required = false) Map<String, Object> mapValue,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam String carrierSsoId,
+                                            @RequestParam(required = false) String con);
+
+    @PostMapping(value = "/api/v1/ams/amssaleorders/getSteelTruckNoList")
+    RESTfulResult getSteelTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                      @RequestParam Integer apiId,
+                                      @RequestParam Integer pageNum,
+                                      @RequestParam Integer pageSize,
+                                      @RequestParam String con);
+
+    @PostMapping(value = "/api/v1/ams/amssaleorders/getTruckNoMaterial")
+    RESTfulResult getTruckNoMaterial(@RequestParam Integer saleOrderMaterialId);
+
+    @PostMapping(value = "/api/v1/ams/amssaleorders/getNoCarTruckNoList")
+    RESTfulResult getNoCarTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                      @RequestParam Integer apiId,
+                                      @RequestParam Integer pageNum,
+                                      @RequestParam Integer pageSize,
+                                      @RequestParam String con);
+
+    @PostMapping(value = "/api/v1/ams/amssaleorders/getHaveCarTruckNoList")
+    RESTfulResult getHaveCarTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                        @RequestParam Integer apiId,
+                                        @RequestParam Integer pageNum,
+                                        @RequestParam Integer pageSize,
+                                        @RequestParam String con);
     @PostMapping(value = "/api/v1/ams/amstrucksporadicorders/getSporadic")
     Map<String, Object> getSporadic(@RequestParam Integer sporadicId);
 

+ 0 - 1
src/main/java/com/steerinfo/dil/feign/BmstruckFeign.java

@@ -1,7 +1,6 @@
 package com.steerinfo.dil.feign;
 
 import com.steerinfo.framework.controller.RESTfulResult;
-import com.sun.corba.se.spi.ior.ObjectKey;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
 

+ 51 - 0
src/main/java/com/steerinfo/dil/feign/TmsTruckFeign.java

@@ -5,8 +5,13 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.util.MultiValueMap;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartRequest;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -505,6 +510,52 @@ public interface TmsTruckFeign {
                                      @RequestParam String startTime,
                                      @RequestParam String endTime);
 
+
+    @PostMapping("api/v1/truckTms/statisticalReport/getCapacityByDefend")
+    Map<String, Object> getCapacityByDefend(@RequestBody(required = false) Map<String, Object> mapValue,
+                                          @RequestParam Integer apiId,
+                                          @RequestParam Integer pageNum,
+                                          @RequestParam Integer pageSize,
+                                          @RequestParam String con
+                                         );
+
+    @PostMapping("api/v1/truckTms/tmstruckreceiptresults/getReceiptResult")
+    Map<String, Object> getReceiptResult(@RequestBody(required = false) Map<String, Object> mapValue,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize,
+                                            @RequestParam String con,
+                                            @RequestParam String startTime,
+                                            @RequestParam String endTime
+    );
+
+    @PostMapping("api/v1/truckTms/tmstruckreceiptresults/getReceiptPhoto")
+    String getReceiptPhoto(@RequestParam String orderNumber);
+
+    @PostMapping("/api/v1/truckTms/pathDisplay/fullPath")
+    public Object fullPath(@RequestParam("orderNumber") String orderNumber) throws Exception;
+    @PostMapping("/api/v1/truckTms/pathDisplay/getInTransitTransportation")
+    public RESTfulResult getInTransitTransportation(@RequestBody Map<String,Object> mapValue,
+                                                    @RequestParam(required = true,defaultValue = "468",name = "apiId")Integer apiId,
+                                                    @RequestParam(required = false,name = "pageNum")Integer pageNum,
+                                                    @RequestParam(required = false,name = "pageSize")Integer pageSize);
+    @PostMapping(value = "/api/v1/truckTms/tmstruckarrivalresults/addtmstruckArrivalResult",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    public RESTfulResult addtmstruckArrivalResult(@RequestParam("orderNumber")String orderNumber, @RequestParam("resultArrivalAddress")String resultArrivalAddress,@RequestPart("file") MultipartFile file);
+
+    @PostMapping(value = "/api/v1/truckTms/pathDisplay/addTmstruckReceiptResult")
+    public  RESTfulResult addTmstruckReceiptResult(@RequestBody Map<String,Object>  mapValaue  , @RequestParam("num") Integer num, @RequestParam("orderNumber")  String orderNumber, @RequestParam("resultArrivalAddress")String resultArrivalAddress, @RequestParam("imgcount3") Integer imgcount3, @RequestParam("imgcount4")Integer imgcount4);
+
+    @PostMapping(value = "/api/v1/truckTms/tmstruckarrivalresults/uploadImage",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    public String uploadImage(@RequestParam("orderNumber")String orderNumber,@RequestPart("file") MultipartFile file);
+
+//    @PostMapping(value = "/api/v1/truckTms/pathDisplay/addTmstruckReceiptResult", headers = "content-type=multipart/form-data",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+//    public  RESTfulResult addTmstruckReceiptResult(@RequestPart("file")MultipartRequest request,@RequestParam("num") Integer num,@RequestParam("orderNumber")  String orderNumber, @RequestParam("resultArrivalAddress")String resultArrivalAddress,@RequestParam("imgcount3") Integer imgcount3, @RequestParam("imgcount4")Integer imgcount4);
+    @PostMapping("/api/v1/truckTms/pathDisplay/getFinishTruckOrderInfo")
+    public RESTfulResult getFinishTruckOrderInfo(@RequestBody Map<String,Object> mapValue,
+                                                 @RequestParam(required = true,defaultValue = "468",name = "apiId")Integer apiId,
+                                                 @RequestParam(required = false,defaultValue = "1",name = "pageNum")Integer pageNum,
+                                                 @RequestParam(required = false,defaultValue = "20",name = "pageSize")Integer pageSize
+    );
 }
 
 

+ 22 - 0
src/main/java/com/steerinfo/dil/mapper/UniversalMapper.java

@@ -139,6 +139,27 @@ public interface UniversalMapper {
 
     Map<String, Object> getRmsCarrierByCarrierSsoId(String carrierSsoId);
 
+    //边输边查物资
+    List<Map<String, Object>> getSteelMaterial(Map<String, Object> mapValue);
+
+    // 得到所有省份
+    List<Map<String, Object>> getAllProvince();
+
+    // 通过省份得到省份下面的市
+    List<Map<String, Object>> getDistrictByProvince(String addressProvince);
+
+    // 通过市得到市下面的区和县
+    List<Map<String, Object>> getTownByDistrict(String addressDistrict);
+
+    // 通过省市县得到具体地址
+    List<Map<String, Object>> getPlaceByAllAddress(Map<String, Object> mapValue);
+
+    // 得到销售员下拉
+    List<Map<String, Object>> getSalerList();
+
+    // 获得销售组
+    String getSaleArea(BigDecimal receiveId);
+
     List<Map<String,Object>> getWarranty(String orderNumber);
 
     List<Map<String, Object>> getCapacityType(Map<String, Object> mapValue);
@@ -154,6 +175,7 @@ public interface UniversalMapper {
 
     List<Map<String, Object>> selectOutbound(String orderNumber);
 
+    List<Map<String,Object>> getNoListCarrier();
     //通过车牌号查询未接收的订单数量(用于APP显示未接收小红点)
     Integer getNotReceiveOrderQuantity(String capacityNumber);
 }

+ 1 - 1
src/main/java/com/steerinfo/dil/service/UniversalService.java

@@ -16,7 +16,7 @@ public interface UniversalService {
     //查询路段顺序及当前路段顺序号
     Map<String, Object> getNowLineMes(Map<String, Object> map);
 
-    List<String> getWarrantyAndPrint(String orderNumber);
+   // List<String> getWarrantyAndPrint(String orderNumber);
 
     List<String> getWarranty(java.lang.String orderNumber);
 

+ 41 - 35
src/main/java/com/steerinfo/dil/service/impl/UniversalServiceImpl.java

@@ -59,48 +59,54 @@ public class UniversalServiceImpl implements UniversalService {
         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> 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 = joinFeign.sendWarranty(map);
-        Map<String,Object> waMap = JSON.parseObject(string);
-        List<String> list = new ArrayList<>();
-        //成功
-        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);
+        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");
             }
-        }//失败
-        else{
-            list.add("0");
+        }catch (NullPointerException e){
+            e.printStackTrace();
+            list.add("-2");
         }
         return list;
     }

+ 2 - 2
src/main/java/com/steerinfo/dil/util/ESUtil.java

@@ -17,8 +17,8 @@ public class ESUtil {
     // context
     public final Map<String,Object> login = new HashMap<>();
     public final String password = "dgjt@kingdee";
-    public final String dcName = "A004";
-    public final String dbType = "0";
+    public final String dcName = "FDDGEAS85";
+    public final String dbType = "1";
     public final String userName = "user";
     // context
     public final String command = "dgQcReportHandler";

+ 8 - 3
src/main/resources/application-dev.yml

@@ -10,7 +10,7 @@ openfeign:
   ColumnDataFeign:
     url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
   AmsFeign:
-    url: ${AMSFEIGN_URL:localhost:8015}
+    url: ${AMSFEIGN_URL:172.16.33.162:8015}
   BmsshipFeign:
     url: ${BMSSHIPFEIGN_URL:172.16.33.162:8007}
   BmstrainFeign:
@@ -22,7 +22,7 @@ openfeign:
   TmsTrainFeign:
     url: ${TMSTRAINFEIGN_URL:172.16.33.162:8004}
   TmsTruckFeign:
-    url: ${TMSTRUCKFEIGN_URL:localhost:8008}
+    url: ${TMSTRUCKFEIGN_URL:172.16.33.162:8008}
   TmsshipFeign:
     url: ${TMSSHIPFEIGN_URL:172.16.33.162:8003}
   WMSHFeign:
@@ -30,11 +30,16 @@ openfeign:
   WMSFeign:
     url: ${WMSFEIGN_URL:172.16.33.162:8012}
   OMSFeign:
-    url: ${OMSFEIGN_URL:localhost:8016}
+    url: ${OMSFEIGN_URL:172.16.33.162:8016}
   RmsFeign:
     url: ${RMSFEIGN_HRL:172.16.33.162:8014}
   JoinFeign:
     url: ${JOINFEIGN_URL:172.16.33.162:8006}
+piction:
+  # path: /usr/share/nginx/html/image
+  #  path: /test/data/nginx/html/image
+  path: C:\Users\24390\Desktop\work\a
+#  path: /shared
 
 server:
   port: 8019

+ 5 - 0
src/main/resources/application-prod.yml

@@ -36,5 +36,10 @@ openfeign:
     url: ${RMSFEIGN_URL:172.16.33.166:8060}
   JoinFeign:
     url: ${JOINFEIGN_URL:172.16.33.166:8066}
+piction:
+  # path: /usr/share/nginx/html/image
+  #  path: /test/data/nginx/html/image
+  #path: C:\Users\24390\Desktop\work\a
+  path: /shared
 server:
   port: 8080

+ 105 - 0
src/main/resources/com/steerinfo/dil/mapper/UniversalMapper.xml

@@ -821,6 +821,111 @@
         where oo.ORDER_NUMBER= #{ORDER_NUMBER}
     </select>
 
+    <!--  模糊查询所有物资  -->
+    <select id="getSteelMaterial" parameterType="java.util.Map" resultType="java.util.Map">
+        SELECT *
+        FROM (
+        SELECT RM.MATERIAL_ID "materialId",
+        RM.MATERIAL_NAME "materialName",
+        RM.MATERIAL_CODE "materialCode",
+        RM.MATERIAL_SPECIFICATION "materialSpecification",
+        RM.MATERIAL_MODEL "materialModel"
+        FROM RMS_MATERIAL RM
+        WHERE RM.MATERIAL_SPECIFICATION LIKE 'Φ%'
+        <if test="materialNameText != null">
+            AND (instr(RM.MATERIAL_NAME, #{materialNameText}) > 0)
+        </if>
+        <if test="materialSpecificationText != null">
+            AND (instr(RM.MATERIAL_SPECIFICATION, #{materialSpecificationText}) > 0)
+        </if>
+        <if test="materialModelText != null">
+            AND (instr(RM.MATERIAL_MODEL, #{materialModelText}) > 0)
+        </if>
+        )
+        <where>
+            <if test="materialName != null">
+                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                    "materialName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialCode != null">
+                and
+                <foreach collection="materialCode" item="item" open="(" separator="or" close=")">
+                    "materialCode" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialSpecification != null">
+                and
+                <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
+                    "materialSpecification" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialModel != null">
+                and
+                <foreach collection="materialModel" item="item" open="(" separator="or" close=")">
+                    "materialModel" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+        <if test="orderField == null  ">
+            order by "materialId" desc
+        </if>
+    </select>
+
+    <select id="getAllProvince" resultType="java.util.Map">
+        SELECT DISTINCT RRA.ADDRESS_PROVINCE AS "addressProvince",
+                        RRA.ADDRESS_PROVINCE AS "id"
+        FROM RMS_RECEIVE_ADDRESS RRA
+    </select>
+
+    <select id="getDistrictByProvince" parameterType="java.lang.String" resultType="java.util.Map">
+        SELECT DISTINCT RRA.ADDRESS_DISTRICT AS "addressDistrict",
+                        RRA.ADDRESS_DISTRICT AS "id"
+        FROM RMS_RECEIVE_ADDRESS RRA
+        WHERE RRA.ADDRESS_PROVINCE = #{addressProvince}
+    </select>
+
+    <select id="getTownByDistrict" parameterType="java.lang.String" resultType="java.util.Map">
+        SELECT DISTINCT RRA.ADDRESS_TOWN AS "addressTown",
+                        RRA.ADDRESS_TOWN AS "id"
+        FROM RMS_RECEIVE_ADDRESS RRA
+        WHERE RRA.ADDRESS_DISTRICT = #{addressDistrict}
+    </select>
+
+    <select id="getPlaceByAllAddress" parameterType="java.util.Map" resultType="java.util.Map" >
+        SELECT RRA.ADDRESS_ID AS "addressId"
+        FROM RMS_RECEIVE_ADDRESS RRA
+        WHERE RRA.ADDRESS_DISTRICT = #{addressDistrict}
+          AND RRA.ADDRESS_TOWN = #{addressTown}
+          AND RRA.ADDRESS_PROVINCE = #{addressProvince}
+    </select>
+
+    <select id="getSalerList" resultType="java.util.Map" >
+        SELECT RS.SALER_ID   "id",
+               RS.SALER_ID   "value",
+               RS.SALER_NAME "label"
+        FROM RMS_SALER RS
+    </select>
+
+    <select id="getSaleArea" parameterType="DECIMAL" resultType="java.lang.String" >
+        SELECT
+                RSA.AREA_NAME AS "areaName"
+        FROM RMS_CONSIGNEE RC
+                 LEFT JOIN RMS_SALE_AREA RSA
+                           ON RSA.AREA_ID = RC.AREA_ID
+        WHERE RC.CONSIGNEE_ID = #{receiveId}
+    </select>
+
+    <select id="getNoListCarrier" resultType="java.util.Map" >
+        SELECT RC.CARRIER_ID AS "id",
+               RC.CARRIER_ID AS "value",
+               RC.CARRIER_NAME AS "label"
+        FROM RMS_CARRIER RC
+        WHERE RC.CARRIER_ID &gt;= 3720
+        AND RC.CARRIER_ID &lt;= 3727
+    </select>
+
     <select id="getNotReceiveOrderQuantity" resultType="java.lang.Integer">
         select count(ORDER_ID)
         from OMSTRUCK_ORDER OO