zx 2 лет назад
Родитель
Сommit
96f289e2a8

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

@@ -684,4 +684,57 @@ public class StatisticalReportController extends BaseRESTfulController {
         return success(report);
     }
 
+
+
+    @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("/getInwardSaleSteelReport")
+    public RESTfulResult getInwardSaleSteelReport(@RequestBody(required=false) Map<String,Object> map,
+                                            String startTime,
+                                            String endTime,
+                                            String carrierSsoId,
+                                            String receiveName,
+                                            String materialName,
+                                            String specification,
+                                            String remark,
+                                            String capacityNo,
+                                            String carrierName,
+                                            String consigneeName,
+                                            String saler
+    ){
+        DataChange.queryDataByDateTimeYestDay(startTime, endTime, map, sdfDateTime);//根据时间段查询数据
+        if(carrierSsoId != null){
+            if(!"null".equals(carrierSsoId) && carrierSsoId != null){
+                map.put("carrierSsoId", carrierSsoId);
+            }
+        }
+        if (receiveName != null && !"null".equals(receiveName)) {
+            map.put("receivName","%" + receiveName + "%");
+        }
+        if (remark != null && !"".equals(remark) && !"null".equals(remark)) {
+            map.put("remark","%" + remark + "%");
+        }
+        if (capacityNo != null && !"".equals(capacityNo) && !"null".equals(capacityNo)) {
+            map.put("capacityNum","%" + capacityNo + "%");
+        }
+        if (carrierName != null && !"".equals(carrierName) && !"null".equals(carrierName)) {
+            map.put("carrierNames","%" + carrierName + "%");
+        }
+        if (consigneeName != null && !"".equals(consigneeName) && !"null".equals(consigneeName)) {
+            map.put("consigneeNames","%" + consigneeName + "%");
+        }
+        if (saler != null && !"".equals(saler) && !"null".equals(saler)) {
+            map.put("salers",saler);
+        }
+        //分页数据
+        List<Map<String, Object>> report = statisticalReportService.getInwardSaleSteelReport(map);
+        return success(report);
+    }
+
 }

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

@@ -76,4 +76,5 @@ public interface StatisticalReportMapper {
     //查询销售钢材统计报表
     List<Map<String, Object>> getSaleSteelReport(Map<String, Object> mapValue);
 
+    List<Map<String, Object>> getInwardSaleSteelReport(Map<String, Object> map);
 }

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

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

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

@@ -256,4 +256,9 @@ public class StatisticalReportImpl implements IStatisticalReportService {
         List<Map<String, Object>> saleSteelReport = statisticalReportMapper.getSaleSteelReport(mapValue);
         return saleSteelReport;
     }
+
+    @Override
+    public List<Map<String, Object>> getInwardSaleSteelReport(Map<String, Object> map) {
+        return statisticalReportMapper.getInwardSaleSteelReport(map);
+    }
 }

+ 16 - 0
src/main/java/com/steerinfo/dil/util/DataChange.java

@@ -187,6 +187,22 @@ public class DataChange {
         return sb.toString();
     }
 
+    public static String generateEightDigitsNumber(String start, Integer id,String pot){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        StringBuilder sb = new StringBuilder(start + pot + sdf.format(new Date()) + pot);
+        sb.append(
+                id < 10
+                        ? "0000000" + id : id < 100
+                        ? "000000" + id : id < 1000
+                        ? "00000" + id : id < 10000
+                        ? "0000" + id : id < 100000
+                        ? "000" + id : id < 1000000
+                        ? "00" + id : id < 10000000
+                        ? "0" + id : id.toString()
+        );
+        return sb.toString();
+    }
+
     /**
      * 根据时间段查询数据 支持只选择单个时间
      * @Author TXF

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

@@ -2,8 +2,8 @@
 spring:
   datasource:
     url: jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri
-    password: Dil123789
-    username: dil
+    password: root123
+    username: dagang
 
     driver-class-name: oracle.jdbc.OracleDriver
   application:

+ 194 - 0
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -2059,5 +2059,199 @@
                     order by ASO.SALE_ORDER_ID DESC, OO.ORDER_ID  DESC
                      )
     </select>
+    <select id="getInwardSaleSteelReport" resultType="java.util.Map" parameterType="java.util.Map">
+        --钢材报表
+        SELECT distinct OO.ORDER_ID "orderId",
+                        ASO.SALE_ORDER_ID "saleOrderId",
+                        ASO.SALE_NUMBER "saleOrderNo",
+                        ASM.SALE_MATERIAL_ID "saleMaterialId",
+                        ASM.MATERIAL_NUMBER "materialNum",
+                        ASM.EAS_PRIMARY_ID "closeEntryId",
+                        ASM.DELETED "deletedStatus",
+                        RC.CONSIGNEE_COMPANY_NAME "consigneeName",
+                        ASOM.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
+                        RS.SHIPPER_NAME "shipperName",
+                        RCA.CAPACITY_NUMBER "capacityNo",
+                        NVL(OO.CAPACITY_ID,0)  "capacityIds",
+                        OO.CAPACITY_ID "capacityId",
+                        ASOM.SALE_ORDER_MATERIAL_TRUCK_NO "truckNo",
+                        ASOM.SALE_ORDER_CONSIGNEE_TEL "consigneeTel",
+                        OO.ORDER_LINE_SEQUENCE "lineSequence",
+                        ASO.SALE_ORDER_ISSELF_MENTION "isSelfMention",
+                        RSR.SALER_NAME "saler",
+                        RM.MATERIAL_ID  "materialId",
+                        RM.MATERIAL_NAME  "materialName",
+                        RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "materialSpe",
+                        R_CARRIER.CARRIER_ABBREVIATION "carrierName",
+                        OO.ORDER_NUMBER "orderNo",
+                        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+                        RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS "addressPlace",
+                        RRP.PLACE_ID "placeId",
+                        RRP.ADDRESS_DELIVERY_ADDRESS "place",
+                        RRA.ADDRESS_ID "shipperAddressId",
+                        RRA.ADDRESS_PROVINCE "addressProvince",
+                        RRA.ADDRESS_DISTRICT "addressDistrict",
+                        RRA.ADDRESS_TOWN "addressTown",
+                        OO.ORDER_LINE_SEQUENCE "lineSqe",
+                        OO.DRIVER_TEL "capacityTel",
+                        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",
+                        R_CARRIER.CARRIER_ID        "carrierId",
+                        NVL(R_CARRIER.CARRIER_ID,0) "carrierIds",
+                        OO.ORDER_STATUS              "carStatus",
+                        TPAR.SEND_STATION_ID "sendStationId",
+                        RAS.ARRIVAL_NAME "sendStation",
+                        DECODE(ASO.SALE_ORDER_STATUS,1,'销售订单已上报',
+                               2,'销售已提交',
+                               4,'财务已审批',
+                               0,'销售订单未上报') "saleOrderStatus",
+                        DECODE(OO.ORDER_STATUS || NVL(OO.ORDER_LINE_SEQUENCE, 0),
+                               40,
+                               '运单未接收',
+                               50,
+                               '运单已接收',
+                               25,
+                               '运单已完成',
+                               28,
+                               '运单已完成',
+                               211,
+                               '运单已完成',
+                               214,
+                               '运单已完成',
+                               217,
+                               '运单已完成',
+                               220,
+                               '运单已完成',
+                               223,
+                               '运单已完成',
+                               226,
+                               '运单已完成',
+                               229,
+                               '运单已完成',
+                               232,
+                               '运单已完成',
+                               60,
+                               '运单被拒绝',
+                               70,
+                               '运单已关闭',
+                               71,
+                               '运单已关闭',
+                               72,
+                               '运单已关闭',
+                               73,
+                               '运单已关闭',
+                               74,
+                               '运单已关闭',
+                               75,
+                               '运单已关闭',
+                               76,
+                               '运单已关闭',
+                               77,
+                               '运单已关闭',
+                               78,
+                               '运单已关闭',
+                               79,
+                               '运单已关闭',
+                               710,
+                               '运单已关闭',
+                               711,
+                               '运单已关闭',
+                               712,
+                               '运单已关闭',
+                               80,
+                               '运单已关闭',
+                               81,
+                               '运单已关闭',
+                               82,
+                               '运单已关闭',
+                               83,
+                               '运单已关闭',
+                               60,
+                               '运单被拒绝',
+                               0,
+                               '运单未派发',
+                               '运单作业中') "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 =ASO.SALE_ORDER_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
+                 LEFT JOIN TMSTRAIN_PLEASE_APPROVE_RESULT TPAR
+                           ON TPAR.RAIL_PLAN_ID = ASO.SALE_ORDER_ID
+                 LEFT JOIN RMSTRAIN_ARRIVAL_SEND RAS
+                           ON RAS.ARRIVAL_ID=TPAR.SEND_STATION_ID
+        WHERE aso.SALE_TYPE = 4
+        AND ASO.DELETED = 0
+        <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>
+        <if test="remark != null" >
+            and RSR.SALER_NAME || RCA.CAPACITY_NUMBER || RC.CONSIGNEE_COMPANY_NAME || R_CARRIER.CARRIER_ABBREVIATION || RM.MATERIAL_NAME || RM.MATERIAL_MODEL || RM.MATERIAL_SPECIFICATION LIKE #{remark}
+        </if>
+        <if test="salers != null">
+            and RSR.SALER_NAME = #{salers}
+        </if>
+        <if test="capacityNum != null">
+            and  RCA.CAPACITY_NUMBER like #{capacityNum}
+        </if>
+        <if test="consigneeNames != null">
+            and RC.CONSIGNEE_COMPANY_NAME like #{consigneeNames}
+        </if>
+        <if test="carrierNames != null">
+            and R_CARRIER.CARRIER_ABBREVIATION like #{carrierNames}
+        </if>
+        order by ASO.SALE_ORDER_ID DESC, OO.ORDER_ID  DESC
+    </select>
 
 </mapper>