LG88888888 3 vuotta sitten
vanhempi
commit
01b024bd93

+ 1 - 1
src/main/java/net/chenlin/dp/modules/api/controller/AcceptOrderController.java

@@ -42,7 +42,7 @@ public class AcceptOrderController {
                         DynamicDataSource.setDataSource("");
                     }else {
                         DynamicDataSource.setDataSource("last-data-source");
-                        saleOrderMapper.UpdateKSDTKOrder(Vouchcode,s,"0");
+                        saleOrderMapper.UpdateKSDTKOrder(Vouchcode,s,"1");
                         DynamicDataSource.setDataSource("");
                     }
                 }

+ 1 - 1
src/main/java/net/chenlin/dp/modules/api/controller/CustomerController.java

@@ -39,7 +39,7 @@ public class CustomerController {
                         DynamicDataSource.setDataSource("");
                     }else {
                         DynamicDataSource.setDataSource("last-data-source");
-                        customerMapper.UpdateCustomer(zfsp.getCode(),s,"0");
+                        customerMapper.UpdateCustomer(zfsp.getCode(),s,"1");
                         DynamicDataSource.setDataSource("");
                     }
                 }

+ 20 - 23
src/main/java/net/chenlin/dp/modules/api/controller/PayrequestController.java

@@ -14,6 +14,8 @@ import net.chenlin.dp.modules.api.vo.SaleOrderRest;
 import net.chenlin.dp.modules.sys.service.SysUserService;
 import net.chenlin.dp.modules.sys.service.impl.SysUserServiceImpl;
 
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -36,32 +38,25 @@ public class PayrequestController {
         String userid = prop.getProperty("userid");
         String deptid = prop.getProperty("deptid");
         String processCode= prop.getProperty("fksqd_process_code");
-        Map<String,String>map=new HashMap<>();
-        dingdingOpenInterface.getToken();
-       // List<Payrequest> payrequests = payrequestService.yonyouQueryPayrequest(map);
-        //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        //Date now = new Date();
-        //long time = 30*60*1000;//30分钟
-        //Date beforeDate = new Date(now .getTime() - time);//30分钟前的时间
-        DynamicDataSource.setDataSource(data);
-        List<String> list = sysUserService.queryPayrequestDate();
-        //DynamicDataSource.setDataSource("");
-        if(list!=null){
-            for (String payrequest:list){
-                Payrequest payrequest1 = payrequestService.yonyouGetPayrequest(payrequest,dataid);
-                if (payrequest1!=null){
-                  //  payrequestService.createPayrequest(processCode,1313665313L,"20264331162691",412163022L,payrequest1);
-                    Object payrequest2 = payrequestService.createPayrequest(processCode, Long.valueOf(agentid), userid, Long.valueOf(deptid), payrequest1,data);
-                    if (payrequest2!=null &&!"".equals(payrequest2)){
-                       // DynamicDataSource.setDataSource("slave-data-source");
-                        sysUserService.autoRIdByPayequest(payrequest,"fksqdSy");
+        try {
+            dingdingOpenInterface.getToken();
+            DynamicDataSource.setDataSource(data);
+            List<String> list = sysUserService.queryPayrequestDate();
+            if (list != null) {
+                for (String payrequest : list) {
+                    Payrequest payrequest1 = payrequestService.yonyouGetPayrequest(payrequest, dataid);
+                    if (payrequest1 != null) {
+                        Object payrequest2 = payrequestService.createPayrequest(processCode, Long.valueOf(agentid), userid, Long.valueOf(deptid), payrequest1, data);
+                        if (payrequest2 != null &&"0".equals(payrequest2)) {
+                            sysUserService.autoRIdByPayequest(payrequest, "fksqdSy");
+                        }
                     }
-
                 }
-
             }
+            DynamicDataSource.setDataSource("");
+        }catch (Exception e){
+            e.printStackTrace();
         }
-        DynamicDataSource.setDataSource("");
     }
 
     /**
@@ -125,7 +120,9 @@ public class PayrequestController {
 
                 }catch (Exception e){
                     e.printStackTrace();
-                    msg=e.toString();
+                    StringWriter sw = new StringWriter();
+                    e.printStackTrace(new PrintWriter(sw, true));
+                    msg=sw.toString();
                 }
                 if (f){
                     oaOrder.setId(id);

+ 5 - 9
src/main/java/net/chenlin/dp/modules/api/controller/PurchaseOrderController.java

@@ -14,6 +14,8 @@ 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 java.io.PrintWriter;
+import java.io.StringWriter;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -38,22 +40,14 @@ public class PurchaseOrderController {
         String deptid = prop.getProperty("deptid");
         purchaseOrderService.getToaccount();
         dingdingOpenInterface.getToken();
-        //List<YonyouPurchaseOrder> list = purchaseOrderService.yonyouQueryPurchaseOrder(map);
-//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//        Date now = new Date();
-//        long time = 30*60*1000;//30分钟
-//        Date beforeDate = new Date(now .getTime() - time);//30分钟前的时间
         DynamicDataSource.setDataSource(data);
         List<String> list= sysUserService.queryPurchaseOrderDate();
-        //DynamicDataSource.setDataSource("");
         if (list!=null){
             for (String purchaseOrders:list){
                 YonyouPurchaseOrder purchaseOrder = purchaseOrderService.yonyouGetPurchaseOrder(purchaseOrders,dataid);
                 if (purchaseOrder!=null){
-                   // purchaseOrderService.createPurchaseOrder(processCode,1313665313L,"20264331162691",412163022L,purchaseOrder);
                     Object purchaseOrder1 = purchaseOrderService.createPurchaseOrder(processCode, Long.valueOf(agentid), userid, Long.valueOf(deptid), purchaseOrder,data);
                     if (purchaseOrder1!=null &&!"".equals(purchaseOrder1)){
-                       // DynamicDataSource.setDataSource("slave-data-source");
                         sysUserService.autoRIdByOrder(purchaseOrders,"cgddSy");
                     }
                 }
@@ -116,7 +110,9 @@ public class PurchaseOrderController {
                     }
                 }catch (Exception e){
                     e.printStackTrace();
-                    msg=e.toString();
+                    StringWriter sw = new StringWriter();
+                    e.printStackTrace(new PrintWriter(sw, true));
+                    msg=sw.toString();
                 }
                 if (f){
                     oaOrder.setId(id);

+ 20 - 22
src/main/java/net/chenlin/dp/modules/api/controller/SaleOrderController.java

@@ -40,31 +40,27 @@ public class SaleOrderController {
         String agentid = prop.getProperty("agentid");
         String userid = prop.getProperty("userid");
         String deptid = prop.getProperty("deptid");
-        // Map<String,String>map=new HashMap<>();
-        service.getToaccount();
-        dingdingOpenInterface.getToken();
-       // List<YonyouSaleOrder> list = service.yonyouQuerySaleOrder(map);
-//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//        Date now = new Date();
-//        long time = 30*60*1000;//30分钟
-//        Date beforeDate = new Date(now .getTime() - time);//30分钟前的时间
-        DynamicDataSource.setDataSource(data);
-        List<String> list = sysUserService.querySaleOrderDate();
-      //  DynamicDataSource.setDataSource("");
-        if (list!=null){
-            for (String saleOrder:list){
-                YonyouSaleOrder yonyouSaleOrder = service.yonyouGetSaleOrder(saleOrder,dataid);
-                if (yonyouSaleOrder!=null){
-//                    service.createOrder(processCode,1313665313L,"20264331162691",412163022L,yonyouSaleOrder);
-                    Object order = service.createOrder2(processCode, Long.valueOf(agentid), userid, Long.valueOf(deptid), yonyouSaleOrder,data);
-                    if (order!=null &&!order.equals("")){
-                    //    DynamicDataSource.setDataSource("slave-data-source");
-                        sysUserService.autoRIdBySale(saleOrder,"xsddSy");
+        try {
+            service.getToaccount();
+            dingdingOpenInterface.getToken();
+            DynamicDataSource.setDataSource(data);
+            List<String> list = sysUserService.querySaleOrderDate();
+            if (list != null) {
+                for (String saleOrder : list) {
+                    YonyouSaleOrder yonyouSaleOrder = service.yonyouGetSaleOrder(saleOrder, dataid);
+                    if (yonyouSaleOrder != null) {
+                        Object order = service.createOrder2(processCode, Long.valueOf(agentid), userid, Long.valueOf(deptid), yonyouSaleOrder, data);
+                        if (order != null && order.equals("0")) {
+                            sysUserService.autoRIdBySale(saleOrder, "xsddSy");
+                        }
                     }
                 }
             }
+            DynamicDataSource.setDataSource("");
+
+        }catch (Exception e){
+            e.printStackTrace();
         }
-        DynamicDataSource.setDataSource("");
     }
 
 
@@ -121,7 +117,9 @@ public class SaleOrderController {
                         }
                 } catch (Exception e) {
                     e.printStackTrace();
-                    msg=e.toString();
+                    StringWriter sw = new StringWriter();
+                    e.printStackTrace(new PrintWriter(sw, true));
+                    msg=sw.toString();
                 }
                 if (f){
                     oaOrder.setId(id);

+ 151 - 143
src/main/java/net/chenlin/dp/modules/api/service/PayrequestService.java

@@ -22,6 +22,8 @@ import net.chenlin.dp.modules.api.vo.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.math.BigDecimal;
 import java.util.*;
 
@@ -192,150 +194,156 @@ public class PayrequestService extends BaseService {
      * @throws ApiException
      */
     public Object createPayrequest(String processCode, Long agentid, String userid, Long deptid, Payrequest so,String data) throws ApiException {
-        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/create");
-        OapiProcessinstanceCreateRequest req = new OapiProcessinstanceCreateRequest();
-        req.setAgentId(agentid);
-        req.setProcessCode(processCode);
-        req.setOriginatorUserId(userid);
-        req.setDeptId(deptid);
-        req.setCcPosition("START");
-        String useridshenh = prop.getProperty("shenhe_userid");
-        if (!useridshenh.equals("")){
-            List<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo> processInstanceApproverVoList = new ArrayList<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo>();
-            OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo processInstanceApproverVo = new OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo();
-            processInstanceApproverVoList.add(processInstanceApproverVo);
-            processInstanceApproverVo.setTaskActionType("NONE");
-            processInstanceApproverVo.setUserIds(Arrays.asList(useridshenh));
-            req.setApproversV2(processInstanceApproverVoList);
-        }
-        if (so!=null){
-            List<OapiProcessinstanceCreateRequest.FormComponentValueVo> formComponentValueVoList = new ArrayList<OapiProcessinstanceCreateRequest.FormComponentValueVo>();
-            OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueVo = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            formComponentValueVo.setName("日期");
-            formComponentValueVo.setValue(so.getDvouchdate());
-            formComponentValueVo.setExtValue(data);
-            formComponentValueVoList.add(formComponentValueVo);
-
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc.setName("部门");
-            if (so.getCdepname()!=null&&!so.getCdepname().equals("")){
-                fc.setValue(so.getCdepname());
-            }else {
-                fc.setValue("暂无");
-            }
-
-            formComponentValueVoList.add(fc);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc2.setName("供应商");
-            if (so.getCvenname()!=null&&!so.getCvenname().equals("")){
-                fc2.setValue(so.getCvenname());
-            }else {
-                fc2.setValue("暂无");
-            }
-
-            formComponentValueVoList.add(fc2);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc3.setName("结算方式");
-            if (so.getCssname()!=null&&!so.getCssname().equals("0E-10")){
-                fc3.setValue(so.getCssname());
-            }else {
-                fc3.setValue("暂无");
-            }
-            formComponentValueVoList.add(fc3);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc4 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc4.setName("申请人");
-            if (so.getCpersonname()!=null&&!so.getCpersonname().equals("")){
-                fc4.setValue(so.getCpersonname());
-            }else {
-                fc4.setValue("暂无");
-            }
-            formComponentValueVoList.add(fc4);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc6 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc6.setName("付款日期");
-            if (so.getEntry().size()>0&&!so.getEntry().get(0).getDprepaydate().equals("")){
-                fc6.setValue(so.getEntry().get(0).getDprepaydate());
-            }else {
-                fc6.setValue(so.getDvouchdate());
-            }
-            formComponentValueVoList.add(fc6);
-
-            List<List<OapiProcessinstanceCreateRequest.FormComponentValueVo>>ls=new ArrayList<>();
-            BigDecimal a =new BigDecimal("0");
-            for (PayrequestMin s:so.getEntry()){
-                List<OapiProcessinstanceCreateRequest.FormComponentValueVo>mingxilist=new ArrayList<>();
-                OapiProcessinstanceCreateRequest.FormComponentValueVo mingxi2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                mingxi2.setName("来源单据号");
-                mingxi2.setValue(so.getCvouchid());
-                mingxilist.add(mingxi2);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc7.setName("存货名称");
-                if (s.getCinvname()!=null&&!s.getCinvname().equals("")){
-                    fc7.setValue(s.getCinvname());
-                }else {
-                    fc7.setValue("暂无");
-                }
-                mingxilist.add(fc7);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc8 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc8.setName("存货数量");
-                if (s.getIapplyamt_s()!=null&&!s.getIapplyamt_s().equals("0E-10")){
-                    fc8.setValue(new BigDecimal(s.getIapplyamt_s()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fc8.setValue("0");
-                }
-                mingxilist.add(fc8);
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc9 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc9.setName("单价");
-                if (s.getInattaxprice()!=null&&!s.getInattaxprice().equals("0E-10")){
-                    fc9.setValue(new BigDecimal(s.getInattaxprice()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fc9.setValue("0");
-                }
-                mingxilist.add(fc9);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc10= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc10.setName("金额");
-                if (s.getIapplyamt()!=null&&!s.getIapplyamt().equals("0E-10")){
-                    fc10.setValue(new BigDecimal(s.getIapplyamt()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                    BigDecimal b=new BigDecimal(s.getIapplyamt());
-                    BigDecimal add = a.add(b);
-                    a=add;
-                }else {
-                    fc10.setValue("0");
-                }
-                mingxilist.add(fc10);
-                ls.add(mingxilist);
-            }
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc5 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc5.setName("申请金额");
-            fc5.setValue(a.setScale(2,BigDecimal.ROUND_HALF_UP).toString());
+            String msg="";
+       try {
+
+           DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/create");
+           OapiProcessinstanceCreateRequest req = new OapiProcessinstanceCreateRequest();
+           req.setAgentId(agentid);
+           req.setProcessCode(processCode);
+           req.setOriginatorUserId(userid);
+           req.setDeptId(deptid);
+           req.setCcPosition("START");
+           String useridshenh = prop.getProperty("shenhe_userid");
+           if (!useridshenh.equals("")) {
+               List<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo> processInstanceApproverVoList = new ArrayList<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo>();
+               OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo processInstanceApproverVo = new OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo();
+               processInstanceApproverVoList.add(processInstanceApproverVo);
+               processInstanceApproverVo.setTaskActionType("NONE");
+               processInstanceApproverVo.setUserIds(Arrays.asList(useridshenh));
+               req.setApproversV2(processInstanceApproverVoList);
+           }
+           if (so != null) {
+               List<OapiProcessinstanceCreateRequest.FormComponentValueVo> formComponentValueVoList = new ArrayList<OapiProcessinstanceCreateRequest.FormComponentValueVo>();
+               OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueVo = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+               formComponentValueVo.setName("日期");
+               formComponentValueVo.setValue(so.getDvouchdate());
+               formComponentValueVo.setExtValue(data);
+               formComponentValueVoList.add(formComponentValueVo);
+
+
+               OapiProcessinstanceCreateRequest.FormComponentValueVo fc = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+               fc.setName("部门");
+               if (so.getCdepname() != null && !so.getCdepname().equals("")) {
+                   fc.setValue(so.getCdepname());
+               } else {
+                   fc.setValue("暂无");
+               }
+
+               formComponentValueVoList.add(fc);
+
+               OapiProcessinstanceCreateRequest.FormComponentValueVo fc2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+               fc2.setName("供应商");
+               if (so.getCvenname() != null && !so.getCvenname().equals("")) {
+                   fc2.setValue(so.getCvenname());
+               } else {
+                   fc2.setValue("暂无");
+               }
+
+               formComponentValueVoList.add(fc2);
+
+               OapiProcessinstanceCreateRequest.FormComponentValueVo fc3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+               fc3.setName("结算方式");
+               if (so.getCssname() != null && !so.getCssname().equals("0E-10")) {
+                   fc3.setValue(so.getCssname());
+               } else {
+                   fc3.setValue("暂无");
+               }
+               formComponentValueVoList.add(fc3);
+
+               OapiProcessinstanceCreateRequest.FormComponentValueVo fc4 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+               fc4.setName("申请人");
+               if (so.getCpersonname() != null && !so.getCpersonname().equals("")) {
+                   fc4.setValue(so.getCpersonname());
+               } else {
+                   fc4.setValue("暂无");
+               }
+               formComponentValueVoList.add(fc4);
+
+               OapiProcessinstanceCreateRequest.FormComponentValueVo fc6 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+               fc6.setName("付款日期");
+               if (so.getEntry().size() > 0 && !so.getEntry().get(0).getDprepaydate().equals("")) {
+                   fc6.setValue(so.getEntry().get(0).getDprepaydate());
+               } else {
+                   fc6.setValue(so.getDvouchdate());
+               }
+               formComponentValueVoList.add(fc6);
+
+               List<List<OapiProcessinstanceCreateRequest.FormComponentValueVo>> ls = new ArrayList<>();
+               BigDecimal a = new BigDecimal("0");
+               for (PayrequestMin s : so.getEntry()) {
+                   List<OapiProcessinstanceCreateRequest.FormComponentValueVo> mingxilist = new ArrayList<>();
+                   OapiProcessinstanceCreateRequest.FormComponentValueVo mingxi2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                   mingxi2.setName("来源单据号");
+                   mingxi2.setValue(so.getCvouchid());
+                   mingxilist.add(mingxi2);
+
+                   OapiProcessinstanceCreateRequest.FormComponentValueVo fc7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                   fc7.setName("存货名称");
+                   if (s.getCinvname() != null && !s.getCinvname().equals("")) {
+                       fc7.setValue(s.getCinvname());
+                   } else {
+                       fc7.setValue("暂无");
+                   }
+                   mingxilist.add(fc7);
+
+                   OapiProcessinstanceCreateRequest.FormComponentValueVo fc8 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                   fc8.setName("存货数量");
+                   if (s.getIapplyamt_s() != null && !s.getIapplyamt_s().equals("0E-10")) {
+                       fc8.setValue(new BigDecimal(s.getIapplyamt_s()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                   } else {
+                       fc8.setValue("0");
+                   }
+                   mingxilist.add(fc8);
+                   OapiProcessinstanceCreateRequest.FormComponentValueVo fc9 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                   fc9.setName("单价");
+                   if (s.getInattaxprice() != null && !s.getInattaxprice().equals("0E-10")) {
+                       fc9.setValue(new BigDecimal(s.getInattaxprice()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                   } else {
+                       fc9.setValue("0");
+                   }
+                   mingxilist.add(fc9);
+
+                   OapiProcessinstanceCreateRequest.FormComponentValueVo fc10 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                   fc10.setName("金额");
+                   if (s.getIapplyamt() != null && !s.getIapplyamt().equals("0E-10")) {
+                       fc10.setValue(new BigDecimal(s.getIapplyamt()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                       BigDecimal b = new BigDecimal(s.getIapplyamt());
+                       BigDecimal add = a.add(b);
+                       a = add;
+                   } else {
+                       fc10.setValue("0");
+                   }
+                   mingxilist.add(fc10);
+                   ls.add(mingxilist);
+               }
+               OapiProcessinstanceCreateRequest.FormComponentValueVo fc5 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+               fc5.setName("申请金额");
+               fc5.setValue(a.setScale(2, BigDecimal.ROUND_HALF_UP).toString());
 //                fc5.setValue(so.getPersonname());
-            formComponentValueVoList.add(fc5);
-
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo obj7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            obj7.setName("表格");
-            obj7.setValue(JSON.toJSONString(ls));
-            formComponentValueVoList.add(obj7);
-
-            req.setFormComponentValues(formComponentValueVoList);
-            OapiProcessinstanceCreateResponse rsp = client.execute(req, dingdingOpenInterface.gettoken);
-            System.out.println(rsp.getBody());
-            String code = rsp.getErrorCode();
-            if (code.equals("0")||code.equals(0)){
-                return rsp.getProcessInstanceId();
-            }else {
-                return null;
-            }
-        }else {
-            return null;
-        }
+               formComponentValueVoList.add(fc5);
+
+
+               OapiProcessinstanceCreateRequest.FormComponentValueVo obj7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+               obj7.setName("表格");
+               obj7.setValue(JSON.toJSONString(ls));
+               formComponentValueVoList.add(obj7);
+
+               req.setFormComponentValues(formComponentValueVoList);
+               OapiProcessinstanceCreateResponse rsp = client.execute(req, dingdingOpenInterface.gettoken);
+               System.out.println(rsp.getBody());
+               String code = rsp.getErrorCode();
+               if (code.equals("0") || code.equals(0)) {
+                   return code;
+               }
+           }
+       }catch (Exception e){
+           e.printStackTrace();
+           StringWriter sw = new StringWriter();
+           e.printStackTrace(new PrintWriter(sw, true));
+           msg=sw.toString();
+       }
+       return  msg;
     }
 
 

+ 203 - 196
src/main/java/net/chenlin/dp/modules/api/service/PurchaseOrderService.java

@@ -17,6 +17,8 @@ import net.chenlin.dp.modules.api.vo.YonyouPurchaseMaterial;
 import net.chenlin.dp.modules.api.vo.YonyouPurchaseOrder;
 import net.chenlin.dp.modules.api.vo.YonyouSaleOrder;
 
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.math.BigDecimal;
 import java.util.*;
 
@@ -148,222 +150,227 @@ public class PurchaseOrderService {
      * @throws ApiException
      */
     public Object createPurchaseOrder(String processCode, Long agentid, String userid, Long deptid, YonyouPurchaseOrder so,String data) throws ApiException {
-        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/create");
-        OapiProcessinstanceCreateRequest req = new OapiProcessinstanceCreateRequest();
-        BigDecimal countSum=new BigDecimal("0");
-        req.setAgentId(agentid);
-        req.setProcessCode(processCode);
-        req.setOriginatorUserId(userid);
-        req.setDeptId(deptid);
-        req.setCcPosition("START");
-        String useridshenh = prop.getProperty("shenhe_userid");
-
-        if (!useridshenh.equals("")){
-            List<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo> processInstanceApproverVoList = new ArrayList<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo>();
-        OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo processInstanceApproverVo = new OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo();
-        processInstanceApproverVoList.add(processInstanceApproverVo);
-        processInstanceApproverVo.setTaskActionType("NONE");
-        processInstanceApproverVo.setUserIds(Arrays.asList(useridshenh));
-        req.setApproversV2(processInstanceApproverVoList);
-        }
-
-
-        if (so!=null){
-            List<OapiProcessinstanceCreateRequest.FormComponentValueVo> formComponentValueVoList = new ArrayList<OapiProcessinstanceCreateRequest.FormComponentValueVo>();
-            OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueVo = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            formComponentValueVo.setName("业务类型");
-            if (so.getOperation_type_code()!=null&&!so.getOperation_type_code().equals("")){
-                formComponentValueVo.setValue(so.getOperation_type_code());
-            }else {
-                formComponentValueVo.setValue("暂无");
-            }
-            formComponentValueVoList.add(formComponentValueVo);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc2.setName("单据编号");
-            fc2.setValue(so.getCode());
-            fc2.setExtValue(data);
-            formComponentValueVoList.add(fc2);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc.setName("单据日期");
-            fc.setValue(so.getDate());
-            formComponentValueVoList.add(fc);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc3.setName("供应商名称");
-            if (so.getVendorname()!=null&&!so.getVendorname().equals("")){
-                fc3.setValue(so.getVendorname());
-            }else {
-                fc3.setValue("暂无");
-            }
-            formComponentValueVoList.add(fc3);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fv = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fv.setName("收货地址");
-            if (so.getDefine12()!=null&&!so.getDefine12().equals("")){
-                fv.setValue(so.getDefine12());
-            }else {
-                fv.setValue("暂无");
-            }
-            formComponentValueVoList.add(fv);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc4 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc4.setName("部门");
-            if (so.getDeptname()!=null&&!so.getDeptname().equals("")){
-                fc4.setValue(so.getDeptname());
-            }else {
-                fc4.setValue("暂无");
-            }
-            formComponentValueVoList.add(fc4);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc5 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc5.setName("业务员");
-            if (so.getPersonname()!=null&&!so.getPersonname().equals("")){
-                fc5.setValue(so.getPersonname());
-            }else {
-                fc5.setValue("暂无");
-            }
-            formComponentValueVoList.add(fc5);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc6 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc6.setName("币种");
-            fc6.setValue("人民币");
-            formComponentValueVoList.add(fc6);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo f= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            f.setName("制单人");
-            if (so.getMaker()!=null&&!so.getMaker().equals("")){
-                f.setValue(so.getMaker());
-            }else {
-                f.setValue("暂无");
+            String msg="";
+        try {
+            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/create");
+            OapiProcessinstanceCreateRequest req = new OapiProcessinstanceCreateRequest();
+            BigDecimal countSum = new BigDecimal("0");
+            req.setAgentId(agentid);
+            req.setProcessCode(processCode);
+            req.setOriginatorUserId(userid);
+            req.setDeptId(deptid);
+            req.setCcPosition("START");
+            String useridshenh = prop.getProperty("shenhe_userid");
+
+            if (!useridshenh.equals("")) {
+                List<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo> processInstanceApproverVoList = new ArrayList<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo>();
+                OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo processInstanceApproverVo = new OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo();
+                processInstanceApproverVoList.add(processInstanceApproverVo);
+                processInstanceApproverVo.setTaskActionType("NONE");
+                processInstanceApproverVo.setUserIds(Arrays.asList(useridshenh));
+                req.setApproversV2(processInstanceApproverVoList);
             }
-            formComponentValueVoList.add(f);
 
-            List<List<OapiProcessinstanceCreateRequest.FormComponentValueVo>>ls=new ArrayList<>();
 
-            for (YonyouPurchaseMaterial s:so.getEntry()){
-                List<OapiProcessinstanceCreateRequest.FormComponentValueVo>mingxilist=new ArrayList<>();
-                OapiProcessinstanceCreateRequest.FormComponentValueVo mingxi2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                mingxi2.setName("存货名称");
-                if (s.getInventoryname()!=null&&!s.getInventoryname().equals("")){
-                    mingxi2.setValue(s.getInventoryname());
-                }else {
-                    mingxi2.setValue("暂无");
+            if (so != null) {
+                List<OapiProcessinstanceCreateRequest.FormComponentValueVo> formComponentValueVoList = new ArrayList<OapiProcessinstanceCreateRequest.FormComponentValueVo>();
+                OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueVo = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                formComponentValueVo.setName("业务类型");
+                if (so.getOperation_type_code() != null && !so.getOperation_type_code().equals("")) {
+                    formComponentValueVo.setValue(so.getOperation_type_code());
+                } else {
+                    formComponentValueVo.setValue("暂无");
                 }
-                mingxilist.add(mingxi2);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fo = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fo.setName("数量");
-                if (s.getQuantity()!=null&&!s.getQuantity().equals("0E-10")){
-                    fo.setValue(new BigDecimal(s.getQuantity()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fo.setValue("0");
-                }
-                mingxilist.add(fo);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc7.setName("含税单价");
-                if (s.getTaxprice()!=null&&!s.getTaxprice().equals("0E-10")){
-                    fc7.setValue(new BigDecimal(s.getTaxprice()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fc7.setValue("0");
+                formComponentValueVoList.add(formComponentValueVo);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fc2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fc2.setName("单据编号");
+                fc2.setValue(so.getCode());
+                fc2.setExtValue(data);
+                formComponentValueVoList.add(fc2);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fc = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fc.setName("单据日期");
+                fc.setValue(so.getDate());
+                formComponentValueVoList.add(fc);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fc3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fc3.setName("供应商名称");
+                if (so.getVendorname() != null && !so.getVendorname().equals("")) {
+                    fc3.setValue(so.getVendorname());
+                } else {
+                    fc3.setValue("暂无");
                 }
-                mingxilist.add(fc7);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc8 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc8.setName("无税单价");
-                if (s.getPrice()!=null&&!s.getPrice().equals("0E-10")){
-                    fc8.setValue(new BigDecimal(s.getPrice()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fc8.setValue("0");
+                formComponentValueVoList.add(fc3);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fv = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fv.setName("收货地址");
+                if (so.getDefine12() != null && !so.getDefine12().equals("")) {
+                    fv.setValue(so.getDefine12());
+                } else {
+                    fv.setValue("暂无");
                 }
-                mingxilist.add(fc8);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc9 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc9.setName("税率");
-                if (s.getTaxrate()!=null&&!s.getTaxrate().equals("0E-10")){
-                    fc9.setValue(new BigDecimal(s.getTaxrate()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fc9.setValue("暂无");
+                formComponentValueVoList.add(fv);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fc4 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fc4.setName("部门");
+                if (so.getDeptname() != null && !so.getDeptname().equals("")) {
+                    fc4.setValue(so.getDeptname());
+                } else {
+                    fc4.setValue("暂无");
                 }
-                mingxilist.add(fc9);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc10= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc10.setName("无税金额");
-                if (s.getMoney()!=null&&!s.getMoney().equals("0E-10")){
-                    fc10.setValue(new BigDecimal(s.getMoney()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fc10.setValue("0");
+                formComponentValueVoList.add(fc4);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fc5 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fc5.setName("业务员");
+                if (so.getPersonname() != null && !so.getPersonname().equals("")) {
+                    fc5.setValue(so.getPersonname());
+                } else {
+                    fc5.setValue("暂无");
                 }
-                mingxilist.add(fc10);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc11= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc11.setName("税额");
-                if (s.getMoney()!=null&&!s.getMoney().equals("0E-10")){
-                    BigDecimal sum=new BigDecimal(s.getSum());
-                    BigDecimal money=new BigDecimal(s.getMoney());
-                    BigDecimal subtract = sum.subtract(money);
-                    fc11.setValue(subtract.setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fc11.setValue("0");
+                formComponentValueVoList.add(fc5);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fc6 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fc6.setName("币种");
+                fc6.setValue("人民币");
+                formComponentValueVoList.add(fc6);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo f = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                f.setName("制单人");
+                if (so.getMaker() != null && !so.getMaker().equals("")) {
+                    f.setValue(so.getMaker());
+                } else {
+                    f.setValue("暂无");
                 }
+                formComponentValueVoList.add(f);
+
+                List<List<OapiProcessinstanceCreateRequest.FormComponentValueVo>> ls = new ArrayList<>();
+
+                for (YonyouPurchaseMaterial s : so.getEntry()) {
+                    List<OapiProcessinstanceCreateRequest.FormComponentValueVo> mingxilist = new ArrayList<>();
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo mingxi2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    mingxi2.setName("存货名称");
+                    if (s.getInventoryname() != null && !s.getInventoryname().equals("")) {
+                        mingxi2.setValue(s.getInventoryname());
+                    } else {
+                        mingxi2.setValue("暂无");
+                    }
+                    mingxilist.add(mingxi2);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo fo = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    fo.setName("数量");
+                    if (s.getQuantity() != null && !s.getQuantity().equals("0E-10")) {
+                        fo.setValue(new BigDecimal(s.getQuantity()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    } else {
+                        fo.setValue("0");
+                    }
+                    mingxilist.add(fo);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo fc7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    fc7.setName("含税单价");
+                    if (s.getTaxprice() != null && !s.getTaxprice().equals("0E-10")) {
+                        fc7.setValue(new BigDecimal(s.getTaxprice()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    } else {
+                        fc7.setValue("0");
+                    }
+                    mingxilist.add(fc7);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo fc8 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    fc8.setName("无税单价");
+                    if (s.getPrice() != null && !s.getPrice().equals("0E-10")) {
+                        fc8.setValue(new BigDecimal(s.getPrice()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    } else {
+                        fc8.setValue("0");
+                    }
+                    mingxilist.add(fc8);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo fc9 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    fc9.setName("税率");
+                    if (s.getTaxrate() != null && !s.getTaxrate().equals("0E-10")) {
+                        fc9.setValue(new BigDecimal(s.getTaxrate()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    } else {
+                        fc9.setValue("暂无");
+                    }
+                    mingxilist.add(fc9);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo fc10 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    fc10.setName("无税金额");
+                    if (s.getMoney() != null && !s.getMoney().equals("0E-10")) {
+                        fc10.setValue(new BigDecimal(s.getMoney()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    } else {
+                        fc10.setValue("0");
+                    }
+                    mingxilist.add(fc10);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo fc11 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    fc11.setName("税额");
+                    if (s.getMoney() != null && !s.getMoney().equals("0E-10")) {
+                        BigDecimal sum = new BigDecimal(s.getSum());
+                        BigDecimal money = new BigDecimal(s.getMoney());
+                        BigDecimal subtract = sum.subtract(money);
+                        fc11.setValue(subtract.setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    } else {
+                        fc11.setValue("0");
+                    }
 //                    fc11.setValue(s.getTax());
-                mingxilist.add(fc11);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc12= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc12.setName("价税合计");
-                if (s.getSum()!=null&&!s.getSum().equals("0E-10")){
-                    countSum=countSum.add(new BigDecimal(s.getSum()));
-                    fc12.setValue(new BigDecimal(s.getSum()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fc12.setValue("0");
-                }
-                mingxilist.add(fc12);
+                    mingxilist.add(fc11);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo fc12 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    fc12.setName("价税合计");
+                    if (s.getSum() != null && !s.getSum().equals("0E-10")) {
+                        countSum = countSum.add(new BigDecimal(s.getSum()));
+                        fc12.setValue(new BigDecimal(s.getSum()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    } else {
+                        fc12.setValue("0");
+                    }
+                    mingxilist.add(fc12);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo soCode = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    soCode.setName("销售订单号");
+                    if (s.getDefine33() != null && !s.getDefine33().equals("")) {
+                        soCode.setValue(s.getDefine33());
+                    } else {
+                        soCode.setValue("暂无");
+                    }
+                    mingxilist.add(soCode);
 
-                OapiProcessinstanceCreateRequest.FormComponentValueVo soCode= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                soCode.setName("销售订单号");
-                if (s.getDefine33()!=null&&!s.getDefine33().equals("")){
-                    soCode.setValue(s.getDefine33());
-                }else {
-                    soCode.setValue("暂无");
-                }
-                mingxilist.add(soCode);
 
+                    if (s.getArrivedate() != null && !s.getArrivedate().equals("")) {
+                        OapiProcessinstanceCreateRequest.FormComponentValueVo fc13 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                        fc13.setName("交期");
+                        fc13.setValue(s.getArrivedate());
+                        mingxilist.add(fc13);
+                    }
+                    ls.add(mingxilist);
 
-                if (s.getArrivedate()!=null&&!s.getArrivedate().equals("")){
-                    OapiProcessinstanceCreateRequest.FormComponentValueVo fc13= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                    fc13.setName("交期");
-                    fc13.setValue(s.getArrivedate());
-                    mingxilist.add(fc13);
                 }
-                ls.add(mingxilist);
-
-            }
-            OapiProcessinstanceCreateRequest.FormComponentValueVo pso = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            pso.setName("总金额");
-            pso.setValue(countSum.setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-            formComponentValueVoList.add(pso);
+                OapiProcessinstanceCreateRequest.FormComponentValueVo pso = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                pso.setName("总金额");
+                pso.setValue(countSum.setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                formComponentValueVoList.add(pso);
 
 
-            OapiProcessinstanceCreateRequest.FormComponentValueVo obj7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            obj7.setName("表格");
-            obj7.setValue(JSON.toJSONString(ls));
-            formComponentValueVoList.add(obj7);
+                OapiProcessinstanceCreateRequest.FormComponentValueVo obj7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                obj7.setName("表格");
+                obj7.setValue(JSON.toJSONString(ls));
+                formComponentValueVoList.add(obj7);
 
-            req.setFormComponentValues(formComponentValueVoList);
+                req.setFormComponentValues(formComponentValueVoList);
 
-            OapiProcessinstanceCreateResponse rsp = client.execute(req, dingdingOpenInterface.gettoken);
-            System.out.println(rsp.getBody());
-            String code = rsp.getErrorCode();
-            if (code.equals("0")||code.equals(0)){
-                return rsp.getProcessInstanceId();
-            }else {
-                return null;
+                OapiProcessinstanceCreateResponse rsp = client.execute(req, dingdingOpenInterface.gettoken);
+                System.out.println(rsp.getBody());
+                String code = rsp.getErrorCode();
+                if (code.equals("0") || code.equals(0)) {
+                    return code;
+                }
             }
-        }else {
-            return null;
+        }catch (Exception e){
+            e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg=sw.toString();
         }
+        return msg;
     }
 
 

+ 179 - 174
src/main/java/net/chenlin/dp/modules/api/service/SaleOrderService.java

@@ -414,194 +414,199 @@ public class SaleOrderService {
      */
     public Object createOrder2(String processCode, Long agentid, String userid, Long deptid, YonyouSaleOrder so,String data) throws ApiException {
         String useridshenh = prop.getProperty("shenhe_userid");
-        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/create");
-        OapiProcessinstanceCreateRequest req = new OapiProcessinstanceCreateRequest();
-        req.setAgentId(agentid);
-        req.setProcessCode(processCode);
-        req.setOriginatorUserId(userid);
-        req.setDeptId(deptid);
-        req.setCcPosition("START");
-        if (!useridshenh.equals("")){
-            List<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo> processInstanceApproverVoList = new ArrayList<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo>();
-            OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo processInstanceApproverVo = new OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo();
-            processInstanceApproverVoList.add(processInstanceApproverVo);
-            processInstanceApproverVo.setTaskActionType("NONE");
-            processInstanceApproverVo.setUserIds(Arrays.asList(useridshenh));
-            req.setApproversV2(processInstanceApproverVoList);
-        }
-        if (so!=null){
-            List<OapiProcessinstanceCreateRequest.FormComponentValueVo> formComponentValueVoList = new ArrayList<OapiProcessinstanceCreateRequest.FormComponentValueVo>();
-            OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueVo = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            formComponentValueVo.setName("业务类型");
-            if(so.getBusinesstype()!=null&&!so.getBusinesstype().equals("")){
-                formComponentValueVo.setValue(so.getBusinesstype());
-            }else {
-                formComponentValueVo.setValue("暂无");
-            }
-            formComponentValueVoList.add(formComponentValueVo);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc.setName("订单日期");
-            fc.setValue(so.getDate());
-            formComponentValueVoList.add(fc);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc2.setName("订单编号");
-            fc2.setValue(so.getCode());
-            fc2.setExtValue(data);
-            formComponentValueVoList.add(fc2);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc3.setName("客户名称");
-            if(so.getCusname()!=null&&!so.getCusname().equals("")){
-                fc3.setValue(so.getCusname());
-            }else {
-                fc3.setValue("暂无");
-            }
-            formComponentValueVoList.add(fc3);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc4 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc4.setName("下单部门");
-            if(so.getDeptname()!=null&&!so.getDeptname().equals("")){
-                fc4.setValue(so.getDeptname());
-            }else {
-                fc4.setValue("暂无");
-            }
-            formComponentValueVoList.add(fc4);
-
-            OapiProcessinstanceCreateRequest.FormComponentValueVo fc5 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            fc5.setName("业务员");
-            if(so.getPersonname()!=null&&!so.getPersonname().equals("")){
-                fc5.setValue(so.getPersonname());
-            }else {
-                fc5.setValue("暂无");
+        String msg="";
+        try {
+            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/create");
+            OapiProcessinstanceCreateRequest req = new OapiProcessinstanceCreateRequest();
+            req.setAgentId(agentid);
+            req.setProcessCode(processCode);
+            req.setOriginatorUserId(userid);
+            req.setDeptId(deptid);
+            req.setCcPosition("START");
+            if (!useridshenh.equals("")) {
+                List<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo> processInstanceApproverVoList = new ArrayList<OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo>();
+                OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo processInstanceApproverVo = new OapiProcessinstanceCreateRequest.ProcessInstanceApproverVo();
+                processInstanceApproverVoList.add(processInstanceApproverVo);
+                processInstanceApproverVo.setTaskActionType("NONE");
+                processInstanceApproverVo.setUserIds(Arrays.asList(useridshenh));
+                req.setApproversV2(processInstanceApproverVoList);
             }
-            formComponentValueVoList.add(fc5);
-
-
-            List<List<OapiProcessinstanceCreateRequest.FormComponentValueVo>>ls=new ArrayList<>();
-
-            for (YonyouMaterial s:so.getentry()){
-                List<OapiProcessinstanceCreateRequest.FormComponentValueVo>mingxilist=new ArrayList<>();
-                OapiProcessinstanceCreateRequest.FormComponentValueVo sot = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                sot.setName("存货编码");
-                if(s.getInventorycode()!=null&&!s.getInventorycode().equals("")){
-                    sot.setValue(s.getInventorycode());
-                }else{
-                    sot.setValue("暂无");
+            if (so != null) {
+                List<OapiProcessinstanceCreateRequest.FormComponentValueVo> formComponentValueVoList = new ArrayList<OapiProcessinstanceCreateRequest.FormComponentValueVo>();
+                OapiProcessinstanceCreateRequest.FormComponentValueVo formComponentValueVo = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                formComponentValueVo.setName("业务类型");
+                if (so.getBusinesstype() != null && !so.getBusinesstype().equals("")) {
+                    formComponentValueVo.setValue(so.getBusinesstype());
+                } else {
+                    formComponentValueVo.setValue("暂无");
                 }
-                mingxilist.add(sot);
-                OapiProcessinstanceCreateRequest.FormComponentValueVo mingxi2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                mingxi2.setName("存货名称");
-                if(s.getInventoryname()!=null&&!s.getInventoryname().equals("")){
-                    mingxi2.setValue(s.getInventoryname());
-                }else {
-                    mingxi2.setValue("暂无");
+                formComponentValueVoList.add(formComponentValueVo);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fc = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fc.setName("订单日期");
+                fc.setValue(so.getDate());
+                formComponentValueVoList.add(fc);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fc2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fc2.setName("订单编号");
+                fc2.setValue(so.getCode());
+                fc2.setExtValue(data);
+                formComponentValueVoList.add(fc2);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fc3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fc3.setName("客户名称");
+                if (so.getCusname() != null && !so.getCusname().equals("")) {
+                    fc3.setValue(so.getCusname());
+                } else {
+                    fc3.setValue("暂无");
                 }
-                mingxilist.add(mingxi2);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo sot2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                sot2.setName("单位");
-                if(s.getUnitname()!=null&&!s.getUnitname().equals("")){
-                    sot2.setValue(s.getUnitname());
-                }else{
-                    sot2.setValue("暂无");
+                formComponentValueVoList.add(fc3);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fc4 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fc4.setName("下单部门");
+                if (so.getDeptname() != null && !so.getDeptname().equals("")) {
+                    fc4.setValue(so.getDeptname());
+                } else {
+                    fc4.setValue("暂无");
                 }
-                mingxilist.add(sot2);
-
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc7.setName("单价(含税)");
-                if(s.getTaxunitprice()!=null&&!s.getTaxunitprice().equals("0E-10")){
-                    fc7.setValue(new BigDecimal(s.getTaxunitprice()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fc7.setValue("0");
+                formComponentValueVoList.add(fc4);
+
+                OapiProcessinstanceCreateRequest.FormComponentValueVo fc5 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                fc5.setName("业务员");
+                if (so.getPersonname() != null && !so.getPersonname().equals("")) {
+                    fc5.setValue(so.getPersonname());
+                } else {
+                    fc5.setValue("暂无");
                 }
-                mingxilist.add(fc7);
+                formComponentValueVoList.add(fc5);
 
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc8 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc8.setName("订购数量");
-                if(s.getQuantity()!=null&&!s.getQuantity().equals("")){
-                    fc8.setValue(new BigDecimal(s.getQuantity()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fc8.setValue("0");
-                }
-                mingxilist.add(fc8);
 
+                List<List<OapiProcessinstanceCreateRequest.FormComponentValueVo>> ls = new ArrayList<>();
 
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc12= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc12.setName("总金额(含税)");
-                if(s.getSum()!=null&&!s.getSum().equals("0E-10")){
-                    fc12.setValue(new BigDecimal(s.getSum()).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
-                }else {
-                    fc12.setValue("0");
-                }
-                mingxilist.add(fc12);
+                for (YonyouMaterial s : so.getentry()) {
+                    List<OapiProcessinstanceCreateRequest.FormComponentValueVo> mingxilist = new ArrayList<>();
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo sot = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    sot.setName("存货编码");
+                    if (s.getInventorycode() != null && !s.getInventorycode().equals("")) {
+                        sot.setValue(s.getInventorycode());
+                    } else {
+                        sot.setValue("暂无");
+                    }
+                    mingxilist.add(sot);
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo mingxi2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    mingxi2.setName("存货名称");
+                    if (s.getInventoryname() != null && !s.getInventoryname().equals("")) {
+                        mingxi2.setValue(s.getInventoryname());
+                    } else {
+                        mingxi2.setValue("暂无");
+                    }
+                    mingxilist.add(mingxi2);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo sot2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    sot2.setName("单位");
+                    if (s.getUnitname() != null && !s.getUnitname().equals("")) {
+                        sot2.setValue(s.getUnitname());
+                    } else {
+                        sot2.setValue("暂无");
+                    }
+                    mingxilist.add(sot2);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo fc7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    fc7.setName("单价(含税)");
+                    if (s.getTaxunitprice() != null && !s.getTaxunitprice().equals("0E-10")) {
+                        fc7.setValue(new BigDecimal(s.getTaxunitprice()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    } else {
+                        fc7.setValue("0");
+                    }
+                    mingxilist.add(fc7);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo fc8 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    fc8.setName("订购数量");
+                    if (s.getQuantity() != null && !s.getQuantity().equals("")) {
+                        fc8.setValue(new BigDecimal(s.getQuantity()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    } else {
+                        fc8.setValue("0");
+                    }
+                    mingxilist.add(fc8);
 
-                OapiProcessinstanceCreateRequest.FormComponentValueVo fc13= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                fc13.setName("预计交期");
-                if (s.getDefine23()!=null&&!s.getDefine23().equals("")){
-                    fc13.setValue(s.getDefine23());
-                }else {
-                    fc13.setValue(so.getDpredatebt());
-                }
 
-                mingxilist.add(fc13);
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo fc12 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    fc12.setName("总金额(含税)");
+                    if (s.getSum() != null && !s.getSum().equals("0E-10")) {
+                        fc12.setValue(new BigDecimal(s.getSum()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    } else {
+                        fc12.setValue("0");
+                    }
+                    mingxilist.add(fc12);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo fc13 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    fc13.setName("预计交期");
+                    if (s.getDefine23() != null && !s.getDefine23().equals("")) {
+                        fc13.setValue(s.getDefine23());
+                    } else {
+                        fc13.setValue(so.getDpredatebt());
+                    }
 
+                    mingxilist.add(fc13);
 
-                OapiProcessinstanceCreateRequest.FormComponentValueVo je= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                je.setName("收货人姓名及联系电话");
-                String n="暂无";
-                if(so.getDefine8()!=null&&!so.getDefine8().equals("")){
-                    n=so.getDefine8();
-                }if (so.getDefine13()!=null&&!so.getDefine13().equals("")){
-                    n=so.getDefine13();
-                }if (so.getDefine13()!=null&&so.getDefine8()!=null){
-                    n=so.getDefine8()+":"+so.getDefine13();
-                }
-                je.setValue(n);
-                mingxilist.add(je);
 
-                OapiProcessinstanceCreateRequest.FormComponentValueVo je2= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                je2.setName("到货地址");
-                if (so.getSendaddress()!=null&&!so.getSendaddress().equals("")){
-                    je2.setValue(so.getSendaddress());
-                }else {
-                    je2.setValue("暂无");
-                }
-                mingxilist.add(je2);
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo je = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    je.setName("收货人姓名及联系电话");
+                    String n = "暂无";
+                    if (so.getDefine8() != null && !so.getDefine8().equals("")) {
+                        n = so.getDefine8();
+                    }
+                    if (so.getDefine13() != null && !so.getDefine13().equals("")) {
+                        n = so.getDefine13();
+                    }
+                    if (so.getDefine13() != null && so.getDefine8() != null) {
+                        n = so.getDefine8() + ":" + so.getDefine13();
+                    }
+                    je.setValue(n);
+                    mingxilist.add(je);
+
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo je2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    je2.setName("到货地址");
+                    if (so.getSendaddress() != null && !so.getSendaddress().equals("")) {
+                        je2.setValue(so.getSendaddress());
+                    } else {
+                        je2.setValue("暂无");
+                    }
+                    mingxilist.add(je2);
 
 
-                OapiProcessinstanceCreateRequest.FormComponentValueVo je3= new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-                je3.setName("备注");
-                if (so.getMemo()!=null&&!so.getMemo().equals("")){
-                    je3.setValue(so.getMemo());
-                }else {
-                    je3.setValue("暂无");
-                }
-                mingxilist.add(je3);
+                    OapiProcessinstanceCreateRequest.FormComponentValueVo je3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                    je3.setName("备注");
+                    if (so.getMemo() != null && !so.getMemo().equals("")) {
+                        je3.setValue(so.getMemo());
+                    } else {
+                        je3.setValue("暂无");
+                    }
+                    mingxilist.add(je3);
 
-                ls.add(mingxilist);
-            }
+                    ls.add(mingxilist);
+                }
 
 
-            OapiProcessinstanceCreateRequest.FormComponentValueVo obj7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
-            obj7.setName("表格");
-            obj7.setValue(JSON.toJSONString(ls));
-            formComponentValueVoList.add(obj7);
+                OapiProcessinstanceCreateRequest.FormComponentValueVo obj7 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
+                obj7.setName("表格");
+                obj7.setValue(JSON.toJSONString(ls));
+                formComponentValueVoList.add(obj7);
 
-            req.setFormComponentValues(formComponentValueVoList);
-            OapiProcessinstanceCreateResponse rsp = client.execute(req, dingdingOpenInterface.gettoken);
-            System.out.println(rsp.getBody());
-            String code = rsp.getErrorCode();
-            if (code.equals("0")||code.equals(0)){
-                return rsp.getProcessInstanceId();
-            }else {
-                return null;
+                req.setFormComponentValues(formComponentValueVoList);
+                OapiProcessinstanceCreateResponse rsp = client.execute(req, dingdingOpenInterface.gettoken);
+                System.out.println(rsp.getBody());
+                String code = rsp.getErrorCode();
+                if (code.equals("0") || code.equals(0)) {
+                    return code;
+                }
             }
-        }else {
-            return null;
+        }catch (Exception e){
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg=sw.toString();
         }
-
+        return msg;
     }
     /**
      * 销售发货单
@@ -748,7 +753,7 @@ public class SaleOrderService {
                         DynamicDataSource.setDataSource("");
                     }else {
                         DynamicDataSource.setDataSource("last-data-source");
-                        saleOrderMapper.UpdateKSDDKOrder(cid,s,"0");
+                        saleOrderMapper.UpdateKSDDKOrder(cid,s,"1");
                         DynamicDataSource.setDataSource("");
                     }
                 }
@@ -908,7 +913,7 @@ public class SaleOrderService {
                         DynamicDataSource.setDataSource("");
                     }else {
                         DynamicDataSource.setDataSource("last-data-source");
-                        saleOrderMapper.UpdateSaleOrderBJ(cid,s,"0");
+                        saleOrderMapper.UpdateSaleOrderBJ(cid,s,"1");
                         DynamicDataSource.setDataSource("");
                     }
                 }
@@ -1028,7 +1033,7 @@ public class SaleOrderService {
                         DynamicDataSource.setDataSource("");
                     }else {
                         DynamicDataSource.setDataSource("last-data-source");
-                        saleOrderMapper.UpdateKSDTHOrder(cid,s,"0");
+                        saleOrderMapper.UpdateKSDTHOrder(cid,s,"1");
                         DynamicDataSource.setDataSource("");
                     }
                 }
@@ -1279,7 +1284,7 @@ public class SaleOrderService {
                     if (s.equals("0")){
                         saleOrderMapper.UpdateSYDOrder(id,"ok","1");
                     }else {
-                        saleOrderMapper.UpdateSYDOrder(id,s,"0");
+                        saleOrderMapper.UpdateSYDOrder(id,s,"1");
                     }
                 }
             }
@@ -1342,7 +1347,7 @@ public class SaleOrderService {
                         DynamicDataSource.setDataSource("");
                     }else {
                         DynamicDataSource.setDataSource("last-data-source");
-                        saleOrderMapper.UpdateSaleOrder(cid,s,"0");
+                        saleOrderMapper.UpdateSaleOrder(cid,s,"1");
                         DynamicDataSource.setDataSource("");
                     }
                 }
@@ -1379,7 +1384,7 @@ public class SaleOrderService {
                     if (s.equals("0")){
                         saleOrderMapper.UpdateSaleOrder(id,"ok","1");
                     }else {
-                        saleOrderMapper.UpdateSaleOrder(id,s,"0");
+                        saleOrderMapper.UpdateSaleOrder(id,s,"1");
                     }
                 }
             }
@@ -1414,7 +1419,7 @@ public class SaleOrderService {
                     if (s.equals("0")){
                         saleOrderMapper.UpdateDYDOrder(id,"ok","1");
                     }else {
-                        saleOrderMapper.UpdateDYDOrder(id,s,"0");
+                        saleOrderMapper.UpdateDYDOrder(id,s,"1");
                     }
                 }
             }