| 
					
				 | 
			
			
				@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.metadata.IPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.apache.poi.ss.formula.functions.T; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.common.api.vo.Result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.orderData.entity.SyOrderData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.orderData.entity.SyOrderDataItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.orderData.entity.SyOrderDataVO; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39,7 +41,7 @@ import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @Version: V1.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//@Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//@Transactional //事务导致多数据源失效 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrderData> implements ISyOrderDataService, ApplicationContextAware { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static IDxpDataPlanService dxpDataPlanService; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,8 +55,235 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static ISenYuDataSourceThree senYuDataSourceThree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void doQuerySyOrder() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //QuerySyOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Result<T> doQuerySyOrder(String parameter) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Result<T> result =new Result<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //得到系统时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date day=new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //定义集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Map<String, Object>> sumlist = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //查找单证是否有当前销售订单 如果有 默认客户进行当前订单的更新操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //更新数据,如为更新数据 删除老数据重新添加新数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String id = syOrderDataMapper.queryIDBYOrderNumber(parameter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(id!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(id.equals("已被参照")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    result.setMessage("销售订单已被参照!!!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                syOrderDataMapper.deleteByID(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                syOrderDataItemService.deleteByID(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //查询IP及账套信息、时间戳 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            QueryWrapper<DxpDataPlan> queryWrapper = new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            queryWrapper.eq("code", "senYu_syOrder"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Page<DxpDataPlan> page = new Page<DxpDataPlan>(1, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            IPage<DxpDataPlan> pageList = dxpDataPlanService.page(page, queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<DxpDataPlan> resultList = pageList.getRecords(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String pkorg = resultList.get(0).getPkOrg(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String pkorgSplit[] = pkorg.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //查销售订单主表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (String str : pkorgSplit) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String pkorgStr = str; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String pkorgValue[] = pkorgStr.split(":"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //得到对应的账套 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String account = pkorgValue[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.ID AS id," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cSOCode AS orderNumber," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.dDate AS orderDate," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cBusType AS businessTypeValue," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cSTCode AS salesTypeValue," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "t.cSTName AS salesTypeText," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "cc.cCusAbbName AS customerAbbreviation," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "cc.cCusName AS customerName," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.iExchRate AS exchangeRate," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "de.cDepName AS salesDepartment," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "pe.cPersonName  AS salesman," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cexch_name AS currencyText," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cdefine2 as brandSide," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cdefine1 as thirdParty," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cdefine3 as customerOrderNumber," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cdefine11 as endCustomer," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cCusCode as customerCode," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.fbookratio AS depositRatio," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.iMoney AS deposit," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cMemo AS orderRemarks," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cDefine14 AS orderChangeDescription," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cDefine12 AS garmentFactory," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "v.cVenCode AS garmentFactoryCode,"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cDefine5 as garmentNmb," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cMemo AS memo," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "f.chdefine4 AS priceRemarks," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "f.chdefine1 AS collaborativeRoute," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "y.cexch_code AS currencyValue," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "p.cPayName AS termOfPayment," +account+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " AS account " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " FROM" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " SO_SOMain s" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " LEFT JOIN SO_SOMain_extradefine f ON s.ID = f.ID" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " LEFT JOIN SaleType t ON s.cSTCode = t.cSTCode" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " LEFT JOIN foreigncurrency y ON s.cexch_name = y.cexch_name" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " LEFT JOIN PayCondition p ON s.cPayCode = p.cPayCode" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " LEFT JOIN Department de ON s.cDepCode = de.cDepCode" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " LEFT JOIN Customer cc ON s.cCusCode = cc.cCusCode" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " LEFT JOIN Person  pe ON s.cPersonCode = pe.cPersonCode" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " left join Vendor v on s.cDefine12=v.cVenName" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " where s.iStatus = 1  AND (s.cdefine15 is null or  s.cdefine15 !='1') "+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " and s.cSOCode = '"+parameter+"' order by s.dDate desc "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<Map<String, Object>> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(pkorgValue[0].equals("one")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    list = senYuDataSourceOne.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(pkorgValue[0].equals("two")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    list = senYuDataSourceTwo.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(pkorgValue[0].equals("three")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    list = senYuDataSourceThree.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(Map<String, Object> map:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sumlist.add(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //没查到销售订单主表数据 返回结果并告知客户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(sumlist.size()<1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               result.setMessage("没找到对应销售订单!!!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<JSONObject> jian = JsonChangeUtils.toJSONObject(sumlist); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (JSONObject jsonObject:jian) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SyOrderData sy = JSONObject.toJavaObject(jsonObject,SyOrderData.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String ID = sy.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String sql = "SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.AutoID AS id," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.ID AS syOrderDataId," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cDefine22 AS itemNumber," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.dPreDate AS preDeliveryDate," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.dPreMoDate AS preCompletionDate," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cDefine32 AS packId," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cDefine28 AS smallPo," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cDefine29 AS distributionPoint," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cInvCode AS inventoryCode," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "c.cInvCcode AS inventoryCcode," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "c.cInvName AS inventoryName," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cFree1 AS colour," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cFree2 AS size," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cFree3 AS codingRules," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cFree4 AS guangpeiGateWidth," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cFree6 AS weight,"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cDefine35 AS boxNumber," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.iQuantity AS quantity," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.iQuantity AS surplusNum," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.iTaxUnitPrice AS unitPriceIncludingTax," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.iSum AS totalPriceAndTax," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.iTaxRate AS taxRate," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cMemo AS remarks ," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "d.cComUnitName as masterMetering," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "c.cInvStd as specificationAndModel," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "case when c.cInvDefine14 is null then 1 else cInvDefine14 end as numberOfSets,"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "s.cSCloser as bankClosedBy," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "be.cbdefine2 as ymoney"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " FROM" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " SO_SODetails s" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " left join Inventory c on c.cInvCode=s.cInvCode" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " left join ComputationUnit d on d.cComunitCode=c.cComUnitCode"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " left join SO_SODetails_extradefine be on be.iSOsID=s.iSOsID"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        " where s.ID = "+ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<Map<String, Object>> listSon = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(sy.getAccount().equals("901")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    listSon = senYuDataSourceOne.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(sy.getAccount().equals("902")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    listSon = senYuDataSourceTwo.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(sy.getAccount().equals("903")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    listSon = senYuDataSourceThree.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<JSONObject> jianSon = JsonChangeUtils.toJSONObject(listSon); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (JSONObject Object:jianSon) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SyOrderDataItem sy2 = JSONObject.toJavaObject(Object, SyOrderDataItem.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sy2.setId(sy.getAccount()+sy2.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sy2.setSyOrderDataId(sy.getAccount()+sy2.getSyOrderDataId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SyOrderDataVO ordervo = queryOrder(sy2.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(ordervo != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sy2.setOmpoAccount(ordervo.getOmpoAccount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sy2.setOmpoCode(ordervo.getOmpoCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sy2.setOmpoId(ordervo.getOmpoId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sy2.setDArriveDate(ordervo.getDArriveDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sy2.setOmpoIdItem(ordervo.getOmpoIdItem()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sy2.setITaxPrice(ordervo.getITaxPrice()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(sy2.getGuangpeiGateWidth()==null||sy2.getGuangpeiGateWidth().equals("/")||sy2.getGuangpeiGateWidth().equals("")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            sy2.setGuangpeiGateWidth(ordervo.getGuangpeiGateWidth()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sy2.setSupplier(ordervo.getSupplier()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(sy2.getInventoryCcode().substring(0,2).equals("09")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            sy2.setGarmentFactory(ordervo.getSupplier()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }else if(sy.getCustomerAbbreviation().equals("森语集团") || sy.getCustomerAbbreviation().equals("宁波森语") ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            sy2.setGarmentFactory(queryGSupplier(sy.getOrderNumber(),sy.getAccount(),sy.getCustomerCode())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            sy2.setGarmentFactory(sy.getGarmentFactory()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sy2.setSupplierCode(ordervo.getSupplierCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(sy2.getOmpoIdItem()==null || sy2.getOmpoIdItem().equals("")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(sy2.getOmpoIdItem()!=null && sy.getAccount()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        List<String> rsup = queryRSupplier(sy2.getOmpoIdItem(),sy.getAccount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(rsup.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            sy2.setRSupplierCode(rsup.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            sy2.setRSupplier(rsup.get(1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    syOrderDataItemService.save(sy2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    size++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //添加单证id 原数据账套+原数据id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String syId = sy.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sy.setId(sy.getAccount()+sy.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(size<=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //回写不拉取的数据状态 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String blackWrite = "UPDATE SO_SOMain SET cdefine15 = '0' WHERE id='"+syId+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(sy.getAccount().equals("901")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        senYuDataSourceOne.update(blackWrite); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else if(sy.getAccount().equals("902")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        senYuDataSourceTwo.update(blackWrite); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else if(sy.getAccount().equals("903")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        senYuDataSourceThree.update(blackWrite); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //进入下一个主表的添加,这里是单个订单同步 所以是返回同步失败且通知原因 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    result.setMessage("同步失败,销售订单不符合同步需求!!!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //添加主表数据进入数据库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                save(sy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //回写拉取的数据状态 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String blackWrite = "UPDATE SO_SOMain SET cdefine15 = '1' WHERE id='"+syId+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(sy.getAccount().equals("901")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    senYuDataSourceOne.update(blackWrite); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(sy.getAccount().equals("902")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    senYuDataSourceTwo.update(blackWrite); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(sy.getAccount().equals("903")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    senYuDataSourceThree.update(blackWrite); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dxpDataPlanService.updateLastTime(day,"senYu_syOrder"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System.out.print("jian:更新失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log.error(e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            result.setMessage("同步失败!请联系管理员!!!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        result.setMessage("同步成功!!!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -72,6 +301,266 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return syOrderDataMapper.queryIDBYOrderNumber(orderNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 查询成衣工厂  (面辅料供应商编码 面辅料供应商名称) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public String queryGSupplier(String soCode,String zhangtao,String customerCode){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        查询账套用于判断 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        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[3]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int index = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //得到对应的账套 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (String str : pkorgSplit) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String pkorgValue[] = str.split(":"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            account[index] = pkorgValue[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            index++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String resql = " select max(ss.cSOCode) as soCode from  PO_Podetails t  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "  left join PO_Pomain m  on m.poid=t.poid " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "  left join SO_SODetails s on s.isosid=t.iorderdid " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                " left join SO_SOMain ss on ss.id=s.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "  where m.cpoid = '"+soCode+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Map<String, Object>> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(zhangtao.equals(account[2]) && customerCode.equals("T020001")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            list = senYuDataSourceThree.queryForList(resql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<JSONObject> jSONObject = JsonChangeUtils.toJSONObject(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(jSONObject.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (JSONObject json:jSONObject) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    soCode = json.get("soCode").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    zhangtao = account[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String sql = "SELECT max(v.cVenName) as cVenName from OM_MOMain m right join OM_MODetails t on m.moid = t.moid " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "  left join Vendor v on m.cVenCode=v.cVenCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "  where t.isosid=( select max(s.isosid) from  PO_Podetails t  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "  left join PO_Pomain m  on m.poid=t.poid " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "  left join SO_SODetails s on s.isosid=t.iorderdid " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "  where m.cpoid = '"+soCode+"') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(zhangtao.equals(account[0])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            list = senYuDataSourceOne.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<JSONObject> jSONObject = JsonChangeUtils.toJSONObject(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String result = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(jSONObject.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (JSONObject json:jSONObject) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result=json.get("cVenName").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 查询染厂供应商编码 供应商名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public List<String>  queryRSupplier(String id,String zhangtao){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        查询账套用于判断 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        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[3]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int index = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //得到对应的账套 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (String str : pkorgSplit) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String pkorgValue[] = str.split(":"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            account[index] = pkorgValue[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            index++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String sql = "select om.cVenCode as cVenCode,v.cVenName as cVenName From OM_MODetails  o " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "join ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                " select ommos.isosid,ommom.cInvCode from  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                " OM_MODetails ommos  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "left join OM_MOMaterials ommom on ommom.MoDetailsID=ommos.MODetailsID  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "where ommos.MODetailsID = '"+id+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ")tab on tab.isosid=o.isosid and tab.cInvCode =o.cInvCode  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "left join OM_MOMain om on om.moid=o.moid " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "LEFT JOIN Vendor v ON om.cVenCode=v.cVenCode " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "union " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "select om.cVenCode as cVenCode,v.cVenName as cVenName From PO_Podetails  o " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "join ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                " select ommos.isosid,ommom.cInvCode from  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                " OM_MODetails ommos  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "left join OM_MOMaterials ommom on ommom.MoDetailsID=ommos.MODetailsID  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "where ommos.MODetailsID = '"+id+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ")tab on tab.isosid=o.isosid and tab.cInvCode =o.cInvCode  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "left join PO_Pomain om on om.POID=o.POID " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "LEFT JOIN Vendor v ON om.cVenCode=v.cVenCode"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Map<String, Object>> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(zhangtao.equals(account[0])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            list = senYuDataSourceOne.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if(zhangtao.equals(account[1])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            list = senYuDataSourceTwo.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if(zhangtao.equals(account[2])){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            list = senYuDataSourceThree.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<JSONObject> jSONObject = JsonChangeUtils.toJSONObject(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> result = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(jSONObject.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (JSONObject json:jSONObject) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result.add(json.get("cVenCode").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result.add(json.get("cVenName").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   查询最终供应商数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public SyOrderDataVO queryOrder(String orderItemID) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        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" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " ompoCode,ompoIdItem,ompoId,supplierCode,v.cVenAbbName as supplier,iTaxPrice,dArriveDate,guangpeiGateWidth," +account[0]+" as ompoAccount"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " FROM" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " SO_SODetails s" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " left join (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " SELECT om.cCode as ompoCode,om.MOID as ompoId,od.MODetailsID as ompoIdItem," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " od.cDefine23  as guangpeiGateWidth,od.dArriveDate,"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " 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.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser')" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ") 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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<JSONObject> jian = JsonChangeUtils.toJSONObject(listSon); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (JSONObject jsonObject:jian) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result = JSONObject.toJavaObject(jsonObject, SyOrderDataVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if(account[1].equals(syOrderDataVO.getAccount())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String sql = "SELECT" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " ompoCode,ompoIdItem,ompoId,supplierCode,v.cVenAbbName as supplier,iTaxPrice,guangpeiGateWidth,dArriveDate,s.iRowNo as poIrowno," +account[1]+" as ompoAccount"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " FROM" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " SO_SODetails s" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " left join (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " SELECT pm.cPOID as ompoCode,pm.POID as ompoId,pd.id as ompoIdItem,pd.irowno as poIrowno,"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " pd.cDefine23  as guangpeiGateWidth,pd.dArriveDate,"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " 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.iverifystateex = 2 and (pm.cCloser is null or pm.cCloser='asuser')" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ") 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) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                syOrderDataVO = JSONObject.toJavaObject(jsonObject, SyOrderDataVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(syOrderDataVO.getSupplier()==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return syOrderDataVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(!syOrderDataVO.getSupplier().equals("马菲羊")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return syOrderDataVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String sql2 = "SELECT" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " ompoCode,ompoIdItem,ompoId,supplierCode,v.cVenAbbName as supplier,iTaxPrice,dArriveDate,guangpeiGateWidth," +account[2]+" as ompoAccount"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " FROM" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "  so_somain ss " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "  join SO_SODetails s on s.id=ss.id" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " left join (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " SELECT pm.cPOID as ompoCode,pm.POID as ompoId,pd.id as ompoIdItem," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " pd.cDefine23  as guangpeiGateWidth,pd.dArriveDate,"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " 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.iverifystateex = 2 and (pm.cCloser is null or pm.cCloser='asuser')" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " UNION" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " SELECT om.cCode as ompoCode,om.MOID as ompoId,od.MODetailsID as ompoIdItem," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " od.cDefine23  as guangpeiGateWidth,od.dArriveDate,"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " 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.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser')" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " ) 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() +" and ss.cSOCode='"+syOrderDataVO.getOmpoCode()+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            listSon = senYuDataSourceThree.queryForList(sql2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<JSONObject> jian2 = JsonChangeUtils.toJSONObject(listSon); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (JSONObject jsonObject:jian2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result = JSONObject.toJavaObject(jsonObject, SyOrderDataVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if(account[2].equals(syOrderDataVO.getAccount())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String sql = "SELECT" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " ompoCode,ompoIdItem,ompoId,supplierCode,v.cVenAbbName as supplier,iTaxPrice,dArriveDate,guangpeiGateWidth," +account[2]+" as ompoAccount"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " FROM" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " SO_SODetails s" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " left join (" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " SELECT pm.cPOID as ompoCode,pm.POID as ompoId,pd.id as ompoIdItem," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " pd.cDefine23  as guangpeiGateWidth,pd.dArriveDate,"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " 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.iverifystateex = 2 and (pm.cCloser is null or pm.cCloser='asuser')" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " UNION" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " SELECT om.cCode as ompoCode,om.MOID as ompoId,od.MODetailsID as ompoIdItem," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " od.cDefine23  as guangpeiGateWidth,od.dArriveDate,"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    " 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.iVerifyStateNew = 2 and (om.cCloser is null or om.cCloser='asuser')" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ") 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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |