luobang пре 2 година
родитељ
комит
39797122c3

+ 40 - 0
src/main/java/com/steerinfo/dil/controller/StatisticalReportController.java

@@ -626,7 +626,47 @@ public class StatisticalReportController extends BaseRESTfulController {
         List<Map<String, Object>> report = statisticalReportService.getCapacityByDefend(map);
         PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null, report);
         return success(pageList);
+    }
+
 
+    @ApiOperation(value="查询销售统计报表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(423)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getSaleSteelReport")
+    public RESTfulResult getSaleSteelReport(@RequestBody(required=false) Map<String,Object> mapValue,
+                                          Integer apiId,
+                                          Integer pageNum,
+                                          Integer pageSize,
+                                          String startTime,
+                                          String endTime,
+                                          String carrierSsoId,
+                                          String receiveName,
+                                          String materialName,
+                                          String specification,
+                                          String remark
+    ){
+        DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
+        if(carrierSsoId != null){
+            if(!"null".equals(carrierSsoId) && carrierSsoId != null){
+                mapValue.put("carrierSsoId", carrierSsoId);
+            }
+        }
+        if (receiveName != null && !"null".equals(receiveName)) {
+            mapValue.put("receivName","%" + receiveName + "%");
+        }
+        if (materialName != null && !"".equals(materialName) && !"null".equals(materialName)) {
+            mapValue.put("remark","%" + materialName + "%");
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> report = statisticalReportService.getSaleSteelReport(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData5(apiId, null, report);
+        return success(pageList);
     }
 
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/mapper/StatisticalReportMapper.java

@@ -72,4 +72,8 @@ public interface StatisticalReportMapper {
 
     //查询该组织下厂外-厂内内转统计报表(猫儿寨等)
     List<Map<String, Object>> getOutFactoryInwardList(Map<String, Object> mapValue);
+
+    //查询销售钢材统计报表
+    List<Map<String, Object>> getSaleSteelReport(Map<String, Object> mapValue);
+
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/service/IStatisticalReportService.java

@@ -68,5 +68,7 @@ public interface IStatisticalReportService {
     List<Map<String,Object>> getInwardInFactory(Map<String,Object> map);
 
     List<Map<String, Object>> getOutFactoryInwardList(Map<String, Object> mapValue);
+
+    List<Map<String, Object>> getSaleSteelReport(Map<String, Object> mapValue);
 }
 

+ 6 - 0
src/main/java/com/steerinfo/dil/service/impl/StatisticalReportImpl.java

@@ -249,4 +249,10 @@ public class StatisticalReportImpl implements IStatisticalReportService {
     public List<Map<String, Object>> getOutFactoryInwardList(Map<String, Object> mapValue) {
         return statisticalReportMapper.getOutFactoryInwardList(mapValue);
     }
+
+
+    @Override
+    public List<Map<String, Object>> getSaleSteelReport(Map<String, Object> mapValue) {
+        return statisticalReportMapper.getSaleSteelReport(mapValue);
+    }
 }

+ 1 - 1
src/main/resources/application-prod.yml

@@ -26,7 +26,7 @@ piction:
 #feign设置
 openfeign:
   ColumnDataFeign:
-    url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
+    url: ${COLUMNDATAFEIGN_URL:172.16.33.161:8083}
   BmsShipFeign:
     url: ${BMSSHIPFEIGN_URL:172.16.33.166:8078}
   BmsTruckFeign:

+ 3 - 3
src/main/resources/bootstrap.yml

@@ -17,11 +17,11 @@ eureka:
   client:
     service-url:
       defaultZone: http://root:root@${EUREKA_HOST:172.16.33.166}:${EUREKA_PORT:8081}/eureka/
-    register-with-eureka: true #表示向EurekaServer注册自己 默认为true
-    fetch-registry: true #是否从EurekaServer抓取已有的注册信息,默认为true,单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
+    register-with-eureka: false #表示向EurekaServer注册自己 默认为true
+    fetch-registry: false #是否从EurekaServer抓取已有的注册信息,默认为true,单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
 
   instance:
-    prefer-ip-address: true
+    prefer-ip-address: false
     status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/swagger-ui.html#/
     instance-id: ${spring.cloud.client.ip-address}:${server.port}
 

+ 154 - 2
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -374,6 +374,8 @@
         on ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
         left join AMS_SALE_MATERIAL ASM
         on ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+        left join RMS_MATERIAL RM
+        on ASM.MATERIAL_ID = RM.MATERIAL_ID
         left join AMS_DISPATCH_SALE_ORDER ADSO
         on ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
         left join RMS_CARRIER RC2
@@ -403,8 +405,8 @@
         on RGOUT.GATEPOST_ID = TLFR.GATEPOST_ID
         left join RMS_CAPACITY RC
         on RC.CAPACITY_ID = OO.CAPACITY_ID
-        left join RMS_MATERIAL RM
-        on RM.MATERIAL_ID = TWR.MATERIAL_ID
+--         left join RMS_MATERIAL RM
+--         on RM.MATERIAL_ID = TWR.MATERIAL_ID
         left join TMSTRUCK_ARRIVAL_RESULT TAR
         on TAR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
         left join TMStRUCK_RECEIPT_RESULT TRR
@@ -1850,5 +1852,155 @@
         </if>
         )
     </select>
+    <select id="getSaleSteelReport" resultType="java.util.Map" parameterType="java.util.Map">
+       SELECT * FROM (
+             SELECT distinct OO.ORDER_ID "orderId",
+                    ASO.SALE_ORDER_ID "saleOrderId",
+                    ASO.SALE_NUMBER "saleOrderNo",
+                    RC.CONSIGNEE_COMPANY_NAME "consigneeName",
+                    ASOM.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
+                    RS.SHIPPER_NAME "shipperName",
+                    RCA.CAPACITY_NUMBER "capacityNo",
+                    ASOM.SALE_ORDER_MATERIAL_TRUCK_NO "truckNo",
+                    ASOM.SALE_ORDER_CONSIGNEE_TEL "consigneeTel",
+                    ASO.SALE_ORDER_ISSELF_MENTION "isSelfMention",
+                    RSR.SALER_NAME "saler",
+                    RM.MATERIAL_NAME || RM.MATERIAL_MODEL "materialName",
+                    RM.MATERIAL_SPECIFICATION "materialSpe",
+                    ASM.EAS_PRIMARY_ID "easPrimary",
+                    R_CARRIER.CARRIER_ABBREVIATION "carrierName",
+                    OO.ORDER_NUMBER "orderNo",
+                    RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+                    RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS "addressPlace",
+                    OO.ORDER_LINE_SEQUENCE "lineSqe",
+                    TWR.RESULT_GROSS_WEIGHT "grossWeight",
+                    TWR.RESULT_GROSS_WEIGHT_TIME "grossWeightTime",
+                    TWR.RESULT_TARE_WEIGHT       "tareWeight",
+                    TWR.RESULT_TARE_WEIGHT_TIME  "tareWeightTime",
+                    TWR.RESULT_NET_WEIGHT        "netWeight",
+                    TLR.RESULT_LOAD_END_TIME     "loadTime",
+                    TLFR.RESULT_OUT_GATE_TIME    "outGateTime",
+                    TER.RESULT_ENTRY_GATE_TIME   "entryGateTime",
+                    TAR.RESULT_ARRIVAL_ADDRESS "arrivalAddress",
+                    TRR.RESULT_ARRIVAL_ADDRESS "receiptAddress",
+                    ASOM.SALE_DATE_OF_RECEIPT   "saleDateReceipt",
+                    DECODE(ASO.SALE_ORDER_STATUS,0,'销售订单未上报',
+                                                 1,'销售订单已上报',
+                                                 2,'销售已提交',
+                                                 4,'财务已审批') "saleOrderStatus",
+                    DECODE(OO.ORDER_STATUS, 4, '运单未接收',
+                                            5, '运单已接收',
+                                            2, '运单已完成',
+                                            6, '运单被拒绝',
+                                            null, '运单未派发') "orderStatus"
+                    FROM AMS_SALE_ORDER ASO
+                    LEFT JOIN RMS_CONSIGNEE RC
+                    ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+                    LEFT JOIN RMS_SHIPPER RS
+                              ON RS.SHIPPER_ID = ASO.SHIPPER_ID
+                    LEFT JOIN RMS_SALER RSR
+                              ON RSR.SALER_ID = ASO.SALER_ID
+                    LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                              ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+                    LEFT JOIN RMS_RECEIVE_PLACE RRP
+                              ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+                    LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+                              ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+                    LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+                              ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                    LEFT JOIN RMS_CARRIER R_CARRIER
+                              ON R_CARRIER.CARRIER_ID = ADSO.CARRIER_ID
+                    LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+                              ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                    LEFT JOIN AMS_SALE_MATERIAL ASM
+                              ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+                    LEFT JOIN RMS_MATERIAL RM
+                              ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+                    LEFT JOIN OMSTRUCK_ORDER OO
+                              ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                    LEFT JOIN RMS_CAPACITY RCA
+                              ON RCA.CAPACITY_ID = OO.CAPACITY_ID
+                    LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                              ON TTR.ORDER_ID = OO.ORDER_ID
+                    LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER
+                              ON TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                    LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+                              ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                                  AND TWR.MATERIAL_ID = RM.MATERIAL_ID
+                    LEFT JOIN TMSTRUCK_LOAD_RESULT TLR
+                              ON TLR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                                  AND TLR.MATERIAL_ID = RM.MATERIAL_ID
+                    LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
+                              ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                    LEFT JOIN TMSTRUCK_ARRIVAL_RESULT TAR
+                              ON TAR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                    LEFT JOIN TMStRUCK_RECEIPT_RESULT TRR
+                              ON TTR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+                    WHERE ASO.SALE_TYPE = 1
+                          AND ASO.DELETED = 0
+                    <if test="oneDate != null">
+                        and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt; = ASOM.SALE_DATE_OF_RECEIPT
+                    </if>
+                    <if test="carrierSsoId != null">
+                        and R_CARRIER.CARRIER_SSO_ID = #{carrierSsoId}
+                    </if>
+                    <if test="startDate != null">
+                        and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;=  ASOM.SALE_DATE_OF_RECEIPT
+                        and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >=  ASOM.SALE_DATE_OF_RECEIPT
+                    </if>
+                    order by ASO.SALE_ORDER_ID DESC, OO.ORDER_ID  DESC
+                     )
+                    <where>
+                        <if test="materialName != null">
+                            and
+                            <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                                "materialName" like '%${item}%'
+                            </foreach>
+                        </if>
+                        <if test="materialSpe != null">
+                            and
+                            <foreach collection="materialSpe" item="item" open="(" separator="or" close=")">
+                                "materialSpe" like '%${item}%'
+                            </foreach>
+                        </if>
+                        <if test="capacityNo != null">
+                            and
+                            <foreach collection="capacityNo" item="item" open="(" separator="or" close=")">
+                                "capacityNo" like '%${item}%'
+                            </foreach>
+                        </if>
+                        <if test="saler != null">
+                            and
+                            <foreach collection="saler" item="item" open="(" separator="or" close=")">
+                                "saler" like '%${item}%'
+                            </foreach>
+                        </if>
+                        <if test="consigneeName != null">
+                            and
+                            <foreach collection="consigneeName" item="item" open="(" separator="or" close=")">
+                                "consigneeName" like '%${item}%'
+                            </foreach>
+                        </if>
+                        <if test="carrierName != null">
+                            and
+                            <foreach collection="carrierName" item="item" open="(" separator="or" close=")">
+                                "carrierName" like '%${item}%'
+                            </foreach>
+                        </if>
+                        <if test="orderStatus != null">
+                            and
+                            <foreach collection="orderStatus" item="item" open="(" separator="or" close=")">
+                                "orderStatus" like '%${item}%'
+                            </foreach>
+                        </if>
+                        <if test="saleOrderStatus != null">
+                            and
+                            <foreach collection="saleOrderStatus" item="item" open="(" separator="or" close=")">
+                                "saleOrderStatus" like '%${item}%'
+                            </foreach>
+                        </if>
+                    </where>
+
+    </select>
 
 </mapper>