Ver Fonte

新增内部订单查询-->交收成交查询

xie.kaifeng há 1 ano atrás
pai
commit
cf09e44ff4

+ 24 - 0
mtp3-century/src/main/java/com/muchinfo/mtp3century/controller/QueryController.java

@@ -287,4 +287,28 @@ public class QueryController {
     public AjaxResult<DeliveryOrderDetailResult> deliveryOrderDetail(String deliveryorderid, String histradedate, HttpServletRequest request) {
         return iQueryService.deliveryOrderDetail(deliveryorderid, histradedate, request);
     }
+
+    @RequestMapping(method = RequestMethod.GET, value = "/querySettlementDeal")
+    @ResponseBody
+    @ApiOperation("内部订单查询--> 交收成交 --> 获取列表 ")
+    @ApiResponse(code = 200, message = "成功", response = PageResult.class)
+    public PageResult<SettlementDealResult> querySettlementDeal(SettlementDealParam param, HttpServletRequest request) {
+        return iQueryService.querySettlementDeal(param, request);
+    }
+
+    @RequestMapping(method = RequestMethod.GET, value = "/settlementDealDetail")
+    @ResponseBody
+    @ApiOperation("内部订单查询--> 交收成交 --> 交收成交详情 ")
+    @ApiResponse(code = 200, message = "成功", response = PageResult.class)
+    public AjaxResult<SettlementDealDetailResult> settlementDealDetail(SettlementDealDetailParam param, HttpServletRequest request) {
+        return iQueryService.settlementDealDetail(param, request);
+    }
+
+    @RequestMapping(method = RequestMethod.GET, value = "/applyOrderDetail")
+    @ResponseBody
+    @ApiOperation("内部订单查询--> 交收成交 --> 交收成交详情 --> 申报式委托单详情")
+    @ApiResponse(code = 200, message = "成功", response = PageResult.class)
+    public AjaxResult<ApplyOrderDetailResult> applyOrderDetail(String deliveryorderid ,String histradedate, HttpServletRequest request) {
+        return iQueryService.applyOrderDetail(deliveryorderid,histradedate, request);
+    }
 }

+ 6 - 0
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/IQueryService.java

@@ -85,4 +85,10 @@ public interface IQueryService {
     AjaxResult<DeliveryOrderWrsResult> queryWRStandard(DeliveryOrderWrsParam param, HttpServletRequest request);
 
     AjaxResult<DeliveryOrderDetailResult> deliveryOrderDetail(String deliveryorderid, String histradedate, HttpServletRequest request);
+
+    PageResult<SettlementDealResult> querySettlementDeal(SettlementDealParam param, HttpServletRequest request);
+
+    AjaxResult<SettlementDealDetailResult> settlementDealDetail(SettlementDealDetailParam param, HttpServletRequest request);
+
+    AjaxResult<ApplyOrderDetailResult> applyOrderDetail(String deliveryorderid, String histradedate, HttpServletRequest request);
 }

+ 97 - 10
mtp3-century/src/main/java/com/muchinfo/mtp3century/service/impl/QueryServiceImpl.java

@@ -847,13 +847,13 @@ public class QueryServiceImpl implements IQueryService {
 
     @Override
     public PageResult<WarehouseSumResult> warehouseSum(WarehouseSumParam param, HttpServletRequest request) {
-        if(StringUtils.isNotBlank(param.getWrsids())){
+        if (StringUtils.isNotBlank(param.getWrsids())) {
             List<Long> wrstandardids = Arrays.stream(param.getWrsids().split(","))
                     .filter(s -> !s.trim().isEmpty())
                     .map(Long::valueOf).collect(Collectors.toList());
             param.setWrstandardids(wrstandardids);
         }
-        if(StringUtils.isNotBlank(param.getWareids())){
+        if (StringUtils.isNotBlank(param.getWareids())) {
             List<Long> warehouseids = Arrays.stream(param.getWareids().split(","))
                     .filter(s -> !s.trim().isEmpty())
                     .map(Long::valueOf).collect(Collectors.toList());
@@ -879,7 +879,7 @@ public class QueryServiceImpl implements IQueryService {
     @Override
     public PageResult<WarehouseSumDetailResult> summaryQueryDetail(WarehouseSumDetailParam param, HttpServletRequest request) {
         Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
-        if(StringUtils.isNotBlank(param.getIds())){
+        if (StringUtils.isNotBlank(param.getIds())) {
             List<Long> longList = Arrays.stream(param.getIds().split(","))
                     .filter(s -> !s.trim().isEmpty())
                     .map(Long::valueOf).collect(Collectors.toList());
@@ -1043,7 +1043,7 @@ public class QueryServiceImpl implements IQueryService {
         Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
         OrganSelectParam vo = new OrganSelectParam();
         vo.setUsertype("2");
-        Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid",systemmanager.getAreauserid()));
+        Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", systemmanager.getAreauserid()));
         vo.setSubarealevelpath(ua.getSubarealevelpath());
         return iCommonService.queryOrganSelect(vo, request);
     }
@@ -1051,7 +1051,7 @@ public class QueryServiceImpl implements IQueryService {
     @Override
     public PageResult<TradeSumQueryResult> queryTradeSum(TradeSumQueryParam param, HttpServletRequest request) {
         IPage<TradeSumQueryResult> page = new Page<>(param.getPageNum(), param.getPageSize());
-        IPage<TradeSumQueryResult> resultIPage =  iTradeOrderdetailMapper.queryTradeSum(page,param);
+        IPage<TradeSumQueryResult> resultIPage = iTradeOrderdetailMapper.queryTradeSum(page, param);
         PageResult<TradeSumQueryResult> pageResult = new PageResult<>();
         pageResult.setCode(Constants.Success_Code_Design);
         pageResult.setMessage(AjaxResult.dealMsg(MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language")));
@@ -1066,7 +1066,7 @@ public class QueryServiceImpl implements IQueryService {
     @Override
     public AjaxResult exportTradeSum(TradeSumQueryParam param, HttpServletRequest request) {
         try {
-            List<TradeSumQueryResult> results = iTradeOrderdetailMapper.queryTradeSum(param);;
+            List<TradeSumQueryResult> results = iTradeOrderdetailMapper.queryTradeSum(param);
             String fileName = "成交汇总_" + DateTimeUtils.getDateTime("yyyyMMdd");
             if (CollectionUtils.isEmpty(results)) {
                 return AjaxResult.error(Constants.Error_Code_Design, MessageType.QUERY_ERROR_CODE_005.getCode(), request.getHeader("Accept-Language"));
@@ -1082,7 +1082,7 @@ public class QueryServiceImpl implements IQueryService {
     @Override
     public PageResult<DeliveryOrderEntrustResult> queryDeliveryOrder(DeliveryOrderEntrustParam param, HttpServletRequest request) {
         IPage<DeliveryOrderEntrustResult> page = new Page<>(param.getPageNum(), param.getPageSize());
-        IPage<DeliveryOrderEntrustResult> resultIPage = iTradeOrderdetailMapper.queryDeliveryOrder(page,param);
+        IPage<DeliveryOrderEntrustResult> resultIPage = iTradeOrderdetailMapper.queryDeliveryOrder(page, param);
         PageResult<DeliveryOrderEntrustResult> pageResult = new PageResult<>();
         pageResult.setCode(Constants.Success_Code_Design);
         pageResult.setMessage(AjaxResult.dealMsg(MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language")));
@@ -1097,18 +1097,105 @@ public class QueryServiceImpl implements IQueryService {
     @Override
     public AjaxResult<DeliveryOrderWrsResult> queryWRStandard(DeliveryOrderWrsParam param, HttpServletRequest request) {
         param.setIsvalid(1);
-        List<DeliveryOrderWrsResult> results =  iWrstandardMapper.queryWRStandard(param);
+        List<DeliveryOrderWrsResult> results = iWrstandardMapper.queryWRStandard(param);
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), results);
     }
 
     @Override
     public AjaxResult<DeliveryOrderDetailResult> deliveryOrderDetail(String deliveryorderid, String histradedate, HttpServletRequest request) {
-        DeliveryOrderDetailResult deliveryOrderParam = iTradeOrderdetailMapper.queryDeliveryOrderById(deliveryorderid,histradedate);
-        List<Wrfactortypeitem> list =  iTradeOrderdetailMapper.queryWRFactorTypeItemNew(deliveryOrderParam.getWrfactortypeid());
+        DeliveryOrderDetailResult deliveryOrderParam = iTradeOrderdetailMapper.queryDeliveryOrderById(deliveryorderid, histradedate);
+        List<Wrfactortypeitem> list = iTradeOrderdetailMapper.queryWRFactorTypeItemNew(deliveryOrderParam.getWrfactortypeid());
         deliveryOrderParam.setWrFactorTypeItemList(list);
         return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), deliveryOrderParam);
     }
 
+    @Override
+    public PageResult<SettlementDealResult> querySettlementDeal(SettlementDealParam param, HttpServletRequest request) {
+        Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
+        if (systemmanager.getReletype() != 1) {
+            param.setUserid(systemmanager.getAreauserid());
+        }
+        //平台只查主单
+        if (systemmanager.getReletype() == 1) {
+            param.setMainorderflag(1);
+        }
+        IPage<SettlementDealResult> page = new Page<>(param.getPageNum(), param.getPageSize());
+        IPage<SettlementDealResult> resultIPage = iTradeOrderdetailMapper.querySettlementDeal(page, param);
+        PageResult<SettlementDealResult> pageResult = new PageResult<>();
+        pageResult.setCode(Constants.Success_Code_Design);
+        resultIPage.getRecords().forEach(a -> {
+            a.setMatchaccountname(iUseraccountMapper.selectUserName(a.getMatchaccountid()));
+            a.setAccountname(iUseraccountMapper.selectUserName(a.getAccountid()));
+        });
+        pageResult.setMessage(AjaxResult.dealMsg(MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language")));
+        pageResult.setPages(resultIPage.getPages());
+        pageResult.setCurrent(resultIPage.getCurrent());
+        pageResult.setTotal(resultIPage.getTotal());
+        pageResult.setPageSize(resultIPage.getSize());
+        pageResult.setData(resultIPage.getRecords());
+        return pageResult;
+    }
+
+    @Override
+    public AjaxResult<SettlementDealDetailResult> settlementDealDetail(SettlementDealDetailParam param, HttpServletRequest request) {
+        Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
+        if (iCommonService.checkUserAccountRole(systemmanager, systemmanager.getAreauserid())) {
+            return AjaxResult.error(Constants.Error_Code_Design, MessageType.MESSAGE_ERROR_CODE_SYSTEM003.getCode(), request.getHeader("Accept-Language"));
+        }
+        SettlementDealDetailResult result = iTradeOrderdetailMapper.settlementDealDetail(param);
+        List<Wrfactortypeitem> list = iTradeOrderdetailMapper.queryWRFactorTypeItemNew(result.getWrfactortypeid());
+        result.setWrFactorTypeItemList(list);
+        result.setMatchaccountname(iUseraccountMapper.selectUserName(result.getMatchaccountid()));
+        result.setAccountname(iUseraccountMapper.selectUserName(result.getAccountid()));
+        String sysparm089 = iCommonService.getSysparmById(SysConstants.SYPAMAM_CODE_ZHONGJIANG);
+        if (StringUtils.isNotBlank(sysparm089)) {
+            result.setIszhongjiang(sysparm089);
+        } else {
+            result.setIszhongjiang("1");
+        }
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), result);
+    }
+
+    @Override
+    public AjaxResult<ApplyOrderDetailResult> applyOrderDetail(String deliveryorderid, String histradedate, HttpServletRequest request) {
+        Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
+        ApplyOrderDetailResult result;
+        List<DeliveryDetailResult> detailResult = new ArrayList<>();
+        String sellId = null;
+        String buyId = null;
+        if (StringUtils.isNotBlank(histradedate)) {
+            result = iTradeOrderdetailMapper.applyOrderDetailHis(deliveryorderid);
+            if (result.getBuyorsell() == 0) {
+                buyId = result.getDeliveryapplyorderid();
+            } else {
+                sellId = result.getDeliveryapplyorderid();
+            }
+            detailResult = iTradeOrderdetailMapper.getHisDeliveryDetailByBuyOrSellOrderId(sellId, buyId, result.getBuyorsell());
+            detailResult.forEach(a -> {
+                a.setMatchaccountname(iUseraccountMapper.selectUserName(a.getMatchaccountid()));
+                a.setAccountname(iUseraccountMapper.selectUserName(a.getAccountid()));
+            });
+        } else {
+            result = iTradeOrderdetailMapper.applyOrderDetail(deliveryorderid);
+            if (result.getBuyorsell() == 0) {
+                buyId = result.getDeliveryapplyorderid();
+            } else {
+                sellId = result.getDeliveryapplyorderid();
+            }
+            detailResult = iTradeOrderdetailMapper.getDeliveryDetailByBuyOrSellOrderId(sellId, buyId, result.getBuyorsell());
+            detailResult.forEach(a -> {
+                a.setMatchaccountname(iUseraccountMapper.selectUserName(a.getMatchaccountid()));
+                a.setAccountname(iUseraccountMapper.selectUserName(a.getAccountid()));
+            });
+        }
+        result.setAccountname(iUseraccountMapper.selectUserName(result.getAccountid()));
+        result.setDeliveryIds(detailResult);
+        if (iCommonService.checkTaaccountReport(systemmanager, result.getAccountid())) {
+            return AjaxResult.error(Constants.Error_Code_Design, MessageType.QUERY_ERROR_CODE_004.getCode(), request.getHeader("Accept-Language"));
+        }
+        return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), result);
+    }
+
     private void getPerformanceTemplateById(WarehouseCommissionResultDetail dto) {
         Performanceplantemplate plantemplate = iPerformanceplantemplateMapper.selectOne(
                 new QueryWrapper<Performanceplantemplate>().eq("autoid", dto.getWrTradeOrderDetail().getPerformancetemplateid()));

+ 444 - 15
mtp3-century/src/main/resources/mapper/TradeOrderdetailMapper.xml

@@ -1346,12 +1346,12 @@
 
     <select id="queryTradeSum" parameterType="com.muchinfo.mtp3pojos.vo.query.tradesum.TradeSumQueryParam"
             resultType="com.muchinfo.mtp3pojos.vo.query.tradesum.TradeSumQueryResult">
-        SELECT T.tradedate,
-        T.ACCOUNTID,
+        SELECT t.tradedate,
+        t.ACCOUNTID,
         t.tradetype,
         ua.userid,
         vlo.LOGINIDS as loginid,
-        T.GOODSID,
+        t.GOODSID,
         t.buyorsell,
         sum(t.tradeqty) as tradeqty,
         sum(t.tradeamount) as tradeamount,
@@ -1367,7 +1367,7 @@
         g.goodscode,
         g.goodsname,
         en.enumdicname as buyorselldisplay
-        FROM his_trade_tradedetail T
+        FROM his_trade_tradedetail t
         left join goods g
         on g.goodsid = t.goodsid
         left join taaccount ta
@@ -1399,9 +1399,9 @@
                 and vlo.LOGINIDS = #{vo.loginid}
             </if>
         </where>
-        group by T.tradedate,
-        T.ACCOUNTID,
-        T.GOODSID,
+        group by t.tradedate,
+        t.ACCOUNTID,
+        t.GOODSID,
         t.tradetype,
         ua.userid,
         t.buyorsell,
@@ -1423,21 +1423,20 @@
                 d.histradedate,
             </when>
         </choose>
-        d.deliveryorderid, d.deliveryticket, d.accountid,u.accountname,d.matchaccountid,
+        d.deliveryorderid, d.deliveryticket, d.accountid,d.matchaccountid,
         d.xgoodsid, d.xdeliveryqty, d.pgoodsid,
         d.pdeliveryqty, d.deliverygoodsid, d.deliveryqty,
         d.deliveryorderstatus, d.ordertime,
         g1.goodsname as xgoodsname,
         g2.goodsname as pgoodsname,
-        dg.deliverygoodsname,
-        wr.wrstandardid, wr.wrstandardcode, wr.wrstandardname, dic.enumdicname unitname,
-        lo.loginids as loginid
+        wr.wrstandardid, wr.wrstandardcode+'/' + wr.wrstandardname as deliverygoodsname, dic.enumdicname unitname,
+        lo.loginids + '/'+ u.accountname as accountidname
         <choose>
             <when test="vo.ishis == null or vo.ishis == 0">
-                from HIS_DELIVERYORDER t
+                from HIS_DELIVERYORDER d
             </when>
             <when test="vo.ishis == 1">
-                from Deliveryorder t
+                from Deliveryorder d
             </when>
         </choose>
         left join goods g1
@@ -1521,10 +1520,10 @@
         dgp5.pricemovedesc as deliverymonthname
         <choose>
             <when test="histradedate != null and histradedate != ''">
-                from HIS_DELIVERYORDER t
+                from HIS_DELIVERYORDER d
             </when>
             <otherwise>
-                from Deliveryorder t
+                from Deliveryorder d
             </otherwise>
         </choose>
         left join goods g1
@@ -1564,4 +1563,434 @@
             </if>
         </where>
     </select>
+
+    <select id="querySettlementDeal"
+            parameterType="com.muchinfo.mtp3pojos.vo.query.deliveryorder.SettlementDealParam"
+            resultType="com.muchinfo.mtp3pojos.vo.query.deliveryorder.SettlementDealResult">
+        select
+        <choose>
+            <when test="vo.ishis == 1">
+                a.histradedate,
+            </when>
+        </choose>
+        a.deliveryid,a.buyorsell,
+        to_char(to_date(a.tradedate,'yyyy-MM-dd'),'yyyy-MM-dd') as tradedate,
+        a.deliveryorderid,a.accountid,
+        a.matchaccountid,a.xgoodsid,b.goodsname as x_goodsname,a.pgoodsid,
+        c.goodsname as p_goodsname,a.deliverygoodsid,
+        a.deliveryqty,a.deliveryprice,a.deliveryamount,a.deliverypricemove,
+        a.deliverycharge,a.buydeliveryapplyorderid,a.selldeliveryapplyorderid,
+        wr.wrstandardid, wr.wrstandardcode + '/' + wr.wrstandardname as deliverygoodsname, dic.enumdicname unitname,
+        lo1.loginids as loginid, lo2.loginids as matchloginid
+        <choose>
+            <when test="vo.ishis == 1">
+                from HIS_Deliverydetail a
+            </when>
+            <otherwise>
+                from Deliverydetail a
+            </otherwise>
+        </choose>
+        left join goods b on a.xgoodsid =b.goodsid
+        left join goods c on a.pgoodsid =c.goodsid
+        left join deliverygoods d on a.deliverygoodsid = d.deliverygoodsid
+        left join wrfactortype wft on a.wrfactortypeid = wft.wrfactortypeid
+        left join wrstandard wr on wft.wrstandardid = wr.wrstandardid
+        left join enumdicitem dic on wr.unitid=dic.enumitemname and dic.enumdiccode = 'goodsunit'
+        left join taaccount ta1 on ta1.accountid = a.accountid
+        left join VIEW_USER_LOGINIDS lo1 on ta1.userid = lo1.userid
+        left join taaccount ta2 on ta2.accountid = a.matchaccountid
+        left join VIEW_USER_LOGINIDS lo2 on ta2.userid = lo2.userid
+        <where>
+            a.deliverystatus in (2,4)  and a.isvaliddata = 1
+            <choose>
+                <when test="vo.ishis == 1">
+                    and a.mainorderflag = 1
+                </when>
+                <otherwise>
+                    <if test="vo.mainorderflag != null">
+                        and a.mainorderflag = #{vo.mainorderflag}
+                    </if>
+                </otherwise>
+            </choose>
+            <if test="vo.deliveryid != null and vo.deliveryid != '' ">
+                and a.deliveryid like '%'||#{vo.deliveryid}||'%'
+            </if>
+            <if test="vo.xgoodsid != null and vo.xgoodsid != '' ">
+                and a.xgoodsid = #{vo.xgoodsid}
+            </if>
+            <if test="vo.tradedate != null and vo.tradedate != '' ">
+                and a.tradedate= #{vo.tradedate}
+            </if>
+            <if test="vo.deliveryorderid != null and vo.deliveryorderid != '' ">
+                and (a.deliveryorderid like '%'||#{vo.deliveryorderid}||'%'
+                or a.buydeliveryapplyorderid like '%'||#{vo.deliveryorderid}||'%'
+                or a.selldeliveryapplyorderid like '%'||#{vo.deliveryorderid}||'%')
+            </if>
+            <if test="vo.wrstandardid != null">
+                and wr.wrstandardid = #{vo.wrstandardid}
+            </if>
+            <if test="vo.accountid != null and vo.accountid != '' ">
+                and (a.accountid = #{vo.accountid} or a.matchaccountid = #{vo.accountid})
+            </if>
+            <if test="vo.startdate != null and vo.startdate != '' and vo.enddate != null and vo.enddate != '' ">
+                and to_date(a.histradedate,'yyyyMMdd') between to_date(#{vo.startdate},'yyyy-MM-dd')
+                and to_date(#{vo.enddate},'yyyy-MM-dd')
+            </if>
+            <if test="vo.userid != null">
+                and ((a.accountid in (select ab.accountid from taaccount ab where ab.userid=#{vo.userid}))
+                or(a.matchaccountid in (select ab.accountid from taaccount ab where ab.userid=#{vo.userid})))
+            </if>
+            <if test="vo.buyorsell != null">
+                and a.buyorsell = #{vo.buyorsell,jdbcType=DECIMAL}
+            </if>
+        </where>
+        order by a.histradedate desc, a.deliveryid desc
+    </select>
+
+
+    <select id="settlementDealDetail" resultType="com.muchinfo.mtp3pojos.vo.query.deliveryorder.SettlementDealDetailResult"
+            parameterType="com.muchinfo.mtp3pojos.vo.query.deliveryorder.SettlementDealDetailParam">
+        select
+        a.deliveryid,
+        a.buyorsell,
+        <choose>
+            <when test="histradedate != null and histradedate != ''">
+                to_char(to_date(a.histradedate,'yyyy-MM-dd'),'yyyy-MM-dd') as histradedate,
+            </when>
+        </choose>
+        to_char(to_date(a.tradedate,'yyyy-MM-dd'),'yyyy-MM-dd') as tradedate,
+        a.deliveryorderid,
+        a.accountid,
+        a.matchaccountid,
+        a.xgoodsid, g1.goodsname as x_goodsname,a.xdeliverycloseqty,a.xdeliveryprice,
+        a.pgoodsid, a.ppricemode, g2.goodsname as p_goodsname,a.pdeliverycloseqty,a.pdeliveryprice,
+        a.p2goodsid, a.p2pricemode, g3.goodsname as p2goodsname,a.p2deliverycloseqty,a.p2deliveryprice,
+        a.deliverygoodsid,d.deliverygoodsname,
+        a.deliverytime,
+        a.deliveryqty,
+        a.deliveryrtradeqty,
+        a.deliveryamount,
+        a.deliverypricemove,
+        a.deliverytotalamount,
+        a.deliveryprice,
+        a.deliverycharge,
+        a.remaintotalamount,
+        a.closeflag,
+        a.deliverystatus,
+        a.handlestatus,
+        a.mainorderflag,
+        a.relatedwrid,
+        a.feealgorithm,
+        a.memberchargevalue,
+        a.exchchargevalue,
+        a.buydeliveryapplyorderid,
+        a.selldeliveryapplyorderid,
+        a.marginalgorithm,
+        a.marginvalue,
+        a.freezemargin,
+        a.takemode,
+        a.receiveraddress,
+        e.enumdicname as deliverygoodsunitname
+        <choose>
+            <when test="histradedate != null and histradedate != ''">
+                dgp1.pricemovedesc as brandname ,
+                dgp2.pricemovedesc as specname ,
+                dgp3.pricemovedesc as qualityname ,
+                dgp4.pricemovedesc as warehousename ,
+                dgp5.pricemovedesc as deliverymonthname,
+                a.wrfactortypeid
+                from his_Deliverydetail a
+                left join goods g1 on a.xgoodsid =g1.goodsid
+                left join goods g2 on a.pgoodsid =g2.goodsid
+                left join goods g3 on a.p2goodsid =g3.goodsid
+                left join deliverygoods d on a.deliverygoodsid = d.deliverygoodsid
+                left join ENUMDICITEM e on e.enumdiccode = 'goodsunit' and e.enumitemname = d.goodsunitid
+                left join deliverygoodspricemove dgp1 on dgp1.autoid = a.brandid
+                left join deliverygoodspricemove dgp2 on dgp2.autoid = a.specid
+                left join deliverygoodspricemove dgp3 on dgp3.autoid = a.qualityid
+                left join deliverygoodspricemove dgp4 on dgp4.autoid = a.warehouseid
+                left join deliverygoodspricemove dgp5 on dgp5.autoid = a.deliverymonthid
+            </when>
+            <otherwise>
+                wft.warehouseid,
+                wi.warehousename as warehousename,
+                a.wrfactortypeid,
+                wr.wrstandardcode,
+                wr.wrstandardname
+                from Deliverydetail a
+                left join goods g1 on a.xgoodsid =g1.goodsid
+                left join goods g2 on a.pgoodsid =g2.goodsid
+                left join goods g3 on a.p2goodsid =g3.goodsid
+                left join deliverygoods d on a.deliverygoodsid = d.deliverygoodsid
+                left join ENUMDICITEM e on e.enumdiccode = 'goodsunit' and e.enumitemname = d.goodsunitid
+                left join wrfactortype wft on a.wrfactortypeid = wft.wrfactortypeid
+                left join wrstandard wr on wr.wrstandardid = wft.wrstandardid
+                left join warehouseinfo wi on wft.warehouseid = wi.autoid
+            </otherwise>
+        </choose>
+        <where>
+            a.deliveryid = #{deliveryid, jdbcType=DECIMAL}
+            and a.buyorsell=#{buyorsell, jdbcType=INTEGER}
+            <if test="vo.histradedate != null">
+                and a.histradedate = #{histradedate}
+                and a.isvaliddata = 1
+            </if>
+        </where>
+    </select>
+
+    <select id="applyOrderDetailHis" resultType="com.muchinfo.mtp3pojos.vo.query.deliveryorder.ApplyOrderDetailResult">
+        SELECT
+        d.deliveryapplyorderid,
+        d.histradedate,
+        d.tradedate,
+        d.accountid,
+        d.buyorsell,
+        d.xgoodsid, d.xdeliveryqty, d.xdeliveryprice,
+        d.pgoodsid, d.pdeliveryqty, d.pdeliveryprice,d.ppricemode,
+        d.p2goodsid, d.p2deliveryqty, d.p2deliveryprice,d.p2pricemode,
+        d.deliverygoodsid, d.deliveryqty,
+        d.applyorderstatus,
+        d.operatetype,d.ordersrc,
+        d.operatorid,d.counterorderid,
+        d.brandid ,
+        d.qualityid ,
+        d.specid ,
+        d.warehouseid ,
+        d.deliverymonthid ,
+        d.isstandard ,
+        d.retcode,
+        d.freezeamount, d.xdeliverytradeqty, d.xdeliverycancelqty,
+        d.validtype, d.validtime,
+        d.pricemove, d.ordertime,
+        g1.goodunitid,
+        g1.goodsname as xgoodsname,
+        g2.goodsname as pgoodsname,
+        g3.goodsname as p2goodsname,
+        dg.deliverygoodsname,
+        dgp1.pricemovedesc as brandname ,
+        dgp2.pricemovedesc as specname ,
+        dgp3.pricemovedesc as qualityname ,
+        dgp4.pricemovedesc as warehousename ,
+        dgp5.pricemovedesc as deliverymonthname,
+        e.enumdicname as deliverygoodsunitname,
+        e2.enumdicname as xgoodsUnitName
+        from HIS_DELIVERYAPPLYORDER d
+        left join goods g1
+        on d.xgoodsid = g1.goodsid
+        left join goods g2
+        on d.pgoodsid = g2.goodsid
+        left join goods g3
+        on d.p2goodsid = g3.goodsid
+        left join deliverygoods dg
+        on d.deliverygoodsid = dg.deliverygoodsid
+        left join ENUMDICITEM e on e.enumdiccode = 'goodsunit' and e.enumitemname = dg.goodsunitid
+        left join ENUMDICITEM e2 on e.enumdiccode = 'goodsunit' and e.enumitemname = g1.goodunitid
+        left join deliverygoodspricemove dgp1 on dgp1.autoid = d.brandid
+        left join deliverygoodspricemove dgp2 on dgp2.autoid = d.specid
+        left join deliverygoodspricemove dgp3 on dgp3.autoid = d.qualityid
+        left join deliverygoodspricemove dgp4 on dgp4.autoid = d.warehouseid
+        left join deliverygoodspricemove dgp5 on dgp5.autoid = d.deliverymonthid
+        <where>
+            d.deliveryapplyorderid = #{deliveryorderid} and d.isvaliddata = 1
+            and d.histradedate = (select max(t1.histradedate) from HIS_DELIVERYAPPLYORDER t1 where t1.deliveryapplyorderid = #{deliveryorderid} and t1.isvaliddata = 1)
+        </where>
+    </select>
+
+    <select id="applyOrderDetail" resultType="com.muchinfo.mtp3pojos.vo.query.deliveryorder.ApplyOrderDetailResult">
+        SELECT
+        d.deliveryapplyorderid,
+        d.tradedate,
+        d.accountid,
+        d.buyorsell,
+        d.xgoodsid, d.xdeliveryqty, d.xdeliveryprice,
+        d.pgoodsid, d.pdeliveryqty, d.pdeliveryprice,d.ppricemode,
+        d.p2goodsid, d.p2deliveryqty, d.p2deliveryprice,d.p2pricemode,
+        d.deliverygoodsid, d.deliveryqty,
+        d.applyorderstatus,
+        d.operatetype,d.ordersrc,
+        d.operatorid,d.counterorderid,
+        d.brandid ,
+        d.qualityid ,
+        d.specid ,
+        d.warehouseid ,
+        d.deliverymonthid ,
+        d.isstandard ,
+        d.retcode,
+        d.freezeamount, d.xdeliverytradeqty, d.xdeliverycancelqty,
+        d.validtype, d.validtime,
+        d.pricemove, d.ordertime,
+        g1.goodunitid,
+        g1.goodsname as xgoodsname,
+        g2.goodsname as pgoodsname,
+        g3.goodsname as p2goodsname,
+        dg.deliverygoodsname,
+        dgp1.pricemovedesc as brandname ,
+        dgp2.pricemovedesc as specname ,
+        dgp3.pricemovedesc as qualityname ,
+        dgp4.pricemovedesc as warehousename ,
+        dgp5.pricemovedesc as deliverymonthname,
+        e.enumdicname as deliverygoodsunitname,
+        e2.enumdicname as xgoodsUnitName
+        from Deliveryapplyorder d
+        left join goods g1
+        on d.xgoodsid = g1.goodsid
+        left join goods g2
+        on d.pgoodsid = g2.goodsid
+        left join goods g3
+        on d.p2goodsid = g3.goodsid
+        left join deliverygoods dg on d.deliverygoodsid = dg.deliverygoodsid
+        left join ENUMDICITEM e on e.enumdiccode = 'goodsunit' and e.enumitemname = dg.goodsunitid
+        left join ENUMDICITEM e2 on e.enumdiccode = 'goodsunit' and e.enumitemname = g1.goodunitid
+        left join deliverygoodspricemove dgp1 on dgp1.autoid = d.brandid
+        left join deliverygoodspricemove dgp2 on dgp2.autoid = d.specid
+        left join deliverygoodspricemove dgp3 on dgp3.autoid = d.qualityid
+        left join deliverygoodspricemove dgp4 on dgp4.autoid = d.warehouseid
+        left join deliverygoodspricemove dgp5 on dgp5.autoid = d.deliverymonthid
+        left join TAACCOUNT ta on d.accountid = ta.accountid
+        <where>
+            d.deliveryapplyorderid = #{deliveryorderid}
+        </where>
+    </select>
+
+    <select id="getHisDeliveryDetailByBuyOrSellOrderId" resultType="com.muchinfo.mtp3pojos.vo.query.deliveryorder.DeliveryDetailResult">
+        select
+        a.deliveryid,
+        a.buyorsell,
+        to_char(to_date(a.histradedate,'yyyy-MM-dd'),'yyyy-MM-dd') as histradedate,
+        to_char(to_date(a.tradedate,'yyyy-MM-dd'),'yyyy-MM-dd') as tradedate,
+        a.deliveryorderid,
+        a.accountid,
+        a.matchaccountid,
+        a.xgoodsid, g1.goodsname as x_goodsname,a.xdeliverycloseqty,a.xdeliveryprice,
+        a.pgoodsid, a.ppricemode, g2.goodsname as p_goodsname,a.pdeliverycloseqty,a.pdeliveryprice,
+        a.p2goodsid, a.p2pricemode, g3.goodsname as p2goodsname,a.p2deliverycloseqty,a.p2deliveryprice,
+        a.deliverygoodsid,d.deliverygoodsname,
+        a.deliverytime,
+        a.deliveryqty,
+        a.deliveryrtradeqty,
+        a.deliveryamount,
+        a.deliverypricemove,
+        a.deliverytotalamount,
+        a.deliveryprice,
+        a.deliverycharge,
+        a.remaintotalamount,
+        a.closeflag,
+        a.deliverystatus,
+        a.handlestatus,
+        a.mainorderflag,
+        a.relatedwrid,
+        a.feealgorithm,
+        a.memberchargevalue,
+        a.exchchargevalue,
+        a.buydeliveryapplyorderid,
+        a.selldeliveryapplyorderid,
+        a.marginalgorithm,
+        a.marginvalue,
+        a.freezemargin,
+        a.takemode,
+        a.receiveraddress,
+        dgp1.pricemovedesc as brandname ,
+        dgp2.pricemovedesc as specname ,
+        dgp3.pricemovedesc as qualityname ,
+        dgp4.pricemovedesc as warehousename ,
+        dgp5.pricemovedesc as deliverymonthname
+        from his_Deliverydetail a
+        left join goods g1 on a.xgoodsid =g1.goodsid
+        left join goods g2 on a.pgoodsid =g2.goodsid
+        left join goods g3 on a.p2goodsid =g3.goodsid
+        left join deliverygoods d on a.deliverygoodsid = d.deliverygoodsid
+        left join deliverygoodspricemove dgp1 on dgp1.autoid = a.brandid
+        left join deliverygoodspricemove dgp2 on dgp2.autoid = a.specid
+        left join deliverygoodspricemove dgp3 on dgp3.autoid = a.qualityid
+        left join deliverygoodspricemove dgp4 on dgp4.autoid = a.warehouseid
+        left join deliverygoodspricemove dgp5 on dgp5.autoid = a.deliverymonthid
+        where a.isvaliddata = 1 and
+        a.histradedate=(
+        select max(histradedate) from his_Deliverydetail
+        <where>
+            <if test="buyId != null">
+                and buydeliveryapplyorderid = #{buyId}
+            </if>
+            and isvaliddata = 1
+            <if test="sellId != null">
+                and selldeliveryapplyorderid = #{sellId}
+            </if>
+        </where>
+        )
+        <if test="buyorsell != null">
+            and a.buyorsell= #{buyorsell}
+        </if>
+        <if test="buyId != null">
+            and a.buydeliveryapplyorderid = #{buyId}
+        </if>
+        <if test="sellId != null">
+            and a.selldeliveryapplyorderid = #{sellId}
+        </if>
+
+    </select>
+
+    <select id="getDeliveryDetailByBuyOrSellOrderId"  resultType="com.muchinfo.mtp3pojos.vo.query.deliveryorder.DeliveryDetailResult">
+        select
+        a.deliveryid,
+        a.buyorsell,
+        to_char(to_date(a.tradedate,'yyyy-MM-dd'),'yyyy-MM-dd') as tradedate,
+        a.deliveryorderid,
+        a.accountid,
+        a.matchaccountid,
+        a.xgoodsid, g1.goodsname as x_goodsname,a.xdeliverycloseqty,a.xdeliveryprice,
+        a.pgoodsid, a.ppricemode, g2.goodsname as p_goodsname,a.pdeliverycloseqty,a.pdeliveryprice,
+        a.p2goodsid, a.p2pricemode, g3.goodsname as p2goodsname,a.p2deliverycloseqty,a.p2deliveryprice,
+        a.deliverygoodsid,d.deliverygoodsname,
+        a.deliverytime,
+        a.deliveryqty,
+        a.deliveryrtradeqty,
+        a.deliveryamount,
+        a.deliverypricemove,
+        a.deliverytotalamount,
+        a.deliveryprice,
+        a.deliverycharge,
+        a.remaintotalamount,
+        a.closeflag,
+        a.deliverystatus,
+        a.handlestatus,
+        a.mainorderflag,
+        a.relatedwrid,
+        a.deliverycharge,
+        a.feealgorithm,
+        a.memberchargevalue,
+        a.exchchargevalue,
+        a.buydeliveryapplyorderid,
+        a.selldeliveryapplyorderid,
+        a.marginalgorithm,
+        a.marginvalue,
+        a.freezemargin,
+        a.takemode,
+        a.receiveraddress,
+        dgp1.pricemovedesc as brandname ,
+        dgp2.pricemovedesc as specname ,
+        dgp3.pricemovedesc as qualityname ,
+        dgp4.pricemovedesc as warehousename ,
+        dgp5.pricemovedesc as deliverymonthname
+        from Deliverydetail a
+        left join goods g1 on a.xgoodsid =g1.goodsid
+        left join goods g2 on a.pgoodsid =g2.goodsid
+        left join goods g3 on a.p2goodsid =g3.goodsid
+        left join deliverygoods d on a.deliverygoodsid = d.deliverygoodsid
+        left join deliverygoodspricemove dgp1 on dgp1.autoid = a.brandid
+        left join deliverygoodspricemove dgp2 on dgp2.autoid = a.specid
+        left join deliverygoodspricemove dgp3 on dgp3.autoid = a.qualityid
+        left join deliverygoodspricemove dgp4 on dgp4.autoid = a.warehouseid
+        left join deliverygoodspricemove dgp5 on dgp5.autoid = a.deliverymonthid
+        <where>
+            <if test="buyorsell != null">
+                and a.buyorsell= #{buyorsell}
+            </if>
+            <if test="buyId != null">
+                and a.buydeliveryapplyorderid = #{buyId}
+            </if>
+            <if test="sellId != null">
+                and a.selldeliveryapplyorderid = #{sellId}
+            </if>
+        </where>
+    </select>
 </mapper>

+ 38 - 28
mtp3-interface/src/main/java/com/muchinfo/mtp3interface/mapper/ITradeOrderdetailMapper.java

@@ -12,9 +12,7 @@ import com.muchinfo.mtp3pojos.vo.query.contract.ContractSheetParam;
 import com.muchinfo.mtp3pojos.vo.query.contract.ContractSheetResult;
 import com.muchinfo.mtp3pojos.vo.query.contract.ContractSheetResultDetail;
 import com.muchinfo.mtp3pojos.vo.query.contract.ContractTradeResult;
-import com.muchinfo.mtp3pojos.vo.query.deliveryorder.DeliveryOrderDetailResult;
-import com.muchinfo.mtp3pojos.vo.query.deliveryorder.DeliveryOrderEntrustParam;
-import com.muchinfo.mtp3pojos.vo.query.deliveryorder.DeliveryOrderEntrustResult;
+import com.muchinfo.mtp3pojos.vo.query.deliveryorder.*;
 import com.muchinfo.mtp3pojos.vo.query.goodstrade.GoodsTradeQueryParam;
 import com.muchinfo.mtp3pojos.vo.query.goodstrade.GoodsTradeQueryResult;
 import com.muchinfo.mtp3pojos.vo.query.investorsum.InvestorSumQueryParam;
@@ -40,59 +38,59 @@ public interface ITradeOrderdetailMapper extends BaseMapper<TradeOrderdetail> {
 
     IPage<CommissionSheetResult> queryCommissionSheet(IPage<CommissionSheetResult> page, @Param("vo") CommissionSheetParam commissionSheetParam);
 
-    IPage<CommissionSheetResult> queryCoinSheet(IPage<CommissionSheetResult> page,@Param("vo") CommissionSheetParam commissionSheetParam);
+    IPage<CommissionSheetResult> queryCoinSheet(IPage<CommissionSheetResult> page, @Param("vo") CommissionSheetParam commissionSheetParam);
 
     List<CommissionSheetResult> queryCommissionSheet(@Param("vo") CommissionSheetParam commissionSheetParam);
 
     List<CommissionSheetResult> queryCoinSheet(@Param("vo") CommissionSheetParam commissionSheetParam);
 
-    CommissionSheetResultDetail commissionSheetQueryDetail(@Param("orderId")String orderId, @Param("isHis") Integer isHis, @Param("tradeDate")String tradeDate);
+    CommissionSheetResultDetail commissionSheetQueryDetail(@Param("orderId") String orderId, @Param("isHis") Integer isHis, @Param("tradeDate") String tradeDate);
 
-    List<TradeResult> queryTradeTradeDetails(@Param("orderId")String orderId);
+    List<TradeResult> queryTradeTradeDetails(@Param("orderId") String orderId);
 
     List<TradeHisResult> queryHisTradeList(@Param("orderId") String orderId);
 
-    IPage<ContractSheetResult> queryContractSheet(IPage<ContractSheetResult> page, @Param("vo")ContractSheetParam contractSheetParam);
+    IPage<ContractSheetResult> queryContractSheet(IPage<ContractSheetResult> page, @Param("vo") ContractSheetParam contractSheetParam);
 
-    List<ContractSheetResult> queryContractSheet(@Param("vo")ContractSheetParam contractSheetParam);
+    List<ContractSheetResult> queryContractSheet(@Param("vo") ContractSheetParam contractSheetParam);
 
-    ContractSheetResultDetail contractSheetQueryDetail(@Param("tradeid")String tradeid, @Param("buyorsell")Integer buyorsell,@Param("ishis") Integer ishis);
+    ContractSheetResultDetail contractSheetQueryDetail(@Param("tradeid") String tradeid, @Param("buyorsell") Integer buyorsell, @Param("ishis") Integer ishis);
 
-    List<ContractTradeResult> queryTradeClose(@Param("tradeid")String tradeid, @Param("buyorsell")Integer buyorsell,@Param("ishis") Integer ishis);
+    List<ContractTradeResult> queryTradeClose(@Param("tradeid") String tradeid, @Param("buyorsell") Integer buyorsell, @Param("ishis") Integer ishis);
 
     String selectMemberUserName(@Param("accountid") Long accountid);
 
-    IPage<PositionSheetResult> queryTradeHolderDetailList(IPage<PositionSheetResult> page, @Param("vo")PositionSheetParam param);
+    IPage<PositionSheetResult> queryTradeHolderDetailList(IPage<PositionSheetResult> page, @Param("vo") PositionSheetParam param);
 
-    IPage<PositionSheetResult> queryHisTradeHolderDetaileList(IPage<PositionSheetResult> page, @Param("vo")PositionSheetParam param);
+    IPage<PositionSheetResult> queryHisTradeHolderDetaileList(IPage<PositionSheetResult> page, @Param("vo") PositionSheetParam param);
 
-    IPage<PositionSheetResult> queryHisTradeHolderDetaileByPage(IPage<PositionSheetResult> page, @Param("vo")PositionSheetParam param);
+    IPage<PositionSheetResult> queryHisTradeHolderDetaileByPage(IPage<PositionSheetResult> page, @Param("vo") PositionSheetParam param);
 
-    List<PositionSheetResult> queryTradeHolderDetailList( @Param("vo")PositionSheetParam param);
+    List<PositionSheetResult> queryTradeHolderDetailList(@Param("vo") PositionSheetParam param);
 
-    List<PositionSheetResult> queryHisTradeHolderDetaileList(@Param("vo")PositionSheetParam param);
+    List<PositionSheetResult> queryHisTradeHolderDetaileList(@Param("vo") PositionSheetParam param);
 
-    List<PositionSheetResult> queryHisTradeHolderDetaileByPage( @Param("vo")PositionSheetParam param);
+    List<PositionSheetResult> queryHisTradeHolderDetaileByPage(@Param("vo") PositionSheetParam param);
 
-    PositionSheetResultDetail queryTradeHolderDetailById(@Param("ishis")Integer ishis,@Param("tradeid")String tradeid,@Param("buyorsell") Integer buyorsell,@Param("histradedate")String histradedate);
+    PositionSheetResultDetail queryTradeHolderDetailById(@Param("ishis") Integer ishis, @Param("tradeid") String tradeid, @Param("buyorsell") Integer buyorsell, @Param("histradedate") String histradedate);
 
     IPage<PositionSumSheetResult> queryTradePositionPage(IPage<PositionSumSheetResult> page, @Param("vo") PositionSumSheetParam param);
 
-    List<PositionSumSheetResult> queryTradePositionPage( @Param("vo") PositionSumSheetParam param);
+    List<PositionSumSheetResult> queryTradePositionPage(@Param("vo") PositionSumSheetParam param);
 
-    IPage<AccountTransactionQueryResult> queryByAccount(IPage<AccountTransactionQueryResult> page, @Param("vo")  AccountTransactionQueryParam param);
+    IPage<AccountTransactionQueryResult> queryByAccount(IPage<AccountTransactionQueryResult> page, @Param("vo") AccountTransactionQueryParam param);
 
-    IPage<AccountTransactionQueryResult> queryByAccountDate(IPage<AccountTransactionQueryResult> page,  @Param("vo")  AccountTransactionQueryParam param);
+    IPage<AccountTransactionQueryResult> queryByAccountDate(IPage<AccountTransactionQueryResult> page, @Param("vo") AccountTransactionQueryParam param);
 
-    List<AccountTransactionQueryResult> queryByAccount(@Param("vo")  AccountTransactionQueryParam param);
+    List<AccountTransactionQueryResult> queryByAccount(@Param("vo") AccountTransactionQueryParam param);
 
-    List<AccountTransactionQueryResult> queryByAccountDate(@Param("vo")  AccountTransactionQueryParam param);
+    List<AccountTransactionQueryResult> queryByAccountDate(@Param("vo") AccountTransactionQueryParam param);
 
     IPage<InvestorSumQueryResult> queryInvestorSumList(IPage<InvestorSumQueryResult> page, @Param("vo") InvestorSumQueryParam param);
 
     IPage<GoodsTradeQueryResult> queryByAGoods(IPage<GoodsTradeQueryResult> page, @Param("vo") GoodsTradeQueryParam param);
 
-    IPage<GoodsTradeQueryResult> queryByAGoodsDate(IPage<GoodsTradeQueryResult> page,@Param("vo") GoodsTradeQueryParam param);
+    IPage<GoodsTradeQueryResult> queryByAGoodsDate(IPage<GoodsTradeQueryResult> page, @Param("vo") GoodsTradeQueryParam param);
 
     List<GoodsTradeQueryResult> queryByAGoods(@Param("vo") GoodsTradeQueryParam param);
 
@@ -100,13 +98,25 @@ public interface ITradeOrderdetailMapper extends BaseMapper<TradeOrderdetail> {
 
     IPage<MarketRunCutPositionResult> queryCutListFromOrderDetail(IPage<MarketRunCutPositionResult> page);
 
-    IPage<TradeSumQueryResult> queryTradeSum(IPage<TradeSumQueryResult> page, @Param("vo")TradeSumQueryParam param);
+    IPage<TradeSumQueryResult> queryTradeSum(IPage<TradeSumQueryResult> page, @Param("vo") TradeSumQueryParam param);
 
-    List<TradeSumQueryResult> queryTradeSum(@Param("vo")TradeSumQueryParam param);
+    List<TradeSumQueryResult> queryTradeSum(@Param("vo") TradeSumQueryParam param);
 
-    IPage<DeliveryOrderEntrustResult> queryDeliveryOrder(IPage<DeliveryOrderEntrustResult> page, @Param("vo")DeliveryOrderEntrustParam param);
+    IPage<DeliveryOrderEntrustResult> queryDeliveryOrder(IPage<DeliveryOrderEntrustResult> page, @Param("vo") DeliveryOrderEntrustParam param);
 
-    DeliveryOrderDetailResult queryDeliveryOrderById(@Param("deliveryorderid")String deliveryorderid, @Param("histradedate")String histradedate);
+    DeliveryOrderDetailResult queryDeliveryOrderById(@Param("deliveryorderid") String deliveryorderid, @Param("histradedate") String histradedate);
 
-    List<Wrfactortypeitem> queryWRFactorTypeItemNew(@Param("wrfactortypeid")String wrfactortypeid);
+    List<Wrfactortypeitem> queryWRFactorTypeItemNew(@Param("wrfactortypeid") String wrfactortypeid);
+
+    IPage<SettlementDealResult> querySettlementDeal(IPage<SettlementDealResult> page, @Param("vo") SettlementDealParam param);
+
+    SettlementDealDetailResult settlementDealDetail(@Param("vo") SettlementDealDetailParam param);
+
+    ApplyOrderDetailResult applyOrderDetailHis(@Param("deliveryorderid") String deliveryorderid);
+
+    ApplyOrderDetailResult applyOrderDetail(@Param("deliveryorderid") String deliveryorderid);
+
+    List<DeliveryDetailResult> getHisDeliveryDetailByBuyOrSellOrderId(@Param("sellId") String sellId, @Param("buyId") String buyId, @Param("buyorsell") Integer buyorsell);
+
+    List<DeliveryDetailResult> getDeliveryDetailByBuyOrSellOrderId(@Param("sellId") String sellId, @Param("buyId") String buyId, @Param("buyorsell") Integer buyorsell);
 }

+ 119 - 0
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/query/deliveryorder/ApplyOrderDetailResult.java

@@ -0,0 +1,119 @@
+package com.muchinfo.mtp3pojos.vo.query.deliveryorder;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "ApplyOrderDetailResult对象", description = "申报式委托单详情")
+public class ApplyOrderDetailResult {
+
+    @ApiModelProperty(value = "交收单号")
+    private String deliveryapplyorderid;
+
+    @ApiModelProperty(value = "交易日")
+    private String histradedate;
+
+    private String tradedate;
+
+    @ApiModelProperty(value = "申报人")
+    private String accountname;
+
+    @ApiModelProperty(value = "账号")
+    private Long accountid;
+
+    @ApiModelProperty(value = "方向")
+    private Integer buyorsell;
+
+    @ApiModelProperty(value = "对手委托单号")
+    private String counterorderid;
+
+    @ApiModelProperty(value = "时间有效类型")
+    private Integer validtype;
+
+    @ApiModelProperty(value = "有效期限")
+    private Date validtime;
+
+    @ApiModelProperty(value = "状态")
+    private String applyorderstatus;
+
+    @ApiModelProperty(value = "申报时间")
+    private Date ordertime;
+
+    @ApiModelProperty(value = "交收品种")
+    private String deliverygoodsname;
+
+    @ApiModelProperty(value = "品种数量")
+    private Integer deliveryqty;
+
+    private String deliverygoodsunitname;
+
+    @ApiModelProperty(value = "品牌")
+    private String brandname;
+
+    @ApiModelProperty(value = "品质")
+    private String qualityname;
+
+    @ApiModelProperty(value = "规格")
+    private String specname;
+
+    @ApiModelProperty(value = "仓库")
+    private String warehousename;
+
+    @ApiModelProperty(value = "是否标准交收商品")
+    private Integer isstandard;
+
+    @ApiModelProperty(value = "升贴水")
+    private String pricemove;
+
+    @ApiModelProperty(value = "交易合约")
+    private String xgoodsname;
+
+    @ApiModelProperty(value = "交收价格")
+    private BigDecimal xdeliveryprice;
+
+    @ApiModelProperty(value = "合约数量")
+    private Integer xdeliveryqty;
+
+    @ApiModelProperty(value = "成交数量")
+    private Integer xdeliverytradeqty;
+
+    @ApiModelProperty(value = "撤销数量")
+    private Integer xdeliverycancelqty;
+
+    @ApiModelProperty(value = "价格方式")
+    private Integer ppricemode;
+
+    @ApiModelProperty(value = "辅助合约一")
+    private String pgoodsname;
+
+    @ApiModelProperty(value = "交收价格")
+    private BigDecimal pdeliveryprice;
+
+    @ApiModelProperty(value = "合约手数")
+    private Integer pdeliveryqty;
+
+    @ApiModelProperty(value = "价格方式")
+    private Integer p2pricemode;
+
+    @ApiModelProperty(value = "辅助合约二")
+    private String p2goodsname;
+
+    @ApiModelProperty(value = "交收价格")
+    private BigDecimal p2deliveryprice;
+
+    @ApiModelProperty(value = "合约手数")
+    private Integer p2deliveryqty;
+
+    private List<DeliveryDetailResult> deliveryIds;
+}

+ 41 - 0
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/query/deliveryorder/DeliveryDetailResult.java

@@ -0,0 +1,41 @@
+package com.muchinfo.mtp3pojos.vo.query.deliveryorder;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "DeliveryDetailResult对象", description = "成交单")
+public class DeliveryDetailResult {
+
+    @ApiModelProperty(value = "交收单号")
+    private String deliveryid;
+
+    @ApiModelProperty(value = "交易日")
+    private String tradedate;
+
+    @ApiModelProperty(value = "方向")
+    private Integer buyorsell;
+
+    @ApiModelProperty(value = "买方(账号)")
+    private String accountname;
+
+    private Long accountid;
+
+    @ApiModelProperty(value = "卖方(账号)")
+    private String matchaccountname;
+
+    private Long matchaccountid;
+
+    @ApiModelProperty(value = "交收总金额")
+    private BigDecimal deliverytotalamount;
+
+}

+ 3 - 1
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/query/deliveryorder/DeliveryOrderEntrustResult.java

@@ -26,7 +26,7 @@ public class DeliveryOrderEntrustResult {
     private String deliveryorderid;
 
     @ApiModelProperty(value = "申报人")
-    private String accountid;
+    private String accountidname;
 
     @ApiModelProperty(value = "主商品")
     private String xgoodsname;
@@ -45,4 +45,6 @@ public class DeliveryOrderEntrustResult {
 
     @ApiModelProperty(value = "申报时间")
     private Date ordertime;
+
+    private String unitname;
 }

+ 21 - 0
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/query/deliveryorder/SettlementDealDetailParam.java

@@ -0,0 +1,21 @@
+package com.muchinfo.mtp3pojos.vo.query.deliveryorder;
+
+import io.swagger.annotations.ApiModel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "SettlementDealDetailParam对象", description = "交收成交查询详情")
+public class SettlementDealDetailParam {
+
+    private String deliveryid;
+
+    private Integer buyorsell;
+
+    private String histradedate;
+}

+ 146 - 0
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/query/deliveryorder/SettlementDealDetailResult.java

@@ -0,0 +1,146 @@
+package com.muchinfo.mtp3pojos.vo.query.deliveryorder;
+
+import com.muchinfo.mtp3pojos.entity.Wrfactortypeitem;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "SettlementDealDetailResult对象", description = "交收成交查询详情响应")
+public class SettlementDealDetailResult {
+
+    private String wrfactortypeid;
+
+    @ApiModelProperty(value = "交收单号")
+    private String deliveryid;
+
+    @ApiModelProperty(value = "交易日")
+    private String histradedate;
+
+    private String tradedate;
+
+    @ApiModelProperty(value = "方向")
+    private Integer buyorsell;
+
+    @ApiModelProperty(value = "买方(账号)")
+    private String accountname;
+
+    private Long accountid;
+
+    @ApiModelProperty(value = "卖方(账号)")
+    private String matchaccountname;
+
+    private Long matchaccountid;
+
+    private String iszhongjiang;
+
+    @ApiModelProperty(value = "交收总金额")
+    private BigDecimal deliverytotalamount;
+
+    @ApiModelProperty(value = "交收单价")
+    private BigDecimal deliveryprice;
+
+    @ApiModelProperty(value = "交收服务费")
+    private BigDecimal deliverycharge;
+
+    @ApiModelProperty(value = "升贴水总额")
+    private BigDecimal deliverypricemove;
+
+    @ApiModelProperty(value = "剩余总金额")
+    private BigDecimal remaintotalamount;
+
+    @ApiModelProperty(value = "状态")
+    private Integer deliverystatus;
+
+    @ApiModelProperty(value = "成交时间")
+    private Date deliverytime;
+
+    @ApiModelProperty(value = "服务费收取方式")
+    private Integer feealgorithm;
+
+    @ApiModelProperty(value = "会员服务费设置值")
+    private BigDecimal memberchargevalue;
+
+    @ApiModelProperty(value = "平台服务费设置值")
+    private BigDecimal exchchargevalue;
+
+    @ApiModelProperty(value = "买申报委托单号")
+    private String selldeliveryapplyorderid;
+
+    @ApiModelProperty(value = "申报单号")
+    private String deliveryorderid;
+
+    @ApiModelProperty(value = "卖申报委托单号")
+    private String buydeliveryapplyorderid;
+
+    @ApiModelProperty(value = "卖方交收收取方式")
+    private Integer marginalgorithm;
+
+    @ApiModelProperty(value = "卖方交收保证金值")
+    private BigDecimal marginvalue;
+
+    @ApiModelProperty(value = "卖方冻结保证金")
+    private BigDecimal freezemargin;
+
+    @ApiModelProperty(value = "提货方式")
+    private Integer takemode;
+
+    @ApiModelProperty(value = "提货地址")
+    private String receiveraddress;
+
+    @ApiModelProperty(value = "现货商品")
+    private String wrstandardcode;
+
+    private String wrstandardname;
+
+    @ApiModelProperty(value = "申报数量")
+    private Integer deliveryqty;
+
+    private String deliverygoodsunitname;
+
+    @ApiModelProperty(value = "交收数量")
+    private Integer deliveryrtradeqty;
+
+    @ApiModelProperty(value = "交易合约")
+    private String x_goodsname;
+
+    @ApiModelProperty(value = "合约价格")
+    private BigDecimal xdeliveryprice;
+
+    @ApiModelProperty(value = "订单手数")
+    private Integer xdeliverycloseqty;
+
+    @ApiModelProperty(value = "价格方式")
+    private Integer ppricemode;
+
+    @ApiModelProperty(value = "辅助合约一")
+    private String p_goodsname;
+
+    private BigDecimal pdeliveryprice;
+
+    @ApiModelProperty(value = "订单手数")
+    private Integer pdeliverycloseqty;
+
+    @ApiModelProperty(value = "价格方式")
+    private Integer p2pricemode;
+
+    @ApiModelProperty(value = "辅助合约二")
+    private String p2goodsname;
+
+    private BigDecimal p2deliveryprice;
+
+    @ApiModelProperty(value = "订单手数")
+    private Integer p2deliverycloseqty;
+
+    private List<Wrfactortypeitem> wrFactorTypeItemList;
+}

+ 56 - 0
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/query/deliveryorder/SettlementDealParam.java

@@ -0,0 +1,56 @@
+package com.muchinfo.mtp3pojos.vo.query.deliveryorder;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "SettlementDealParam对象", description = "交收成交查询")
+public class SettlementDealParam {
+
+    @ApiModelProperty(value = "交收单号")
+    private String deliveryid;
+
+    @ApiModelProperty(value = "现货商品")
+    private String wrstandardid;
+
+    @ApiModelProperty(value = "主商品")
+    private Long xgoodsid;
+
+    @ApiModelProperty(value = "委托单号")
+    private String deliveryorderid;
+
+    @ApiModelProperty(value = "资金账户")
+    private String accountid;
+
+    @ApiModelProperty(value = "交易日")
+    private String tradedate;
+
+    @ApiModelProperty(value = "方向")
+    private Integer buyorsell;
+
+    @ApiModelProperty(value = "交收数据类型 0正常 1历史")
+    private Integer ishis;
+
+    @ApiModelProperty(value = "开始日期")
+    private String startdate;
+
+    @ApiModelProperty(value = "结束日期")
+    private String enddate;
+
+    @ApiModelProperty(value = "* 页码 *")
+    private Integer pageNum;
+
+    @ApiModelProperty(value = "* 页大小 *")
+    private Integer pageSize;
+
+    private Long userid;
+
+    private Integer mainorderflag;
+}

+ 62 - 0
mtp3-pojos/src/main/java/com/muchinfo/mtp3pojos/vo/query/deliveryorder/SettlementDealResult.java

@@ -0,0 +1,62 @@
+package com.muchinfo.mtp3pojos.vo.query.deliveryorder;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "SettlementDealParam对象", description = "交收成交查询响应")
+public class SettlementDealResult {
+
+    @ApiModelProperty(value = "交收单号")
+    private String deliveryid;
+
+    @ApiModelProperty(value = "交易日")
+    private String tradedate;
+
+    @ApiModelProperty(value = "方向")
+    private Integer buyorsell;
+
+    private Long accountid;
+
+    private Long matchaccountid;
+
+    @ApiModelProperty(value = "现货商品")
+    private String deliverygoodsname;
+
+    @ApiModelProperty(value = "现货数量")
+    private String deliveryqty;
+
+    @ApiModelProperty(value = "交收单价")
+    private BigDecimal deliveryprice;
+
+    @ApiModelProperty(value = "货款总金额")
+    private BigDecimal deliveryamount;
+
+    @ApiModelProperty(value = "升贴水总金额")
+    private BigDecimal deliverypricemove;
+
+    @ApiModelProperty(value = "交收服务费")
+    private BigDecimal deliverycharge;
+
+    @ApiModelProperty(value = "委托单号")
+    private String deliveryorderid;
+
+    private Long loginid;
+
+    private Long matchloginid;
+
+    private String matchaccountname;
+
+    private String accountname;
+
+    private String unitname;
+}