|
@@ -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();
|