LG88888888 há 3 anos atrás
pai
commit
4dc1239a3e

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

@@ -28,10 +28,21 @@ public class AcceptOrderController {
             service.getToaccount();
             if (iAcceptOrders!=null){
                 for (IAcceptOrder i:iAcceptOrders){
+                    String Vouchcode=i.getVouchcode();
+                    String[] split = i.getVouchcode().split("#");
+                    if (split.length>1){
+                        i.setVouchcode(split[0]+split[1]);
+                    }else {
+                        i.setVouchcode(split[0]);
+                    }
                     String s = service.acceptAdd(i);
                     if (s.equals("0")){
                         DynamicDataSource.setDataSource("last-data-source");
-                        saleOrderMapper.UpdateKSDTKOrder(i.getVouchcode());
+                        saleOrderMapper.UpdateKSDTKOrder(Vouchcode,"OK","1");
+                        DynamicDataSource.setDataSource("");
+                    }else {
+                        DynamicDataSource.setDataSource("last-data-source");
+                        saleOrderMapper.UpdateKSDTKOrder(Vouchcode,s,"0");
                         DynamicDataSource.setDataSource("");
                     }
                 }

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

@@ -30,12 +30,16 @@ public class CustomerController {
             if (iCustomers!=null &&iCustomers.size()>0){
                 for (Map<String,Object> i:iCustomers){
                     String s = customerService.addCustomer(i);
+                    Object customer = i.get("customer");
+                    ObjectMapper objectMapper = new ObjectMapper();
+                    ICustomer zfsp = objectMapper.convertValue(customer, ICustomer.class);
                     if (s.equals("0")){
-                        Object customer = i.get("customer");
-                        ObjectMapper objectMapper = new ObjectMapper();
-                        ICustomer zfsp = objectMapper.convertValue(customer, ICustomer.class);
                         DynamicDataSource.setDataSource("last-data-source");
-                        customerMapper.UpdateCustomer(zfsp.getCode());
+                        customerMapper.UpdateCustomer(zfsp.getCode(),"ok","1");
+                        DynamicDataSource.setDataSource("");
+                    }else {
+                        DynamicDataSource.setDataSource("last-data-source");
+                        customerMapper.UpdateCustomer(zfsp.getCode(),s,"0");
                         DynamicDataSource.setDataSource("");
                     }
                 }
@@ -62,7 +66,7 @@ public class CustomerController {
                     String s = customerService.editCustomer(i);
                     if (s.equals("0")) {
                         DynamicDataSource.setDataSource("last-data-source");
-                        customerMapper.UpdateCustomer(i.getCode());
+                       // customerMapper.UpdateCustomer(i.getCode());
                         DynamicDataSource.setDataSource("");
                     }
                 }

+ 1 - 1
src/main/java/net/chenlin/dp/modules/api/dao/CustomerMapper.java

@@ -65,7 +65,7 @@ public interface CustomerMapper extends BaseMapper<Customer> {
 	 * @param id
 	 * @return
 	 */
-	int UpdateCustomer(@Param("id")String id);
+	int UpdateCustomer(@Param("id")String id,@Param("msg")String msg,@Param("state")String state);
 
 	/**
 	 * 客户档案修改

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

@@ -234,49 +234,49 @@ public interface SaleOrderMapper extends BaseMapper<YonyouSaleOrder> {
 	 * @param id
 	 * @return
 	 */
-	int UpdateSaleOrder(@Param("id")String id);
+	int UpdateSaleOrder(@Param("id")String id,@Param("msg")String msg,@Param("state")String state);
 
 	/**
 	 * 更新销售报价单同步状态
 	 * @param id
 	 * @return
 	 */
-	int UpdateSaleOrderBJ(@Param("id")String id);
+	int UpdateSaleOrderBJ(@Param("id")String id,@Param("msg")String msg,@Param("state")String state);
 
 	/**
 	 * 更新客诉单-抵扣同步状态
 	 * @param id
 	 * @return
 	 */
-	int UpdateKSDDKOrder(@Param("id")String id);
+	int UpdateKSDDKOrder(@Param("id")String id,@Param("msg")String msg,@Param("state")String state);
 
 	/**
 	 * 更新客诉单-退货同步状态
 	 * @param id
 	 * @return
 	 */
-	int UpdateKSDTHOrder(@Param("id")String id);
+	int UpdateKSDTHOrder(@Param("id")String id,@Param("msg")String msg,@Param("state")String state);
 
 	/**
 	 * 更新客诉单-退款同步状态
 	 * @param id
 	 * @return
 	 */
-	int UpdateKSDTKOrder(@Param("id")String id);
+	int UpdateKSDTKOrder(@Param("id")String id,@Param("msg")String msg,@Param("state")String state);
 
 	/**
 	 * 更新打样单同步状态
 	 * @param id
 	 * @return
 	 */
-	int UpdateDYDOrder(@Param("id")String id);
+	int UpdateDYDOrder(@Param("id")String id,@Param("msg")String msg,@Param("state")String state);
 
 	/**
 	 * 更新送样单同步状态
 	 * @param id
 	 * @return
 	 */
-	int UpdateSYDOrder(@Param("id")String id);
+	int UpdateSYDOrder(@Param("id")String id,@Param("msg")String msg,@Param("state")String state);
 
 	/**
 	 * u8销售订单接口实体

+ 5 - 1
src/main/java/net/chenlin/dp/modules/api/mapper/CustomerMapper.xml

@@ -104,6 +104,10 @@
 				c.caccountnum ,b.cdeliveradd  from CRM_U8_Customer a left join CRM_U8_customEntity14__c b on a.cCusCode=b.cCusCode left join CRM_U8_customEntity15__c c on a.cCusCode=c.cCusCode where a.issyu8 =2
 	</select>
 	<update id="UpdateCustomer">
-		update CRM_U8_Customer set issyu8='1' where cCusCode=#{id}
+		update CRM_U8_Customer set issyu8=#{state}
+		<if test="msg!=null and ''!=msg">
+			,ismsg=#{msg}
+		</if>
+		where cCusCode=#{id}
 	</update>
 </mapper>

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

@@ -331,27 +331,27 @@
 		)
 	</insert>
 	<update id="UpdateSaleOrder">
-		update CRM_U8_SO_SOMain set issyu8='1' where id=#{id}
+		update CRM_U8_SO_SOMain set issyu8=#{state},ismsg=#{msg} where id=#{id}
 	</update>
 	<update id="UpdateSaleOrderBJ">
-		update CRM_U8_SA_QuoMain set issyu8='1' where id=#{id}
+		update CRM_U8_SA_QuoMain set issyu8=#{state},ismsg=#{msg} where id=#{id}
 	</update>
 	<update id="UpdateKSDDKOrder">
-		update CRM_U8_Deduction set issyu8='1' where id=#{id}
+		update CRM_U8_Deduction set issyu8=#{state},ismsg=#{msg} where id=#{id}
 
 	</update>
 	<update id="UpdateKSDTHOrder">
-		update CRM_U8_DispatchList set issyu8='1' where id=#{id}
+		update CRM_U8_DispatchList set issyu8=#{state},ismsg=#{msg} where id=#{id}
 	</update>
 	<update id="UpdateKSDTKOrder">
-		update CRM_U8_Refund set issyu8='1' where cVouchID=#{id}
+		update CRM_U8_Refund set issyu8=#{state},ismsg=#{msg} where cVouchID=#{id}
 
 	</update>
 	<update id="UpdateDYDOrder">
-		update CRM_U8_customEntity4__c set issyu8='1' where id=#{id}
+		update CRM_U8_customEntity4__c set issyu8=#{state},ismsg=#{msg} where id=#{id}
 	</update>
 	<update id="UpdateSYDOrder">
-		update CRM_U8_customEntity12__c set issyu8='1' where id=#{id}
+		update CRM_U8_customEntity12__c set issyu8=#{state},ismsg=#{msg} where id=#{id}
 	</update>
 
 

+ 1 - 6
src/main/java/net/chenlin/dp/modules/api/service/AcceptOrderService.java

@@ -23,12 +23,7 @@ public class AcceptOrderService {
         DynamicDataSource.setDataSource("");
         if (iAcceptOrders!=null &&iAcceptOrders.size()>0){
             for (IAcceptOrder ls:iAcceptOrders){
-                String[] split = ls.getVouchcode().split("#");
-                if (split.length>1){
-                    ls.setVouchcode(split[0]+split[1]);
-                }else {
-                    ls.setVouchcode(split[0]);
-                }
+
                 AcceptOrderMin acceptOrderMin=new AcceptOrderMin();
                 List<AcceptOrderMin> entry = ls.getEntry();
                 ls.setBalancecode("1");

+ 8 - 4
src/main/java/net/chenlin/dp/modules/api/service/CustomerService.java

@@ -11,6 +11,8 @@ import net.chenlin.dp.modules.api.dao.AcceptOrderMapper;
 import net.chenlin.dp.modules.api.dao.CustomerMapper;
 import net.chenlin.dp.modules.api.vo.*;
 
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.util.*;
 
 /**
@@ -32,6 +34,7 @@ public class CustomerService {
      */
     public String addCustomer(Map<String,Object>ms) throws OpenAPIException {
         String s1 = JSONObject.toJSONString(ms);
+        String msg="";
             try {
                 JSONObject add = customerService.add(s1, getToaccount);
                 HashMap hashMap = JSONObject.parseObject(add.toString(), HashMap.class);
@@ -40,14 +43,15 @@ public class CustomerService {
                     String result = ResultService.getResult(tradeid.toString());
                     HashMap m = JSONObject.parseObject(result, HashMap.class);
                     return m.get("errcode").toString();
-                }else{
-                    return "";
                 }
             }catch (Exception e){
                     e.printStackTrace();
-              // throw new OpenAPIException(e.getMessage(), e);
+                StringWriter sw = new StringWriter();
+                e.printStackTrace(new PrintWriter(sw, true));
+                msg = sw.toString();
+
             }
-            return "";
+        return msg;
         }
 
 

+ 396 - 329
src/main/java/net/chenlin/dp/modules/api/service/SaleOrderService.java

@@ -28,6 +28,8 @@ import net.chenlin.dp.modules.sys.service.impl.SysUserServiceImpl;
 import net.chenlin.dp.modules.sys.service.testU8Service;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.DecimalFormat;
@@ -55,7 +57,9 @@ public class SaleOrderService {
      * @throws OpenAPIException
      */
     public String yonyouAddSaleOrder(ISaleOrder saleOrder) throws OpenAPIException {
+        String msg="";
         try {
+
                     Map<String,Object> map=new HashMap<>();
                     map.put("saleorder",saleOrder);
                     String s = JSONObject.toJSONString(map);
@@ -65,33 +69,17 @@ public class SaleOrderService {
                     if (!tradeid.equals("")&&tradeid!=null){
                         String result = ResultService.getResult(tradeid.toString());
                         HashMap t = JSONObject.parseObject(result, HashMap.class);
-                        if (t.get("errcode")==null){
-                            return "0";
-                        }else {
+                        if (t.get("errcode")!=null){
                             return t.get("errcode").toString();
                         }
-                    }else {
-                        return "";
                     }
-//
-//
-
-//            String s="{\n" +
-//                    "    \"saleorder\": {\n" +
-//                    "        \"custcode\": \"0001\",\n" +
-//                    "        \"deptcode\": \"01\",\n" +
-//                    "        \"entry\": [\n" +
-//                    "            {\n" +
-//                    "                \"inventorycode\": \"81103040318010053\",\n" +
-//                    "                \"quantity\": \"1\"\n" +
-//                    "            }\n" +
-//                    "        ]\n" +
-//                    "    }\n" +
-//                    "}";
-
         }catch (Exception e){
-            throw new OpenAPIException(e.getMessage(), e);
+           e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg = sw.toString();
         }
+        return msg;
     }
 
     /**
@@ -642,6 +630,103 @@ public class SaleOrderService {
     }
 
 
+    public String KSDDK(SaleOrderFTH i){
+        String codeClass="XSFH";
+        String yyMM = DateUtils.format(new Date(), "yyMM");
+        String msg="";
+        try {
+            String[] split = i.getcVouchID().split("#");
+            if (split.length > 1) {
+                i.setcVouchID(split[0] + split[1]);
+            } else {
+                i.setcVouchID(split[0]);
+            }
+            String cid = i.getDlid();
+            DynamicDataSource.setDataSource("slave-data-source");
+            String dlid = String.valueOf(testU8Service.callGetMaxCode("01"));
+            DynamicDataSource.setDataSource("");
+            String code = "";
+            i.setBreturnflag("1");
+            if (dlid.length() == 1) {
+                dlid = "000" + dlid;
+            }
+            if (dlid.length() == 2) {
+                dlid = "00" + dlid;
+            }
+            if (dlid.length() == 3) {
+                dlid = "0" + dlid;
+            }
+            code = codeClass + yyMM + dlid;
+            dlid = yyMM + dlid;
+            i.setPoid("75");
+            i.setBreturnflag("1");
+            i.setDlid(dlid);
+            i.setCdlcode(code);
+            DynamicDataSource.setDataSource("slave-data-source");
+            int i1 = saleOrderMapper.UAddSaleOderFTH(i);
+            DynamicDataSource.setDataSource("");
+            if (i1 > 0) {
+
+
+                DynamicDataSource.setDataSource("last-data-source");
+                List<SaleOrderFTHMin> saleOrderFTHMins = saleOrderMapper.CrmKSDOrderFHMin(cid);
+                DynamicDataSource.setDataSource("");
+
+                if (saleOrderFTHMins != null && saleOrderFTHMins.size() > 0) {
+                    for (SaleOrderFTHMin ls : saleOrderFTHMins) {
+
+                        ls.setDlid(dlid);
+
+                        BigDecimal sum = new BigDecimal(ls.getIquantity());//数量
+                        BigDecimal dj = new BigDecimal(ls.getItaxunitprice());//含税单价
+                        String iUnitPrice = dj.toString();
+                        String iNatUnitPrice = dj.toString();
+                        String iMoney = dj.multiply(sum).toString();
+                        String iNatMoney = dj.multiply(sum).toString();
+                        String tax = "0";
+                        if (!ls.getItaxrate().equals("0.00") && !ls.getItaxrate().equals("0")) {
+                            BigDecimal count = new BigDecimal("1");
+                            BigDecimal taxrater = new BigDecimal("100");
+
+                            //BigDecimal iTaxUnitPrice=new BigDecimal(ls.getItaxunitprice());//含税单价
+                            BigDecimal iTaxRate = new BigDecimal(ls.getItaxrate());
+                            BigDecimal iTaxRates = iTaxRate.add(count);//税率
+                            BigDecimal divide = dj.divide(iTaxRates, 8, BigDecimal.ROUND_DOWN);//无税单价
+                            BigDecimal subtract = dj.subtract(divide);
+                            BigDecimal multiply1 = sum.multiply(subtract);//税额
+                            BigDecimal multiply = sum.multiply(divide);//无税金额
+                            tax = multiply1.toString();
+                            iUnitPrice = divide.toString();//原币无税单价
+                            iNatUnitPrice = divide.toString();//本币无税单价
+                            iMoney = multiply.toString();//原币无税金额
+                            iNatMoney = multiply.toString();//本币无税金额
+
+                            ls.setItaxrate(iTaxRate.multiply(taxrater).toString());
+                        }
+                        ls.setIunitprice(iUnitPrice);
+                        ls.setInatunitprice(iNatUnitPrice);
+                        ls.setImoney(iMoney);
+                        ls.setInatmoney(iNatMoney);
+                        ls.setItax(tax);
+                        ls.setInattax(tax);
+                        ls.setIsum(dj.multiply(sum).toString());
+                        ls.setInatsum(dj.multiply(sum).toString());
+                    }
+
+                    DynamicDataSource.setDataSource("slave-data-source");
+                    saleOrderMapper.UAddSaleOrderFTHMin(saleOrderFTHMins);
+                    DynamicDataSource.setDataSource("");
+                }
+            }
+            return "0";
+        }catch (Exception e){
+            e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg=sw.toString();
+        }
+        return msg;
+    }
 
     /**
      * 客诉单-抵扣
@@ -649,98 +734,23 @@ public class SaleOrderService {
      */
     public void CrmKSDDK(){
         try {
-            String codeClass="XSFH";
-            String yyMM = DateUtils.format(new Date(), "yyMM");
+
             DynamicDataSource.setDataSource("last-data-source");
             List<SaleOrderFTH> saleOrderFTHS = saleOrderMapper.CrmKSDOrderFHList();
             DynamicDataSource.setDataSource("");
-
             if (saleOrderFTHS!=null&&saleOrderFTHS.size()>0){
                 for (SaleOrderFTH i:saleOrderFTHS){
-                    String[] split = i.getcVouchID().split("#");
-                    if (split.length>1){
-                        i.setcVouchID(split[0]+split[1]);
-                    }else {
-                        i.setcVouchID(split[0]);
-                    }
                     String cid=i.getDlid();
-                    DynamicDataSource.setDataSource("slave-data-source");
-                    String dlid=String.valueOf(testU8Service.callGetMaxCode("01"));
-                    DynamicDataSource.setDataSource("");
-                    String code="";
-                    i.setBreturnflag("1");
-                    if (dlid.length()==1){
-                        dlid="000"+dlid;
-                    }if (dlid.length()==2){
-                        dlid="00"+dlid;
-                    }if (dlid.length()==3){
-                        dlid="0"+dlid;
-                    }
-                    code=codeClass+yyMM+dlid;
-                    dlid=yyMM+dlid;
-                    i.setPoid("75");
-                    i.setBreturnflag("1");
-                    i.setDlid(dlid);
-                    i.setCdlcode(code);
-                    DynamicDataSource.setDataSource("slave-data-source");
-                    int i1 = saleOrderMapper.UAddSaleOderFTH(i);
-                    DynamicDataSource.setDataSource("");
-                    if (i1>0){
+                    String s = KSDDK(i);
+                    if (s.equals("0")){
                         DynamicDataSource.setDataSource("last-data-source");
-                        saleOrderMapper.UpdateKSDDKOrder(cid);
+                        saleOrderMapper.UpdateKSDDKOrder(cid,"ok","1");
                         DynamicDataSource.setDataSource("");
-
+                    }else {
                         DynamicDataSource.setDataSource("last-data-source");
-                        List<SaleOrderFTHMin> saleOrderFTHMins = saleOrderMapper.CrmKSDOrderFHMin(cid);
+                        saleOrderMapper.UpdateKSDDKOrder(cid,s,"0");
                         DynamicDataSource.setDataSource("");
-
-                        if (saleOrderFTHMins!=null &&saleOrderFTHMins.size()>0){
-                            for (SaleOrderFTHMin ls:saleOrderFTHMins){
-
-                                ls.setDlid(dlid);
-
-                                    BigDecimal sum=new BigDecimal(ls.getIquantity());//数量
-                                    BigDecimal dj=new BigDecimal(ls.getItaxunitprice());//含税单价
-                                    String iUnitPrice=dj.toString();
-                                    String iNatUnitPrice=dj.toString();
-                                    String iMoney=dj.multiply(sum).toString();
-                                    String iNatMoney=dj.multiply(sum).toString();
-                                    String tax="0";
-                                if (!ls.getItaxrate().equals("0.00")&&!ls.getItaxrate().equals("0")){
-                                    BigDecimal count=new BigDecimal("1");
-                                    BigDecimal taxrater=new BigDecimal("100");
-
-                                    //BigDecimal iTaxUnitPrice=new BigDecimal(ls.getItaxunitprice());//含税单价
-                                    BigDecimal iTaxRate=new BigDecimal(ls.getItaxrate());
-                                    BigDecimal iTaxRates = iTaxRate.add(count);//税率
-                                    BigDecimal divide =  dj.divide(iTaxRates,8, BigDecimal.ROUND_DOWN);//无税单价
-                                    BigDecimal subtract = dj.subtract(divide);
-                                    BigDecimal multiply1 = sum.multiply(subtract);//税额
-                                    BigDecimal multiply = sum.multiply(divide);//无税金额
-                                    tax=multiply1.toString();
-                                    iUnitPrice=divide.toString();//原币无税单价
-                                    iNatUnitPrice=divide.toString();//本币无税单价
-                                    iMoney=multiply.toString();//原币无税金额
-                                    iNatMoney=multiply.toString();//本币无税金额
-
-                                    ls.setItaxrate(iTaxRate.multiply(taxrater).toString());
-                                }
-                                ls.setIunitprice(iUnitPrice);
-                                ls.setInatunitprice(iNatUnitPrice);
-                                ls.setImoney(iMoney);
-                                ls.setInatmoney(iNatMoney);
-                                ls.setItax(tax);
-                                ls.setInattax(tax);
-                                ls.setIsum(dj.multiply(sum).toString());
-                                ls.setInatsum(dj.multiply(sum).toString());
-                            }
-
-                            DynamicDataSource.setDataSource("slave-data-source");
-                            saleOrderMapper.UAddSaleOrderFTHMin(saleOrderFTHMins);
-                            DynamicDataSource.setDataSource("");
-                        }
                     }
-
                 }
             }
         }catch (Exception e){
@@ -811,6 +821,73 @@ public class SaleOrderService {
 
     }
 
+    public String SaleOrderBJ(SaleOrderBJ i){
+        String msg="";
+        try {
+            String[] split = i.getcCode().split("#");
+            if (split.length > 1) {
+                i.setcCode(split[0] + split[1]);
+            } else {
+                i.setcCode(split[0]);
+            }
+            DynamicDataSource.setDataSource("slave-data-source");
+            int sumt = saleOrderMapper.UInsertSaleOrderBJ(i);
+            String s = saleOrderMapper.SaleOrderBJID(i.getcCode());
+            DynamicDataSource.setDataSource("");
+
+            DynamicDataSource.setDataSource("last-data-source");
+            List<SaleOrderBJMin> saleOrderBJMins = saleOrderMapper.selectCode(i.getID());
+            DynamicDataSource.setDataSource("");
+            if (saleOrderBJMins != null && saleOrderBJMins.size() > 0) {
+                for (SaleOrderBJMin t : saleOrderBJMins) {
+                    t.setID(s);
+                    BigDecimal sum = new BigDecimal(t.getiQuantity());//数量
+                    BigDecimal dj = new BigDecimal(t.getiTaxUnitPrice());//单价
+                    String iUnitPrice = dj.toString();
+                    String iNatUnitPrice = dj.toString();
+                    String iMoney = dj.multiply(sum).toString();
+                    String iNatMoney = dj.multiply(sum).toString();
+                    String tax = "0";
+                    if (!t.getiTaxRate().equals("0.00") && !t.getiTaxRate().equals("0")) {
+                        BigDecimal count = new BigDecimal("1");
+                        BigDecimal taxrater = new BigDecimal("100");
+                        //BigDecimal iTaxUnitPrice=new BigDecimal(t.getiTaxUnitPrice());//含税单价
+                        BigDecimal iTaxRate = new BigDecimal(t.getiTaxRate());
+                        BigDecimal iTaxRates = iTaxRate.add(count);//税率
+                        BigDecimal divide = dj.divide(iTaxRates, 8, BigDecimal.ROUND_DOWN);//无税单价
+                        BigDecimal subtract = dj.subtract(divide);
+                        BigDecimal multiply1 = sum.multiply(subtract);//税额
+                        BigDecimal multiply = sum.multiply(divide);//无税金额
+                        tax = multiply1.toString();
+                        iUnitPrice = divide.toString();//原币无税单价
+                        iNatUnitPrice = divide.toString();//本币无税单价
+                        iMoney = multiply.toString();//原币无税金额
+                        iNatMoney = multiply.toString();//本币无税金额
+
+                        t.setiTaxRate(iTaxRate.multiply(taxrater).toString());
+                    }
+                    t.setiUnitPrice(iUnitPrice);
+                    t.setiNatUnitPrice(iNatUnitPrice);
+                    t.setiMoney(iMoney);
+                    t.setiNatMoney(iNatMoney);
+                    t.setiTax(tax);
+                    t.setiNatTax(tax);
+                    t.setiSum(dj.multiply(sum).toString());
+                    t.setiNatSum(dj.multiply(sum).toString());
+                }
+                DynamicDataSource.setDataSource("slave-data-source");
+                saleOrderMapper.UInsertSaleOrderBJMin(saleOrderBJMins);
+                DynamicDataSource.setDataSource("");
+            }
+            return "0";
+        }catch (Exception e){
+            e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg=sw.toString();
+        }
+        return  msg;
+    }
     /**
      * 销售报价单
      */
@@ -823,65 +900,17 @@ public class SaleOrderService {
 
             if (saleOrderBJS!=null&&saleOrderBJS.size()>0){
                 for (SaleOrderBJ i:saleOrderBJS){
-                    String[] split = i.getcCode().split("#");
-                    if (split.length>1){
-                        i.setcCode(split[0]+split[1]);
+                    String cid=i.getID();
+                    String s = SaleOrderBJ(i);
+                    if (s.equals("0")){
+                        DynamicDataSource.setDataSource("last-data-source");
+                        saleOrderMapper.UpdateSaleOrderBJ(cid,"ok","1");
+                        DynamicDataSource.setDataSource("");
                     }else {
-                        i.setcCode(split[0]);
-                    }
-                    DynamicDataSource.setDataSource("slave-data-source");
-                    int sumt = saleOrderMapper.UInsertSaleOrderBJ(i);
-                    String s = saleOrderMapper.SaleOrderBJID(i.getcCode());
-                    DynamicDataSource.setDataSource("");
-
-                    DynamicDataSource.setDataSource("last-data-source");
-                    if (sumt>0){
-                        saleOrderMapper.UpdateSaleOrderBJ(i.getID());
-                    }
-                    List<SaleOrderBJMin> saleOrderBJMins = saleOrderMapper.selectCode(i.getID());
-                    DynamicDataSource.setDataSource("");
-                    if (saleOrderBJMins!=null&&saleOrderBJMins.size()>0){
-                        for (SaleOrderBJMin t:saleOrderBJMins){
-                            t.setID(s);
-                            BigDecimal sum=new BigDecimal(t.getiQuantity());//数量
-                            BigDecimal dj=new BigDecimal(t.getiTaxUnitPrice());//单价
-                            String iUnitPrice=dj.toString();
-                            String iNatUnitPrice=dj.toString();
-                            String iMoney=dj.multiply(sum).toString();
-                            String iNatMoney=dj.multiply(sum).toString();
-                            String tax="0";
-                            if (!t.getiTaxRate().equals("0.00")&&!t.getiTaxRate().equals("0")){
-                                BigDecimal count=new BigDecimal("1");
-                                BigDecimal taxrater=new BigDecimal("100");
-                                //BigDecimal iTaxUnitPrice=new BigDecimal(t.getiTaxUnitPrice());//含税单价
-                                BigDecimal iTaxRate=new BigDecimal(t.getiTaxRate());
-                                BigDecimal iTaxRates = iTaxRate.add(count);//税率
-                                BigDecimal divide =  dj.divide(iTaxRates,8, BigDecimal.ROUND_DOWN);//无税单价
-                                BigDecimal subtract = dj.subtract(divide);
-                                BigDecimal multiply1 = sum.multiply(subtract);//税额
-                                BigDecimal multiply = sum.multiply(divide);//无税金额
-                                tax=multiply1.toString();
-                                iUnitPrice=divide.toString();//原币无税单价
-                                iNatUnitPrice=divide.toString();//本币无税单价
-                                iMoney=multiply.toString();//原币无税金额
-                                iNatMoney=multiply.toString();//本币无税金额
-
-                                t.setiTaxRate(iTaxRate.multiply(taxrater).toString());
-                            }
-                            t.setiUnitPrice(iUnitPrice);
-                            t.setiNatUnitPrice(iNatUnitPrice);
-                            t.setiMoney(iMoney);
-                            t.setiNatMoney(iNatMoney);
-                            t.setiTax(tax);
-                            t.setiNatTax(tax);
-                            t.setiSum(dj.multiply(sum).toString());
-                            t.setiNatSum(dj.multiply(sum).toString());
-                        }
-                        DynamicDataSource.setDataSource("slave-data-source");
-                        saleOrderMapper.UInsertSaleOrderBJMin(saleOrderBJMins);
+                        DynamicDataSource.setDataSource("last-data-source");
+                        saleOrderMapper.UpdateSaleOrderBJ(cid,s,"0");
                         DynamicDataSource.setDataSource("");
                     }
-
                 }
             }
         }catch (Exception e){
@@ -890,110 +919,124 @@ public class SaleOrderService {
 
     }
 
+
+    public String KSDTH(SaleOrderFTH i){
+        String codeClass="XSFH";
+        String yyMM = DateUtils.format(new Date(), "yyMM");
+        String msg="";
+        try {
+            String[] split = i.getcVouchID().split("#");
+            if (split.length>1){
+                i.setcVouchID(split[0]+split[1]);
+            }else {
+                i.setcVouchID(split[0]);
+            }
+            String cid=i.getDlid();
+            DynamicDataSource.setDataSource("slave-data-source");
+            String dlid=String.valueOf(testU8Service.callGetMaxCode("01"));
+            DynamicDataSource.setDataSource("");
+            String code="";
+            i.setBreturnflag("1");
+            if (dlid.length()==1){
+                dlid="000"+dlid;
+            }if (dlid.length()==2){
+                dlid="00"+dlid;
+            }if (dlid.length()==3){
+                dlid="0"+dlid;
+            }
+            code=codeClass+yyMM+dlid;
+            dlid=yyMM+dlid;
+            i.setPoid("75");
+            i.setBreturnflag("1");
+            i.setDlid(dlid);
+            i.setCdlcode(code);
+            DynamicDataSource.setDataSource("slave-data-source");
+            int i1 = saleOrderMapper.UAddSaleOderFTH(i);
+            DynamicDataSource.setDataSource("");
+            if (i1>0){
+                DynamicDataSource.setDataSource("last-data-source");
+                List<SaleOrderFTHMin> saleOrderFTHMins = saleOrderMapper.CrmKSOrderTHMinList(cid);
+                DynamicDataSource.setDataSource("");
+                if (saleOrderFTHMins!=null &&saleOrderFTHMins.size()>0){
+                    for (SaleOrderFTHMin ls:saleOrderFTHMins){
+                        ls.setDlid(dlid);
+                        BigDecimal sum=new BigDecimal(ls.getIquantity());//数量
+                        BigDecimal dj=new BigDecimal(ls.getItaxunitprice());//含税单价
+                        String iUnitPrice=dj.toString();
+                        String iNatUnitPrice=dj.toString();
+                        String iMoney=dj.multiply(sum).toString();
+                        String iNatMoney=dj.multiply(sum).toString();
+                        String tax="0";
+                        if (!ls.getItaxrate().equals("0.00")&&!ls.getItaxrate().equals("0")){
+                            BigDecimal count=new BigDecimal("1");
+                            BigDecimal taxrater=new BigDecimal("100");
+                            //BigDecimal iTaxUnitPrice=new BigDecimal(ls.getItaxunitprice());//含税单价
+                            BigDecimal iTaxRate=new BigDecimal(ls.getItaxrate());
+                            BigDecimal iTaxRates = iTaxRate.add(count);//税率
+                            BigDecimal divide =  dj.divide(iTaxRates, 8, BigDecimal.ROUND_DOWN);//无税单价
+                            BigDecimal subtract = dj.subtract(divide);
+                            BigDecimal multiply1 = sum.multiply(subtract);//税额
+                            BigDecimal multiply = sum.multiply(divide);//无税金额
+                            tax=multiply1.toString();
+                            iUnitPrice=divide.toString();//原币无税单价
+                            iNatUnitPrice=divide.toString();//本币无税单价
+                            iMoney=multiply.toString();//原币无税金额
+                            iNatMoney=multiply.toString();//本币无税金额
+
+                            ls.setItaxrate(iTaxRate.multiply(taxrater).toString());
+                        }
+                        ls.setIunitprice(iUnitPrice);
+                        ls.setInatunitprice(iNatUnitPrice);
+                        ls.setImoney(iMoney);
+                        ls.setInatmoney(iNatMoney);
+                        ls.setItax(tax);
+                        ls.setInattax(tax);
+                        ls.setIsum(dj.multiply(sum).toString());
+                        ls.setInatsum(dj.multiply(sum).toString());
+
+                    }
+                    DynamicDataSource.setDataSource("slave-data-source");
+                    saleOrderMapper.UAddSaleOrderFTHMin(saleOrderFTHMins);
+                    DynamicDataSource.setDataSource("");
+                }
+            }
+            return "0";
+        }catch (Exception e){
+            e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg=sw.toString();
+        }
+        return msg;
+    }
     /**
      * 客诉单-退货
      * @return
      */
     public void CrmKSDTH(){
         try {
-            String codeClass="XSFH";
-            String yyMM = DateUtils.format(new Date(), "yyMM");
             DynamicDataSource.setDataSource("last-data-source");
             List<SaleOrderFTH> saleOrderFTHS = saleOrderMapper.CrmKSOrderTHList();
             DynamicDataSource.setDataSource("");
             if (saleOrderFTHS!=null&&saleOrderFTHS.size()>0){
                 for (SaleOrderFTH i:saleOrderFTHS){
-                    String[] split = i.getcVouchID().split("#");
-                    if (split.length>1){
-                        i.setcVouchID(split[0]+split[1]);
-                    }else {
-                        i.setcVouchID(split[0]);
-                    }
                     String cid=i.getDlid();
-                    DynamicDataSource.setDataSource("slave-data-source");
-                    String dlid=String.valueOf(testU8Service.callGetMaxCode("01"));
-                    DynamicDataSource.setDataSource("");
-                    String code="";
-                    i.setBreturnflag("1");
-                    if (dlid.length()==1){
-                        dlid="000"+dlid;
-                    }if (dlid.length()==2){
-                        dlid="00"+dlid;
-                    }if (dlid.length()==3){
-                        dlid="0"+dlid;
-                    }
-                    code=codeClass+yyMM+dlid;
-                    dlid=yyMM+dlid;
-                    i.setPoid("75");
-                    i.setBreturnflag("1");
-                    i.setDlid(dlid);
-                    i.setCdlcode(code);
-                    DynamicDataSource.setDataSource("slave-data-source");
-                    int i1 = saleOrderMapper.UAddSaleOderFTH(i);
-                    DynamicDataSource.setDataSource("");
-                    if (i1>0){
+                    String s = KSDTH(i);
+                    if (s.equals("0")){
                         DynamicDataSource.setDataSource("last-data-source");
-                        saleOrderMapper.UpdateKSDTHOrder(cid);
+                        saleOrderMapper.UpdateKSDTHOrder(cid,"ok","1");
                         DynamicDataSource.setDataSource("");
-
+                    }else {
                         DynamicDataSource.setDataSource("last-data-source");
-                        List<SaleOrderFTHMin> saleOrderFTHMins = saleOrderMapper.CrmKSOrderTHMinList(cid);
+                        saleOrderMapper.UpdateKSDTHOrder(cid,s,"0");
                         DynamicDataSource.setDataSource("");
-                        if (saleOrderFTHMins!=null &&saleOrderFTHMins.size()>0){
-                            for (SaleOrderFTHMin ls:saleOrderFTHMins){
-                                ls.setDlid(dlid);
-                                BigDecimal sum=new BigDecimal(ls.getIquantity());//数量
-                                BigDecimal dj=new BigDecimal(ls.getItaxunitprice());//含税单价
-                                String iUnitPrice=dj.toString();
-                                String iNatUnitPrice=dj.toString();
-                                String iMoney=dj.multiply(sum).toString();
-                                String iNatMoney=dj.multiply(sum).toString();
-                                String tax="0";
-                                if (!ls.getItaxrate().equals("0.00")&&!ls.getItaxrate().equals("0")){
-                                    BigDecimal count=new BigDecimal("1");
-                                    BigDecimal taxrater=new BigDecimal("100");
-                                    //BigDecimal iTaxUnitPrice=new BigDecimal(ls.getItaxunitprice());//含税单价
-                                    BigDecimal iTaxRate=new BigDecimal(ls.getItaxrate());
-                                    BigDecimal iTaxRates = iTaxRate.add(count);//税率
-                                    BigDecimal divide =  dj.divide(iTaxRates, 8, BigDecimal.ROUND_DOWN);//无税单价
-                                    BigDecimal subtract = dj.subtract(divide);
-                                    BigDecimal multiply1 = sum.multiply(subtract);//税额
-                                    BigDecimal multiply = sum.multiply(divide);//无税金额
-                                    tax=multiply1.toString();
-                                    iUnitPrice=divide.toString();//原币无税单价
-                                    iNatUnitPrice=divide.toString();//本币无税单价
-                                    iMoney=multiply.toString();//原币无税金额
-                                    iNatMoney=multiply.toString();//本币无税金额
-
-                                    ls.setItaxrate(iTaxRate.multiply(taxrater).toString());
-                                }
-                                ls.setIunitprice(iUnitPrice);
-                                ls.setInatunitprice(iNatUnitPrice);
-                                ls.setImoney(iMoney);
-                                ls.setInatmoney(iNatMoney);
-                                ls.setItax(tax);
-                                ls.setInattax(tax);
-                                ls.setIsum(dj.multiply(sum).toString());
-                                ls.setInatsum(dj.multiply(sum).toString());
-
-                            }
-                            DynamicDataSource.setDataSource("slave-data-source");
-                            saleOrderMapper.UAddSaleOrderFTHMin(saleOrderFTHMins);
-                            DynamicDataSource.setDataSource("");
-                        }
                     }
-
-
-
-
-
                 }
             }
 
         }catch (Exception e){
             e.printStackTrace();
         }
-
     }
 
 
@@ -1026,7 +1069,7 @@ public class SaleOrderService {
                     DynamicDataSource.setDataSource("slave-data-source");
                     int sum = saleOrderMapper.UAddSaleOrder(i);
                     if (sum>0){
-                        saleOrderMapper.UpdateSaleOrder(cid);
+                        saleOrderMapper.UpdateSaleOrder(cid,"","");
                     }
                     DynamicDataSource.setDataSource("");
                     DynamicDataSource.setDataSource("last-data-source");
@@ -1085,7 +1128,7 @@ public class SaleOrderService {
                     DynamicDataSource.setDataSource("slave-data-source");
                     int sum = saleOrderMapper.UAddSaleOrder(i);
                     if (sum>0){
-                        saleOrderMapper.UpdateSaleOrder(cid);
+                        saleOrderMapper.UpdateSaleOrder(cid,"","");
                     }
                     DynamicDataSource.setDataSource("");
                     DynamicDataSource.setDataSource("last-data-source");
@@ -1151,6 +1194,7 @@ public class SaleOrderService {
         Map<String,Object>map=new HashMap<>();
         map.put("accept",acceptOrder);
         String s = JSONObject.toJSONString(map);
+        String msg="";
         try {
             JSONObject add = acceptService.add(s, getToaccount);
             HashMap hashMap = JSONObject.parseObject(add.toString(), HashMap.class);
@@ -1159,13 +1203,15 @@ public class SaleOrderService {
                 String result = ResultService.getResult(tradeid.toString());
                 HashMap m = JSONObject.parseObject(result, HashMap.class);
                 return  m.get("errcode").toString();
-            }else {
-                return "";
             }
         }catch (Exception e){
-            throw new OpenAPIException(e.getMessage(), e);
+            e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg = sw.toString();
+           // throw new OpenAPIException(e.getMessage(), e);
         }
-
+        return msg;
     }
 
     //获取to_account
@@ -1197,7 +1243,7 @@ public class SaleOrderService {
                     i.setEntry(saleOrderFHMins);
                     String s = ConsignTHAdd(i);
                     if (s.equals("0")){
-                        saleOrderMapper.UpdateKSDDKOrder(id);
+                        //saleOrderMapper.UpdateKSDDKOrder(id);
                     }
                 }
             }
@@ -1231,7 +1277,9 @@ public class SaleOrderService {
                     i.setEntry(saleOrderFHMins);
                     String s = yonyouAddSaleOrder(i);
                     if (s.equals("0")){
-                        saleOrderMapper.UpdateSYDOrder(id);
+                        saleOrderMapper.UpdateSYDOrder(id,"ok","1");
+                    }else {
+                        saleOrderMapper.UpdateSYDOrder(id,s,"0");
                     }
                 }
             }
@@ -1262,7 +1310,7 @@ public class SaleOrderService {
                     i.setEntry(saleOrderFHMins);
                     String s = ConsignTHAdd(i);
                     if (s.equals("0")){
-                        saleOrderMapper.UpdateKSDTHOrder(id);
+                       // saleOrderMapper.UpdateKSDTHOrder(id);
                     }
                 }
             }
@@ -1280,94 +1328,23 @@ public class SaleOrderService {
      */
     public void SaleOrderClass(){
         try {
-            String codeClass="XSFH";
-            String yyMM = DateUtils.format(new Date(), "yyMM");
+
             DynamicDataSource.setDataSource("last-data-source");
             List<SaleOrderFTH> saleOrderFTHS = saleOrderMapper.SaleOrderClass();
             DynamicDataSource.setDataSource("");
             if (saleOrderFTHS!=null&&saleOrderFTHS.size()>0){
                 for (SaleOrderFTH i:saleOrderFTHS){
-                    String[] split = i.getcVouchID().split("#");
-                    if (split.length>1){
-                        i.setcVouchID(split[0]+split[1]);
-                    }else {
-                        i.setcVouchID(split[0]);
-                    }
-                    DynamicDataSource.setDataSource("slave-data-source");
-                    String dlid=String.valueOf(testU8Service.callGetMaxCode("01"));
-                    DynamicDataSource.setDataSource("");
-                    String code="";
-                    String cid=i.getDlid();
-                    i.setPoid("75");
-                    i.setBreturnflag("1");
-                    if (dlid.length()==1){
-                        dlid="000"+dlid;
-                    }if (dlid.length()==2){
-                        dlid="00"+dlid;
-                    }if (dlid.length()==3){
-                        dlid="0"+dlid;
-                    }
-                    code=codeClass+yyMM+dlid;
-                    dlid=yyMM+dlid;
-                    i.setDlid(dlid);
-                    i.setCdlcode(code);
-                    DynamicDataSource.setDataSource("slave-data-source");
-                    int i1 = saleOrderMapper.UAddSaleOderFTH(i);
-                    DynamicDataSource.setDataSource("");
-                    if (i1>0){
+                   String cid= i.getDlid();
+                    String s= SaleOrderCS(i);
+                    if (s.equals("0")) {
                         DynamicDataSource.setDataSource("last-data-source");
-                        saleOrderMapper.UpdateSaleOrder(cid);
+                        saleOrderMapper.UpdateSaleOrder(cid,"ok","1");
                         DynamicDataSource.setDataSource("");
-
+                    }else {
                         DynamicDataSource.setDataSource("last-data-source");
-                        List<SaleOrderFTHMin> saleOrderFTHMins = saleOrderMapper.SaleOrderClassMin(cid);
+                        saleOrderMapper.UpdateSaleOrder(cid,s,"0");
                         DynamicDataSource.setDataSource("");
-                        if (saleOrderFTHMins!=null &&saleOrderFTHMins.size()>0){
-                            for (SaleOrderFTHMin ls:saleOrderFTHMins){
-                                ls.setDlid(dlid);
-                                BigDecimal sum=new BigDecimal(ls.getIquantity());//数量
-                                BigDecimal dj=new BigDecimal(ls.getItaxunitprice());//含税单价
-                                String iUnitPrice=dj.toString();
-                                String iNatUnitPrice=dj.toString();
-                                String iMoney=dj.multiply(sum).toString();
-                                String iNatMoney=dj.multiply(sum).toString();
-                                String tax="0";
-                                if (!ls.getItaxrate().equals("0.00")&&!ls.getItaxrate().equals("0")){
-                                    BigDecimal count=new BigDecimal("1");
-                                    BigDecimal taxrater=new BigDecimal("100");
-                                    BigDecimal iTaxRate=new BigDecimal(ls.getItaxrate());
-                                    BigDecimal iTaxRates = iTaxRate.add(count);//税率
-                                    BigDecimal divide =  dj.divide(iTaxRates, 8, BigDecimal.ROUND_DOWN);//无税单价
-                                    BigDecimal subtract = dj.subtract(divide);
-                                    BigDecimal multiply1 = sum.multiply(subtract);//税额
-                                    BigDecimal multiply = sum.multiply(divide);//无税金额
-                                    tax=multiply1.toString();
-                                    iUnitPrice=divide.toString();//原币无税单价
-                                    iNatUnitPrice=divide.toString();//本币无税单价
-                                    iMoney=multiply.toString();//原币无税金额
-                                    iNatMoney=multiply.toString();//本币无税金额
-
-                                    ls.setItaxrate(iTaxRate.multiply(taxrater).toString());
-                                }
-                                ls.setIunitprice(iUnitPrice);
-                                ls.setInatunitprice(iNatUnitPrice);
-                                ls.setImoney(iMoney);
-                                ls.setInatmoney(iNatMoney);
-                                ls.setItax(tax);
-                                ls.setInattax(tax);
-                                ls.setIsum(dj.multiply(sum).toString());
-                                ls.setInatsum(dj.multiply(sum).toString());
-
-                            }
-                            DynamicDataSource.setDataSource("slave-data-source");
-                            saleOrderMapper.UAddSaleOrderFTHMin(saleOrderFTHMins);
-                            DynamicDataSource.setDataSource("");
-                        }
                     }
-
-
-
-
                 }
             }
 
@@ -1400,7 +1377,9 @@ public class SaleOrderService {
                     i.setCloser("");
                     String s = yonyouAddSaleOrder(i);
                     if (s.equals("0")){
-                        saleOrderMapper.UpdateSaleOrder(id);
+                        saleOrderMapper.UpdateSaleOrder(id,"ok","1");
+                    }else {
+                        saleOrderMapper.UpdateSaleOrder(id,s,"0");
                     }
                 }
             }
@@ -1433,7 +1412,9 @@ public class SaleOrderService {
                     i.setCloser("");
                     String s = yonyouAddSaleOrder(i);
                     if (s.equals("0")){
-                        saleOrderMapper.UpdateDYDOrder(id);
+                        saleOrderMapper.UpdateDYDOrder(id,"ok","1");
+                    }else {
+                        saleOrderMapper.UpdateDYDOrder(id,s,"0");
                     }
                 }
             }
@@ -1444,6 +1425,92 @@ public class SaleOrderService {
 
     }
 
+    public String SaleOrderCS(SaleOrderFTH i){
+        String codeClass="XSFH";
+        String yyMM = DateUtils.format(new Date(), "yyMM");
+        String msg="";
+        try {
+            String cid=i.getDlid();
+        String[] split = i.getcVouchID().split("#");
+        if (split.length>1){
+            i.setcVouchID(split[0]+split[1]);
+        }else {
+            i.setcVouchID(split[0]);
+        }
+        DynamicDataSource.setDataSource("slave-data-source");
+        String dlid=String.valueOf(testU8Service.callGetMaxCode("01"));
+        DynamicDataSource.setDataSource("");
+        String code="";
+        i.setPoid("75");
+        i.setBreturnflag("1");
+        if (dlid.length()==1){
+            dlid="000"+dlid;
+        }if (dlid.length()==2){
+            dlid="00"+dlid;
+        }if (dlid.length()==3){
+            dlid="0"+dlid;
+        }
+        code=codeClass+yyMM+dlid;
+        dlid=yyMM+dlid;
+        i.setDlid(dlid);
+        i.setCdlcode(code);
+        DynamicDataSource.setDataSource("slave-data-source");
+        int i1 = saleOrderMapper.UAddSaleOderFTH(i);
+        DynamicDataSource.setDataSource("");
+        if (i1>0){
+            DynamicDataSource.setDataSource("last-data-source");
+            List<SaleOrderFTHMin> saleOrderFTHMins = saleOrderMapper.SaleOrderClassMin(cid);
+            DynamicDataSource.setDataSource("");
+            if (saleOrderFTHMins!=null &&saleOrderFTHMins.size()>0){
+                for (SaleOrderFTHMin ls:saleOrderFTHMins){
+                    ls.setDlid(dlid);
+                    BigDecimal sum=new BigDecimal(ls.getIquantity());//数量
+                    BigDecimal dj=new BigDecimal(ls.getItaxunitprice());//含税单价
+                    String iUnitPrice=dj.toString();
+                    String iNatUnitPrice=dj.toString();
+                    String iMoney=dj.multiply(sum).toString();
+                    String iNatMoney=dj.multiply(sum).toString();
+                    String tax="0";
+                    if (!ls.getItaxrate().equals("0.00")&&!ls.getItaxrate().equals("0")){
+                        BigDecimal count=new BigDecimal("1");
+                        BigDecimal taxrater=new BigDecimal("100");
+                        BigDecimal iTaxRate=new BigDecimal(ls.getItaxrate());
+                        BigDecimal iTaxRates = iTaxRate.add(count);//税率
+                        BigDecimal divide =  dj.divide(iTaxRates, 8, BigDecimal.ROUND_DOWN);//无税单价
+                        BigDecimal subtract = dj.subtract(divide);
+                        BigDecimal multiply1 = sum.multiply(subtract);//税额
+                        BigDecimal multiply = sum.multiply(divide);//无税金额
+                        tax=multiply1.toString();
+                        iUnitPrice=divide.toString();//原币无税单价
+                        iNatUnitPrice=divide.toString();//本币无税单价
+                        iMoney=multiply.toString();//原币无税金额
+                        iNatMoney=multiply.toString();//本币无税金额
+
+                        ls.setItaxrate(iTaxRate.multiply(taxrater).toString());
+                    }
+                    ls.setIunitprice(iUnitPrice);
+                    ls.setInatunitprice(iNatUnitPrice);
+                    ls.setImoney(iMoney);
+                    ls.setInatmoney(iNatMoney);
+                    ls.setItax(tax);
+                    ls.setInattax(tax);
+                    ls.setIsum(dj.multiply(sum).toString());
+                    ls.setInatsum(dj.multiply(sum).toString());
+                }
+                DynamicDataSource.setDataSource("slave-data-source");
+                saleOrderMapper.UAddSaleOrderFTHMin(saleOrderFTHMins);
+                DynamicDataSource.setDataSource("");
+            }
+        }
+        return "0";
+        }catch (Exception e){
+            e.printStackTrace();
+            StringWriter sw = new StringWriter();
+            e.printStackTrace(new PrintWriter(sw, true));
+            msg=sw.toString();
+        }
+        return msg;
+    }
 
     public static void main(String[] args) throws OpenAPIException {
         SaleOrderService service=new SaleOrderService();