LG88888888 3 år sedan
förälder
incheckning
c7ecee1982

+ 64 - 21
src/main/java/net/chenlin/dp/modules/api/controller/PayrequestController.java

@@ -6,7 +6,9 @@ import net.chenlin.dp.common.openapi4j.exception.OpenAPIException;
 import net.chenlin.dp.common.openapi4j.util.PropUtil;
 import net.chenlin.dp.common.support.orm.db.DynamicDataSource;
 import net.chenlin.dp.common.utils.SpringContextUtils;
+import net.chenlin.dp.modules.api.dao.SaleOrderMapper;
 import net.chenlin.dp.modules.api.service.PayrequestService;
+import net.chenlin.dp.modules.api.vo.OaOrder;
 import net.chenlin.dp.modules.api.vo.Payrequest;
 import net.chenlin.dp.modules.api.vo.SaleOrderRest;
 import net.chenlin.dp.modules.sys.service.SysUserService;
@@ -20,6 +22,7 @@ public class PayrequestController {
     private  DingdingOpenInterface dingdingOpenInterface=new DingdingOpenInterface();
     private SysUserService sysUserService= SpringContextUtils.getBean("sysUserService",SysUserService.class);
     private  Properties prop = PropUtil.getProperties("/config.properties");
+    private SaleOrderMapper saleOrderMapper= SpringContextUtils.getBean("saleOrderMapper",SaleOrderMapper.class);
 
 
     /**
@@ -68,30 +71,70 @@ public class PayrequestController {
         DingdingOpenInterface.getToken();
         String processCode= prop.getProperty("fksqd_process_code");
         String userid = prop.getProperty("u_shenhe_userid");
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - 10);
+        Date today = calendar.getTime();
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        String startDate = format.format(today);
+        String ordercode="";
+        String dept="";
+        String date="";
+        String msg="ok";
+        Boolean f=false;
+        List<String> ls = saleOrderMapper.SaleOrderByOA("付款申请单", startDate, format.format(new Date()));
+
         List<String> orderIdList = dingdingOpenInterface.getOrderIdList(processCode);
         if (orderIdList!=null&&!orderIdList.equals("")){
-            for (String id:orderIdList){
-                Map<String, Object> orderDetails = dingdingOpenInterface.getOrderDetails(id);
-                Map<String, Object> map = DingdingOpenInterface.tableToMap(orderDetails);
-                Object code = map.get("表格");
-                List<Object> list = JSONObject.parseObject(code.toString(), List.class);
-                Object o = list.get(0);
-                Map map1 = JSONObject.parseObject(o.toString(), Map.class);
-                Object rowValue = map1.get("rowValue");
-                List<Object> li= JSONObject.parseObject(rowValue.toString(), List.class);
-                Object o1 = li.get(0);
-                Map map2 = JSONObject.parseObject(o1.toString(), Map.class);
-                Object codes = map2.get("value");
-                Object ext_value = map.get("日期_ext_value");
-                Object result = orderDetails.get("result");
-                if (!result.equals("")&&result!=null){
-                    if (result.equals("agree")){
-                        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
-                        String format = df.format(new Date());
-                        DynamicDataSource.setDataSource(ext_value.toString());
-                        sysUserService.Payrequestshenhe(codes.toString(),format,format,userid);
-                        DynamicDataSource.setDataSource("");
+            outCycle:for (String id:orderIdList){
+                OaOrder oaOrder=new OaOrder();
+                if (ls!=null&&ls.size()>0){
+                    for (String oid:ls){
+                        if (id.equals(oid)){
+                            continue outCycle;
+                        }
+                    }
+                }
+                try {
+                    Map<String, Object> orderDetails = dingdingOpenInterface.getOrderDetails(id);
+                    Map<String, Object> map = DingdingOpenInterface.tableToMap(orderDetails);
+                    Object code = map.get("表格");
+                    List<Object> list = JSONObject.parseObject(code.toString(), List.class);
+                    Object o = list.get(0);
+                    Map map1 = JSONObject.parseObject(o.toString(), Map.class);
+                    Object rowValue = map1.get("rowValue");
+                    List<Object> li= JSONObject.parseObject(rowValue.toString(), List.class);
+                    Object o1 = li.get(0);
+                    Map map2 = JSONObject.parseObject(o1.toString(), Map.class);
+                    Object codes = map2.get("value");
+                    Object ext_value = map.get("日期_ext_value");
+                    Object result = orderDetails.get("result");
+                    ordercode=codes.toString();
+                    dept=orderDetails.get("originator_dept_name").toString();
+                    date=orderDetails.get("create_time").toString();
+                    if (!result.equals("")&&result!=null){
+                        if (result.equals("agree")){
+                            String format2 = df.format(new Date());
+                            DynamicDataSource.setDataSource(ext_value.toString());
+                            sysUserService.Payrequestshenhe(codes.toString(),format2,format2,userid);
+                            DynamicDataSource.setDataSource("");
+                            f=true;
+                        }
                     }
+
+                }catch (Exception e){
+                    e.printStackTrace();
+                    msg=e.toString();
+                }
+                if (f){
+                    oaOrder.setId(id);
+                    oaOrder.setOrderCode(ordercode);
+                    oaOrder.setType("付款申请单");
+                    oaOrder.setDate(date);
+                    oaOrder.setDept(dept);
+                    oaOrder.setMsg(msg);
+                    saleOrderMapper.add(oaOrder);
+                    f=false;
                 }
 
             }

+ 55 - 14
src/main/java/net/chenlin/dp/modules/api/controller/PurchaseOrderController.java

@@ -5,7 +5,9 @@ import net.chenlin.dp.common.openapi4j.exception.OpenAPIException;
 import net.chenlin.dp.common.openapi4j.util.PropUtil;
 import net.chenlin.dp.common.support.orm.db.DynamicDataSource;
 import net.chenlin.dp.common.utils.SpringContextUtils;
+import net.chenlin.dp.modules.api.dao.SaleOrderMapper;
 import net.chenlin.dp.modules.api.service.PurchaseOrderService;
+import net.chenlin.dp.modules.api.vo.OaOrder;
 import net.chenlin.dp.modules.api.vo.SaleOrderRest;
 import net.chenlin.dp.modules.api.vo.YonyouPurchaseOrder;
 import net.chenlin.dp.modules.api.vo.YonyouSaleOrder;
@@ -21,6 +23,7 @@ public class PurchaseOrderController {
     private  DingdingOpenInterface dingdingOpenInterface=new DingdingOpenInterface();
     private SysUserService sysUserService= SpringContextUtils.getBean("sysUserService",SysUserService.class);
     private Properties prop = PropUtil.getProperties("/config.properties");
+    private SaleOrderMapper saleOrderMapper= SpringContextUtils.getBean("saleOrderMapper",SaleOrderMapper.class);
 
     /**
      * 获取U8采购订单创建钉钉采购订单审批实列
@@ -68,24 +71,62 @@ public class PurchaseOrderController {
         String processCode= prop.getProperty("cgdd_process_code");
         String userid = prop.getProperty("u_shenhe_userid");
         DingdingOpenInterface.getToken();
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
+
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - 10);
+        Date today = calendar.getTime();
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        String startDate = format.format(today);
+        String ordercode="";
+        String dept="";
+        String date="";
+        String msg="ok";
+        Boolean f=false;
+        List<String> list = saleOrderMapper.SaleOrderByOA("采购订单", startDate, format.format(new Date()));
         List<String> orderIdList = dingdingOpenInterface.getOrderIdList(processCode);
         if (orderIdList!=null&&!orderIdList.equals("")){
-            for (String id:orderIdList){
-                Map<String, Object> orderDetails = dingdingOpenInterface.getOrderDetails(id);
-                Map<String, Object> map = DingdingOpenInterface.tableToMap(orderDetails);
-                Object code = map.get("单据编号");
-                Object ext_value = map.get("单据编号_ext_value");
-                Object result = orderDetails.get("result");
-                if (!result.equals("")&&result!=null){
-                    if (result.equals("agree")){
-                        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
-                        String format = df.format(new Date());
-                        DynamicDataSource.setDataSource(ext_value.toString());
-                        sysUserService.Purchaseshenhe(code.toString(),format,format,"2",userid);
-                        DynamicDataSource.setDataSource("");
+            OaOrder oaOrder=new OaOrder();
+            outCycle:  for (String id:orderIdList){
+            if (list!=null&&list.size()>0){
+                for (String oid:list){
+                    if (id.equals(oid)){
+                        continue outCycle;
+                        }
                     }
                 }
-
+                try {
+                    Map<String, Object> orderDetails = dingdingOpenInterface.getOrderDetails(id);
+                    Map<String, Object> map = DingdingOpenInterface.tableToMap(orderDetails);
+                    Object code = map.get("单据编号");
+                    Object ext_value = map.get("单据编号_ext_value");
+                    Object result = orderDetails.get("result");
+                    ordercode=code.toString();
+                    dept=orderDetails.get("originator_dept_name").toString();
+                    date=orderDetails.get("create_time").toString();
+                    if (!result.equals("")&&result!=null){
+                        if (result.equals("agree")){
+                            String format2 = df.format(new Date());
+                            DynamicDataSource.setDataSource(ext_value.toString());
+                            sysUserService.Purchaseshenhe(code.toString(),format2,format2,"2",userid);
+                            DynamicDataSource.setDataSource("");
+                            f=true;
+                        }
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
+                    msg=e.toString();
+                }
+                if (f){
+                    oaOrder.setId(id);
+                    oaOrder.setOrderCode(ordercode);
+                    oaOrder.setType("采购订单");
+                    oaOrder.setDate(date);
+                    oaOrder.setDept(dept);
+                    oaOrder.setMsg(msg);
+                    saleOrderMapper.add(oaOrder);
+                    f=false;
+                }
 
             }
         }

+ 63 - 17
src/main/java/net/chenlin/dp/modules/api/controller/SaleOrderController.java

@@ -1,18 +1,23 @@
 package net.chenlin.dp.modules.api.controller;
 
+import com.mysql.cj.util.StringUtils;
 import com.taobao.api.ApiException;
 import net.chenlin.dp.common.openapi4j.exception.OpenAPIException;
 import net.chenlin.dp.common.openapi4j.util.PropUtil;
 import net.chenlin.dp.common.support.orm.db.DynamicDataSource;
 import net.chenlin.dp.common.utils.DateUtils;
 import net.chenlin.dp.common.utils.SpringContextUtils;
+import net.chenlin.dp.modules.api.dao.SaleOrderMapper;
 import net.chenlin.dp.modules.api.service.SaleOrderService;
+import net.chenlin.dp.modules.api.vo.OaOrder;
 import net.chenlin.dp.modules.api.vo.SaleOrderRest;
 import net.chenlin.dp.modules.api.vo.YonyouSaleOrder;
 import net.chenlin.dp.modules.sys.service.SysUserService;
 import net.chenlin.dp.modules.sys.service.impl.SysUserServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -22,7 +27,7 @@ public class SaleOrderController {
     private  DingdingOpenInterface dingdingOpenInterface=new DingdingOpenInterface();
     private  Properties prop = PropUtil.getProperties("/config.properties");
     private SysUserService sysUserService= SpringContextUtils.getBean("sysUserService",SysUserService.class);
-
+    private SaleOrderMapper saleOrderMapper= SpringContextUtils.getBean("saleOrderMapper",SaleOrderMapper.class);
 
     /**
      * 获取u8销售订单创建钉钉销售订单审批实列
@@ -70,24 +75,65 @@ public class SaleOrderController {
         DingdingOpenInterface.getToken();
       String processCode= prop.getProperty("xsdd_process_code");
         String userid = prop.getProperty("u_shenhe_userid");
+
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - 10);
+        Date today = calendar.getTime();
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        String startDate = format.format(today);
+
+        String ordercode="";
+        String dept="";
+        String date="";
+        String msg="ok";
+        Boolean f=false;
         List<String> orderIdList = dingdingOpenInterface.getOrderIdList(processCode);
+        List<String> list = saleOrderMapper.SaleOrderByOA("销售订单", startDate, format.format(new Date()));
         if (orderIdList!=null&&!orderIdList.equals("")){
-          for (String id:orderIdList){
-              Map<String, Object> orderDetails = dingdingOpenInterface.getOrderDetails(id);
-              Map<String, Object> map = DingdingOpenInterface.tableToMap(orderDetails);
-              Object code = map.get("单据编号");
-              Object ext_value = map.get("单据编号_ext_value");
-              Object result = orderDetails.get("result");
-              if (!result.equals("")&&result!=null){
-                  if (result.equals("agree")){
-                      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
-                      String format = df.format(new Date());
-                      DynamicDataSource.setDataSource(ext_value.toString());
-                      sysUserService.Ordershenhe(code.toString(),format,format,"1",userid);
-                      DynamicDataSource.setDataSource("");
-                  }
-              }
-          }
+            outCycle: for (String id:orderIdList) {
+                OaOrder oaOrder=new OaOrder();
+                    if (list!=null &&list.size()>0){
+                        for (String oa:list){
+                            if (id.equals(oa)){
+                                continue outCycle;
+                            }
+                        }
+                    }
+                try {
+                    Map<String, Object> orderDetails = dingdingOpenInterface.getOrderDetails(id);
+                    Map<String, Object> map = DingdingOpenInterface.tableToMap(orderDetails);
+                    Object code = map.get("订单编号");
+                    Object ext_value = map.get("订单编号_ext_value");
+                    Object result = orderDetails.get("result");
+                    ordercode=code.toString();
+                    dept=orderDetails.get("originator_dept_name").toString();
+                    date=orderDetails.get("create_time").toString();
+                        if (!result.equals("")&&result!=null){
+                            if (result.equals("agree")){
+                                String format2 = df.format(new Date());
+                                DynamicDataSource.setDataSource(ext_value.toString());
+                                sysUserService.Ordershenhe(code.toString(),format2,format2,"1",userid);
+                                DynamicDataSource.setDataSource("");
+                                f=true;
+                            }
+                        }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    msg=e.toString();
+                }
+                if (f){
+                    oaOrder.setId(id);
+                    oaOrder.setOrderCode(ordercode);
+                    oaOrder.setType("销售订单");
+                    oaOrder.setDate(date);
+                    oaOrder.setDept(dept);
+                    oaOrder.setMsg(msg);
+                    saleOrderMapper.add(oaOrder);
+                    f=false;
+                }
+
+            }
         }
     }
 

+ 13 - 0
src/main/java/net/chenlin/dp/modules/api/dao/SaleOrderMapper.java

@@ -316,4 +316,17 @@ public interface SaleOrderMapper extends BaseMapper<YonyouSaleOrder> {
 	 * @return
 	 */
 	List<SaleOrderFTHMin>SaleOrderClassMin(@Param("id")String id);
+
+	/**
+	 * oa同步数据日志
+	 * @param type
+	 * @param startDate
+	 * @param endDate
+	 * @return
+	 */
+	List<String>SaleOrderByOA(@Param("type")String type,@Param("startDate")String startDate,@Param("endDate")String endDate);
+
+
+	int add(OaOrder oaOrder);
+
 }

+ 22 - 0
src/main/java/net/chenlin/dp/modules/api/mapper/SaleOrderMapper.xml

@@ -320,6 +320,16 @@
 		</foreach>
 
 	</insert>
+	<insert id="add">
+		insert into oa_order_view(oa_id,dept,order_code,type,message,create_date)values (
+		    #{id},
+		    #{dept},
+		    #{orderCode},
+		    #{type},
+		    #{msg},
+		    #{date}
+		)
+	</insert>
 	<update id="UpdateSaleOrder">
 		update CRM_U8_SO_SOMain set issyu8='1' where id=#{id}
 	</update>
@@ -559,6 +569,18 @@
 		select id from SA_QuoMain where cCode=#{code}
 
 	</select>
+    <select id="SaleOrderByOA" resultType="java.lang.String">
+		select oa_id as 'id' from oa_order_view where 1=1
+<if test="type!=null and ''!=type">
+	and type=#{type}
+</if>
+<if test="startDate!=null and ''!=startDate">
+	and DATE_FORMAT(create_date,'%Y%m%d%')>=DATE_FORMAT(#{startDate},'%Y%m%d%')
+</if>
+<if test="endDate!=null and ''!=endDate">
+	and DATE_FORMAT(create_date,'%Y%m%d%')&lt;=DATE_FORMAT(#{endDate},'%Y%m%d%')
+</if>
+	</select>
 
 
 </mapper>