瀏覽代碼

发运查询销售接口

liuchaohui 2 年之前
父節點
當前提交
7448151f13

+ 40 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/entity/SyOrderDataVO.java

@@ -0,0 +1,40 @@
+package org.jeecg.modules.documents.orderData.entity;
+import lombok.Data;
+
+@Data
+public class SyOrderDataVO {
+    //销售订单子表id
+    private java.lang.String id;
+
+    public void setId(String id){
+        this.id = id.substring(3);
+        this.account = id.substring(0,3);
+    }
+    //账套号
+    private java.lang.String account;
+    //客户
+    private java.lang.String coustomer;
+
+    //委外采购Id 主
+    private java.lang.String ompoId;
+    //委外采购Id 子
+    private java.lang.String ompoIdItem;
+    //委外采购订单号
+    private java.lang.String ompoCode;
+    //采购行号
+    private java.lang.String poIrowno;
+    //供应商编码
+    private java.lang.String supplierCode;
+    //供应商
+    private java.lang.String supplier;
+    //金额
+    private java.math.BigDecimal iTaxPrice;
+    //佣金
+    private java.math.BigDecimal ymoney;
+    //采购委外账套号
+    private java.lang.String ompoAccount;
+    //门幅
+    private java.lang.String guangpeiGateWidth;
+    //克重
+
+}

+ 16 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/mapper/SyGetOrderMapper.java

@@ -0,0 +1,16 @@
+package org.jeecg.modules.documents.orderData.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.documents.orderData.entity.SyOrderDataVO;
+import java.util.List;
+
+/**
+ * @Description: 订单接口
+ * @Author: jeecg-boot
+ * @Date:   2022-08-01
+ * @Version: V1.0
+ */
+public interface SyGetOrderMapper extends BaseMapper<SyOrderDataVO> {
+    List<SyOrderDataVO> queryList(@Param("sy") SyOrderDataVO sy);
+}

+ 25 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/mapper/xml/SyGetOrderMapper.xml

@@ -0,0 +1,25 @@
+<?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="org.jeecg.modules.documents.orderData.mapper.SyGetOrderMapper">
+    <select id="getOrderdata" resultType="org.jeecg.modules.documents.orderData.entity.SyOrderDataVO" >
+    SELECT
+	ompoId,ompoIdItem,ompoId,supplierCode,v.cVenAbbName as supplier,iTaxPrice
+	FROM
+	SO_SODetails s
+	left join (
+		SELECT pm.cPOID as ompoCode,pm.POID as ompoId,pd.id as ompoIdItem,
+		pm.cVenCode as supplierCode,pd.iTaxPrice,pd.cInvCode,pd.iorderdid as isosid
+		FROM PO_Pomain pm
+		LEFT JOIN  PO_Podetails pd on pm.POID=pd.POID
+		where pm.cState = 1
+		UNION
+		SELECT om.cCode as ompoCode,om.MOID as ompoId,od.MODetailsID as ompoIdItem,
+		om.cVenCode as supplierCode,od.iTaxPrice,od.cInvCode,od.isosid
+		FROM OM_MOMain om
+		LEFT JOIN  OM_MODetails  od on om.MOID =od.MOID
+		where om.cState = 1
+			) p on s.isosid  = p.isosid and s.cInvCode = p.cInvCode
+	left join Vendor v on p.supplierCode=v.cVenCode
+	where s.id = #{id}
+    </select>
+</mapper>

+ 9 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/service/ISyGetOrderService.java

@@ -0,0 +1,9 @@
+package org.jeecg.modules.documents.orderData.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.documents.orderData.entity.SyOrderDataVO;
+import java.util.List;
+
+public interface ISyGetOrderService extends IService<SyOrderDataVO> {
+     List<SyOrderDataVO> queryList( SyOrderDataVO sy);
+}

+ 163 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/service/impl/SyGetOrderServiceImpl.java

@@ -0,0 +1,163 @@
+package org.jeecg.modules.documents.orderData.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.documents.orderData.entity.SyOrderData;
+import org.jeecg.modules.documents.orderData.entity.SyOrderDataVO;
+import org.jeecg.modules.documents.orderData.mapper.SyGetOrderMapper;
+import org.jeecg.modules.documents.orderData.service.ISyGetOrderService;
+import org.jeecg.modules.openApi.entity.DxpDataPlan;
+import org.jeecg.modules.openApi.service.IDxpDataPlanService;
+import org.jeecg.modules.openApi.service.ISenYuDataSourceOne;
+import org.jeecg.modules.openApi.service.ISenYuDataSourceThree;
+import org.jeecg.modules.openApi.service.ISenYuDataSourceTwo;
+import org.jeecg.modules.system.util.JsonChangeUtils;
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+
+@Service
+public class SyGetOrderServiceImpl extends ServiceImpl<SyGetOrderMapper, SyOrderDataVO> implements ISyGetOrderService, ApplicationContextAware {
+
+    private static IDxpDataPlanService dxpDataPlanService;
+    private static SyGetOrderMapper syGetOrderMapper;
+    private static ISenYuDataSourceOne senYuDataSourceOne;
+    private static ISenYuDataSourceTwo senYuDataSourceTwo;
+    private static ISenYuDataSourceThree senYuDataSourceThree;
+
+    public SyOrderDataVO queryOrder(String orderItemID){
+        SyOrderDataVO syOrderDataVO = new SyOrderDataVO();
+        syOrderDataVO.setId(orderItemID);
+        List<Map<String, Object>> listSon = new ArrayList<>();
+        SyOrderDataVO result = new SyOrderDataVO();
+        /*
+        查询账套用于判断
+         */
+        QueryWrapper<DxpDataPlan> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("code", "senYu_syOrder");
+        List<DxpDataPlan> pageList = dxpDataPlanService.list(queryWrapper);
+        String pkorg = pageList.get(0).getPkOrg();
+        String pkorgSplit[] = pkorg.split(",");
+        //定义账套集合
+        String account[] = new String[4];
+        int index = 0;
+        //得到对应的账套
+        for (String str : pkorgSplit) {
+            String pkorgValue[] = str.split(":");
+            account[index] = pkorgValue[1];
+            index++;
+        }
+        /*
+        对应账套取对应的值
+         */
+        if(account[0].equals(syOrderDataVO.getAccount())){
+            String sql = "  SELECT" +
+                    " ompoId,ompoIdItem,ompoId,supplierCode,v.cVenAbbName as supplier,iTaxPrice" +
+                    " FROM" +
+                    " SO_SODetails s" +
+                    " left join (" +
+                    " SELECT om.cCode as ompoCode,om.MOID as ompoId,od.MODetailsID as ompoIdItem," +
+                    " om.cVenCode as supplierCode,od.iTaxPrice,od.cInvCode,od.isosid" +
+                    " FROM OM_MOMain om" +
+                    " LEFT JOIN  OM_MODetails  od on om.MOID =od.MOID" +
+                    " where om.cState = 1" +
+                    ") p on s.isosid  = p.isosid and s.cInvCode = p.cInvCode" +
+                    " left join Vendor v on p.supplierCode=v.cVenCode" +
+                    " where s.autoid ="+syOrderDataVO.getId();
+            listSon = senYuDataSourceOne.queryForList(sql);
+
+        }else if(account[1].equals(syOrderDataVO.getAccount())){
+            String sql = "SELECT" +
+                    " ompoId,ompoIdItem,ompoId,supplierCode,v.cVenAbbName as supplier,iTaxPrice" +
+                    " FROM" +
+                    " SO_SODetails s" +
+                    " left join (" +
+                    " SELECT pm.cPOID as ompoCode,pm.POID as ompoId,pd.id as ompoIdItem,pd.irowno as poIrowno," +
+                    " pm.cVenCode as supplierCode,pd.iTaxPrice,pd.cInvCode,pd.iorderdid as isosid" +
+                    " FROM PO_Pomain pm" +
+                    " LEFT JOIN  PO_Podetails pd on pm.POID=pd.POID" +
+                    " where pm.cState = 1" +
+                    ") p on s.isosid  = p.isosid and s.cInvCode = p.cInvCode" +
+                    " left join Vendor v on p.supplierCode=v.cVenCode"+
+                    " where s.autoid ="+syOrderDataVO.getId();
+            List<Map<String, Object>> list = senYuDataSourceTwo.queryForList(sql);
+            List<JSONObject> jian = JsonChangeUtils.toJSONObject(list);
+            for (JSONObject jsonObject:jian) {
+                result = JSONObject.toJavaObject(jsonObject, SyOrderDataVO.class);
+            }
+            if(!result.getSupplier().equals("马菲羊")){
+                return result;
+            }
+            String sql2 = "SELECT" +
+                    " ompoId,ompoIdItem,ompoId,supplierCode,v.cVenAbbName as supplier,iTaxPrice" +
+                    " FROM" +
+                    " SO_SODetails s" +
+                    " left join (" +
+                    " SELECT pm.cPOID as ompoCode,pm.POID as ompoId,pd.id as ompoIdItem," +
+                    " pm.cVenCode as supplierCode,pd.iTaxPrice,pd.cInvCode,pd.iorderdid as isosid" +
+                    " FROM PO_Pomain pm" +
+                    " LEFT JOIN  PO_Podetails pd on pm.POID=pd.POID" +
+                    " where pm.cState = 1" +
+                    " UNION" +
+                    " SELECT om.cCode as ompoCode,om.MOID as ompoId,od.MODetailsID as ompoIdItem," +
+                    " om.cVenCode as supplierCode,od.iTaxPrice,od.cInvCode,od.isosid" +
+                    " FROM OM_MOMain om" +
+                    " LEFT JOIN  OM_MODetails  od on om.MOID =od.MOID" +
+                    " where om.cState = 1" +
+                    " ) p on s.isosid  = p.isosid and s.cInvCode = p.cInvCode" +
+                    " left join Vendor v on p.supplierCode=v.cVenCode"+
+                    " where s.iRowNo ="+syOrderDataVO.getPoIrowno();
+            listSon = senYuDataSourceThree.queryForList(sql2);
+
+        }else if(account[2].equals(syOrderDataVO.getAccount())){
+            String sql = "SELECT" +
+                    " ompoId,ompoIdItem,ompoId,supplierCode,v.cVenAbbName as supplier,iTaxPrice" +
+                    " FROM" +
+                    " SO_SODetails s" +
+                    " left join (" +
+                    " SELECT pm.cPOID as ompoCode,pm.POID as ompoId,pd.id as ompoIdItem," +
+                    " pm.cVenCode as supplierCode,pd.iTaxPrice,pd.cInvCode,pd.iorderdid as isosid" +
+                    " FROM PO_Pomain pm" +
+                    " LEFT JOIN  PO_Podetails pd on pm.POID=pd.POID" +
+                    " where pm.cState = 1" +
+                    " UNION" +
+                    " SELECT om.cCode as ompoCode,om.MOID as ompoId,od.MODetailsID as ompoIdItem," +
+                    " om.cVenCode as supplierCode,od.iTaxPrice,od.cInvCode,od.isosid" +
+                    " FROM OM_MOMain om" +
+                    " LEFT JOIN  OM_MODetails  od on om.MOID =od.MOID" +
+                    " where om.cState = 1" +
+                    ") p on s.isosid  = p.isosid and s.cInvCode = p.cInvCode" +
+                    " left join Vendor v on p.supplierCode=v.cVenCode"+
+                    " where s.autoid ="+syOrderDataVO.getId();
+            listSon = senYuDataSourceThree.queryForList(sql);
+            
+        }
+        List<JSONObject> jian = JsonChangeUtils.toJSONObject(listSon);
+        for (JSONObject jsonObject:jian) {
+            result = JSONObject.toJavaObject(jsonObject, SyOrderDataVO.class);
+        }
+        return result;
+    }
+
+    @Override
+    public List<SyOrderDataVO> queryList(SyOrderDataVO sy) {
+        return null;
+    }
+
+    @Override
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+        this.dxpDataPlanService = applicationContext.getBean(IDxpDataPlanService.class);
+        this.syGetOrderMapper = applicationContext.getBean(SyGetOrderMapper.class);
+        this.senYuDataSourceOne = applicationContext.getBean(ISenYuDataSourceOne.class);
+        this.senYuDataSourceTwo = applicationContext.getBean(ISenYuDataSourceTwo.class);
+        this.senYuDataSourceThree = applicationContext.getBean(ISenYuDataSourceThree.class);
+    }
+}