Jelajahi Sumber

订单列表页面

qxp 4 tahun lalu
induk
melakukan
550723a36d

+ 1 - 1
suishenbang-admin/src/main/resources/application-uat.yml

@@ -12,7 +12,7 @@ ruoyi:
   profile: /home/admin/project/file
   # 获取ip地址开关
   addressEnabled: false
-  cloudPath: http://suishenbang.nipponpaint.com.cn/gateway/
+  cloudPath: http://127.0.0.1:8000
 #经销商微信接口相关配置
 customer:
   appid: ap4f8e6a38b6142187

+ 11 - 17
suishenbang-order/src/main/java/com/dgtly/order/controller/OrderBaseController.java

@@ -3,7 +3,9 @@ package com.dgtly.order.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.dgtly.common.exception.base.BaseException;
 import com.dgtly.common.utils.MapDataUtil;
+import com.dgtly.order.domain.MetaHanaSalesOrder;
 import com.dgtly.order.domain.OrderDetailModel;
+import com.dgtly.order.service.IMetaHanaSalesOrderService;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -22,6 +24,8 @@ import com.dgtly.common.core.controller.BaseController;
 import org.springframework.web.client.RestTemplate;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 订单基础 订单的基础信息Controller
@@ -37,6 +41,9 @@ public class OrderBaseController extends BaseController {
     @Autowired
     private RestTemplate restTemplate;
 
+    @Autowired
+    private IMetaHanaSalesOrderService metaHanaSalesOrderService;
+
     @Value(value = "${ruoyi.cloudPath}")
     private String cloudPath;
 
@@ -53,24 +60,11 @@ public class OrderBaseController extends BaseController {
     @RequiresPermissions("order:orderbase:list")
     @PostMapping("/list")
     @ResponseBody
-    public Object list(HttpServletRequest request) {
-        String str = "";
+    public Object list(MetaHanaSalesOrder order) {
+        startPage();
+        List<MetaHanaSalesOrder> list= metaHanaSalesOrderService.selectDistinctMetaHanaSalesOrder(order);
 
-        String url = cloudPath + "order"+"/order/meta-hana-sales-order/list";
-
-        try{
-            //设置为form方式
-            HttpHeaders headers = new HttpHeaders();
-            headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-            MultiValueMap<String, Object> map = MapDataUtil.convertMultiValueMap(request);
-            HttpEntity<Object> requestEntity
-                    = new HttpEntity<>(map, headers);
-            str = restTemplate.postForObject(url, requestEntity, String.class);
-        }catch(Exception e){
-            logger.error("查询基础订单列表报错"+url,e);
-            throw e;
-        }
-         return str;
+        return getDataTable(list);
     }
 
 

+ 338 - 0
suishenbang-order/src/main/java/com/dgtly/order/domain/MetaHanaSalesOrder.java

@@ -0,0 +1,338 @@
+package com.dgtly.order.domain;
+
+import com.dgtly.common.core.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author csz
+ * @since 2020-07-30
+ */
+public class MetaHanaSalesOrder extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    private String docNumber;
+
+
+    private String docItem;
+
+
+    private String salesOrg;
+
+
+    private String salesOrgName;
+
+    private String distributionChannel;
+
+    private String customerCode;
+
+    private String customerName;
+
+    private String route;
+
+    private String division;
+
+    private String salesGroup;
+
+    private String plant;
+
+    private String docType;
+
+    private String createDate;
+
+    private String createDateItem;
+
+    private String deliverStatus;
+
+    private String materialCode;
+
+    private String materialName;
+
+    private String sizeDim;
+
+    private String creditDate;
+
+    private String creditStatus;
+
+    private String rejectReason;
+
+    private BigDecimal noDeliverQty;
+
+    private BigDecimal noDeliverWt;
+
+    private BigDecimal noDeliverAmt;
+
+    private BigDecimal deliverQty;
+
+    private BigDecimal deliverWt;
+
+    private BigDecimal deliverAmt;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date expectedTime;
+
+    public String getDocNumber() {
+        return docNumber;
+    }
+
+    public void setDocNumber(String docNumber) {
+        this.docNumber = docNumber;
+    }
+
+    public String getDocItem() {
+        return docItem;
+    }
+
+    public void setDocItem(String docItem) {
+        this.docItem = docItem;
+    }
+
+    public String getSalesOrg() {
+        return salesOrg;
+    }
+
+    public void setSalesOrg(String salesOrg) {
+        this.salesOrg = salesOrg;
+    }
+
+    public String getSalesOrgName() {
+        return salesOrgName;
+    }
+
+    public void setSalesOrgName(String salesOrgName) {
+        this.salesOrgName = salesOrgName;
+    }
+
+    public String getDistributionChannel() {
+        return distributionChannel;
+    }
+
+    public void setDistributionChannel(String distributionChannel) {
+        this.distributionChannel = distributionChannel;
+    }
+
+    public String getCustomerCode() {
+        return customerCode;
+    }
+
+    public void setCustomerCode(String customerCode) {
+        this.customerCode = customerCode;
+    }
+
+    public String getCustomerName() {
+        return customerName;
+    }
+
+    public void setCustomerName(String customerName) {
+        this.customerName = customerName;
+    }
+
+    public String getRoute() {
+        return route;
+    }
+
+    public void setRoute(String route) {
+        this.route = route;
+    }
+
+    public String getDivision() {
+        return division;
+    }
+
+    public void setDivision(String division) {
+        this.division = division;
+    }
+
+    public String getSalesGroup() {
+        return salesGroup;
+    }
+
+    public void setSalesGroup(String salesGroup) {
+        this.salesGroup = salesGroup;
+    }
+
+    public String getPlant() {
+        return plant;
+    }
+
+    public void setPlant(String plant) {
+        this.plant = plant;
+    }
+
+    public String getDocType() {
+        return docType;
+    }
+
+    public void setDocType(String docType) {
+        this.docType = docType;
+    }
+
+    public String getCreateDate() {
+        return createDate;
+    }
+
+    public void setCreateDate(String createDate) {
+        this.createDate = createDate;
+    }
+
+    public String getCreateDateItem() {
+        return createDateItem;
+    }
+
+    public void setCreateDateItem(String createDateItem) {
+        this.createDateItem = createDateItem;
+    }
+
+    public String getDeliverStatus() {
+        return deliverStatus;
+    }
+
+    public void setDeliverStatus(String deliverStatus) {
+        this.deliverStatus = deliverStatus;
+    }
+
+    public String getMaterialCode() {
+        return materialCode;
+    }
+
+    public void setMaterialCode(String materialCode) {
+        this.materialCode = materialCode;
+    }
+
+    public String getMaterialName() {
+        return materialName;
+    }
+
+    public void setMaterialName(String materialName) {
+        this.materialName = materialName;
+    }
+
+    public String getSizeDim() {
+        return sizeDim;
+    }
+
+    public void setSizeDim(String sizeDim) {
+        this.sizeDim = sizeDim;
+    }
+
+    public String getCreditDate() {
+        return creditDate;
+    }
+
+    public void setCreditDate(String creditDate) {
+        this.creditDate = creditDate;
+    }
+
+    public String getCreditStatus() {
+        return creditStatus;
+    }
+
+    public void setCreditStatus(String creditStatus) {
+        this.creditStatus = creditStatus;
+    }
+
+    public String getRejectReason() {
+        return rejectReason;
+    }
+
+    public void setRejectReason(String rejectReason) {
+        this.rejectReason = rejectReason;
+    }
+
+    public BigDecimal getNoDeliverQty() {
+        return noDeliverQty;
+    }
+
+    public void setNoDeliverQty(BigDecimal noDeliverQty) {
+        this.noDeliverQty = noDeliverQty;
+    }
+
+    public BigDecimal getNoDeliverWt() {
+        return noDeliverWt;
+    }
+
+    public void setNoDeliverWt(BigDecimal noDeliverWt) {
+        this.noDeliverWt = noDeliverWt;
+    }
+
+    public BigDecimal getNoDeliverAmt() {
+        return noDeliverAmt;
+    }
+
+    public void setNoDeliverAmt(BigDecimal noDeliverAmt) {
+        this.noDeliverAmt = noDeliverAmt;
+    }
+
+    public BigDecimal getDeliverQty() {
+        return deliverQty;
+    }
+
+    public void setDeliverQty(BigDecimal deliverQty) {
+        this.deliverQty = deliverQty;
+    }
+
+    public BigDecimal getDeliverWt() {
+        return deliverWt;
+    }
+
+    public void setDeliverWt(BigDecimal deliverWt) {
+        this.deliverWt = deliverWt;
+    }
+
+    public BigDecimal getDeliverAmt() {
+        return deliverAmt;
+    }
+
+    public void setDeliverAmt(BigDecimal deliverAmt) {
+        this.deliverAmt = deliverAmt;
+    }
+
+    public Date getExpectedTime() {
+        return expectedTime;
+    }
+
+    public void setExpectedTime(Date expectedTime) {
+        this.expectedTime = expectedTime;
+    }
+
+    @Override
+    public String toString() {
+        return "MetaHanaSalesOrder{" +
+                "docNumber='" + docNumber + '\'' +
+                ", docItem='" + docItem + '\'' +
+                ", salesOrg='" + salesOrg + '\'' +
+                ", salesOrgName='" + salesOrgName + '\'' +
+                ", distributionChannel='" + distributionChannel + '\'' +
+                ", customerCode='" + customerCode + '\'' +
+                ", customerName='" + customerName + '\'' +
+                ", route='" + route + '\'' +
+                ", division='" + division + '\'' +
+                ", salesGroup='" + salesGroup + '\'' +
+                ", plant='" + plant + '\'' +
+                ", docType='" + docType + '\'' +
+                ", createDate='" + createDate + '\'' +
+                ", createDateItem='" + createDateItem + '\'' +
+                ", deliverStatus='" + deliverStatus + '\'' +
+                ", materialCode='" + materialCode + '\'' +
+                ", materialName='" + materialName + '\'' +
+                ", sizeDim='" + sizeDim + '\'' +
+                ", creditDate='" + creditDate + '\'' +
+                ", creditStatus='" + creditStatus + '\'' +
+                ", rejectReason='" + rejectReason + '\'' +
+                ", noDeliverQty=" + noDeliverQty +
+                ", noDeliverWt=" + noDeliverWt +
+                ", noDeliverAmt=" + noDeliverAmt +
+                ", deliverQty=" + deliverQty +
+                ", deliverWt=" + deliverWt +
+                ", deliverAmt=" + deliverAmt +
+                '}';
+    }
+}

+ 24 - 0
suishenbang-order/src/main/java/com/dgtly/order/mapper/MetaHanaSalesOrderMapper.java

@@ -0,0 +1,24 @@
+package com.dgtly.order.mapper;
+
+
+import com.dgtly.order.domain.MetaHanaSalesOrder;
+import org.apache.ibatis.annotations.MapKey;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author csz
+ * @since 2020-07-30
+ */
+public interface MetaHanaSalesOrderMapper  {
+
+    List<MetaHanaSalesOrder> selectDistinctMetaHanaSalesOrder(MetaHanaSalesOrder metaHanaSalesOrder);
+
+    @MapKey("order_number")
+    Map<String,Map<String,Object>> selectOrderExcepTimeByList(List<String> orderNumbers);
+}

+ 30 - 0
suishenbang-order/src/main/java/com/dgtly/order/service/IMetaHanaSalesOrderService.java

@@ -0,0 +1,30 @@
+package com.dgtly.order.service;
+
+import com.dgtly.order.domain.MetaHanaSalesOrder;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author csz
+ * @since 2020-07-30
+ */
+
+public interface IMetaHanaSalesOrderService {
+
+    /**
+     * 根据 条件查询去重后SalesOrderList 可分页
+     *
+     * @param metaHanaSalesOrder
+     * @return
+     */
+
+    List<MetaHanaSalesOrder> selectDistinctMetaHanaSalesOrder(MetaHanaSalesOrder metaHanaSalesOrder);
+
+
+}

+ 60 - 0
suishenbang-order/src/main/java/com/dgtly/order/service/impl/MetaHanaSalesOrderServiceImpl.java

@@ -0,0 +1,60 @@
+package com.dgtly.order.service.impl;
+
+import com.dgtly.order.domain.MetaHanaSalesOrder;
+import com.dgtly.order.mapper.MetaHanaSalesOrderMapper;
+import com.dgtly.order.service.IMetaHanaSalesOrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author csz
+ * @since 2020-07-30
+ */
+@Service
+public class MetaHanaSalesOrderServiceImpl implements IMetaHanaSalesOrderService {
+
+    @Autowired
+    private MetaHanaSalesOrderMapper metaHanaSalesOrderMapper;
+
+
+    @Override
+    public List<MetaHanaSalesOrder> selectDistinctMetaHanaSalesOrder(MetaHanaSalesOrder metaHanaSalesOrder) {
+        Date startDate = new Date();
+        List<String> orderNumbers = new ArrayList<>();
+        List<MetaHanaSalesOrder> list =  metaHanaSalesOrderMapper.selectDistinctMetaHanaSalesOrder(metaHanaSalesOrder);
+        for(MetaHanaSalesOrder m:list){
+            orderNumbers.add(m.getDocNumber());
+        }
+        Map<String,Map<String,Object>> timeList = metaHanaSalesOrderMapper.selectOrderExcepTimeByList(orderNumbers);
+        for(MetaHanaSalesOrder m:list){
+            if(timeList.containsKey(m.getDocNumber())){
+
+                m.setExpectedTime((Date)timeList.get(m.getDocNumber()));
+            }
+
+        }
+
+        Date endTime = new Date();
+
+        System.out.println("s:"+startDate.toString());
+        System.out.println("e:"+endTime.toString());
+
+        System.out.println("haoshi:"+(endTime.getTime()-startDate.getTime())/1000);
+
+
+
+
+        return list;
+    }
+
+
+}

+ 63 - 0
suishenbang-order/src/main/resources/mapper/order/MetaHanaSalesOrderMapper.xml

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dgtly.order.mapper.MetaHanaSalesOrderMapper">
+
+    <resultMap type="MetaHanaSalesOrder" id="MetaHanaSalesResult">
+        <result property="docNumber"    column="DOC_NUMBER"    />
+        <result property="docItem"    column="DOC_ITEM"    />
+        <result property="salesOrg"    column="SALES_ORG"    />
+        <result property="salesOrgName"    column="SALES_ORG_NAME"    />
+        <result property="distributionChannel"    column="DISTRIBUTION_CHANNEL"    />
+        <result property="customerCode"    column="CUSTOMER_CODE"    />
+        <result property="customerName"    column="CUSTOMER_NAME"    />
+        <result property="route"    column="ROUTE"    />
+        <result property="division"    column="DIVISION"    />
+        <result property="salesGroup"    column="SALES_GROUP"    />
+        <result property="plant"    column="PLANT"    />
+        <result property="docType"    column="DOC_TYPE"    />
+        <result property="createDate"    column="CREATE_DATE"    />
+        <result property="createDateItem"    column="CREATE_DATE_ITEM"    />
+        <result property="deliverStatus"    column="DELIVER_STATUS"    />
+        <result property="materialCode"    column="MATERIAL_CODE"    />
+        <result property="materialName"    column="MATERIAL_NAME"    />
+        <result property="sizeDim"    column="SIZE_DIM"    />
+        <result property="creditDate"    column="CREDIT_DATE"    />
+        <result property="creditStatus"    column="CREDIT_STATUS"    />
+        <result property="rejectReason"    column="REJECT_REASON"    />
+        <result property="noDeliverQty"    column="NO_DELIVER_QTY"    />
+        <result property="noDeliverWt"    column="NO_DELIVER_WT"    />
+        <result property="noDeliverAmt"    column="NO_DELIVER_AMT"    />
+        <result property="deliverQty"    column="DELIVER_QTY"    />
+        <result property="deliverWt"    column="DELIVER_WT"    />
+        <result property="deliverAmt"    column="DELIVER_AMT"    />
+    </resultMap>
+    <sql id="selectMetaHanaSalesOrderVo">
+        select DOC_NUMBER, DOC_ITEM, SALES_ORG, SALES_ORG_NAME, DISTRIBUTION_CHANNEL, CUSTOMER_CODE, CUSTOMER_NAME, ROUTE,
+        DIVISION, SALES_GROUP, PLANT, DOC_TYPE, CREATE_DATE, CREATE_DATE_ITEM, DELIVER_STATUS, MATERIAL_CODE, MATERIAL_NAME, SIZE_DIM
+         , CREDIT_DATE, CREDIT_STATUS, REJECT_REASON, NO_DELIVER_QTY, NO_DELIVER_WT, NO_DELIVER_AMT, DELIVER_QTY, DELIVER_WT, DELIVER_AMT from meta_hana_sales_order
+    </sql>
+    <select id="selectDistinctMetaHanaSalesOrder" parameterType="MetaHanaSalesOrder" resultMap="MetaHanaSalesResult">
+        select distinct mhso.DOC_NUMBER, mhso.CUSTOMER_CODE, mhso.CUSTOMER_NAME,
+         mhso.CREATE_DATE, mhso.CREDIT_DATE, mhso.CREDIT_STATUS, mhso.REJECT_REASON
+        from meta_hana_sales_order mhso
+        <where>
+            <if test="docNumber != null  and docNumber != ''"> and mhso.DOC_NUMBER like concat('%', #{docNumber}, '%')</if>
+            <if test="salesOrg != null  and salesOrg != ''"> and mhso.SALES_ORG =#{salesOrg}</if>
+            <if test="salesOrgName != null  and salesOrgName != ''"> and mhso.SALES_ORG_NAME like concat('%', #{salesOrgName}, '%')</if>
+            <if test="customerCode != null  and customerCode != ''"> and mhso.CUSTOMER_CODE like concat('%', #{customerCode}, '%')</if>
+            <if test="customerName != null  and customerName != ''"> and mhso.CUSTOMER_NAME like concat('%', #{customerName}, '%')</if>
+            <if test="docType != null  and docType != ''"> and mhso.DOC_TYPE = #{docType}</if>
+            <if test="creditStatus != null  and creditStatus != ''"> and mhso.CREDIT_STATUS = #{creditStatus}</if>
+        </where>
+    </select>
+
+    <select id="selectOrderExcepTimeByList" parameterType="String" resultType="Map">
+        select order_number ,expected_time
+        from sales_order_base
+        where order_number in
+        <foreach collection="list" item="orderNumber" open="(" separator="," close=")">
+            #{orderNumber}
+        </foreach>
+    </select>
+
+</mapper>

+ 9 - 16
suishenbang-order/src/main/resources/templates/order/orderbase/orderbase.html

@@ -107,19 +107,19 @@
                     checkbox: false
                 },
                 {
-                    field : 'DOC_NUMBER',
+                    field : 'docNumber',
                     title : '订单号'
                 },
                 {
-                    field : 'CUSTOMER_CODE',
+                    field : 'customerCode',
                     title : '经销商编号'
                 },
                 {
-                    field : 'CUSTOMER_NAME',
+                    field : 'customerName',
                     title : '经销商名字'
                 },
                 {
-                    field : 'CREATE_DATE',
+                    field : 'createDate',
                     title : '订单创建时间'
                 },
                 // {
@@ -132,30 +132,23 @@
                 //     title : '订单类型'
                 // },
                 {
-                    field : 'CREDIT_STATUS',
+                    field : 'creditStatus',
                     title : '信用状态'
                 },
                 {
-                    field : 'CREDIT_DATE',
+                    field : 'creditDate',
                     title : '信用通过时间'
                 },
                 {
-                    field : 'expected_time',
-                    title : '期望到货时间',
-                    formatter :function(value,row,index){
-                        if(value==null||value==""){
-                            return "";
-                        }
-                        var d = new Date(value);
-                        return dateFormat("YYYY年mm月dd日",d);
-                    }
+                    field : 'expectedTime',
+                    title : '期望到货时间'
                 },
                 {
                     title: '操作',
                     align: 'center',
                     formatter: function(value, row, index) {
                         var actions = [];
-                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.DOC_NUMBER + '\')"><i class="fa fa-edit"></i>详情</a> ');
+                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.docNumber + '\')"><i class="fa fa-edit"></i>详情</a> ');
                         return actions.join('');
                     }
                 }