Merge branches '0507' and 'release' of http://192.168.12.182/invoice/pt into 0507

release
yefei 2 years ago
commit dd158593ad
  1. 4
      dxhy-admin/src/main/java/com/dxhy/admin/sys/controller/SysDeptController.java
  2. 9
      dxhy-admin/src/main/java/com/dxhy/admin/sys/service/SysDeptService.java
  3. 6
      dxhy-admin/src/main/java/com/dxhy/admin/sys/service/impl/SsoLoginServiceImpl.java
  4. 7
      dxhy-admin/src/main/java/com/dxhy/admin/sys/service/impl/SysDeptServiceImpl.java
  5. 11
      dxhy-common/src/main/java/com/dxhy/common/constant/CommonConstants.java
  6. 3
      dxhy-common/src/main/java/com/dxhy/common/service/impl/DictdetaServciceImpl.java
  7. 62
      dxhy-core/src/main/java/com/dxhy/core/service/singletable/impl/CoreSaveInvoiceInfoServiceImpl.java
  8. 87
      dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java

@ -45,14 +45,14 @@ public class SysDeptController extends AbstractController {
* 列表 * 列表
*/ */
@RequestMapping("/list") @RequestMapping("/list")
public ResponseEntity<?> list() { public ResponseEntity<?> list(@RequestBody long deptId) {
String company = ""; String company = "";
UserInfo userInfo = getUserInfo(); UserInfo userInfo = getUserInfo();
if (Long.parseLong(getUserId()) != Constant.SUPER_ADMIN && !userInfo.getCompany().contains(SysConfig.ZXQY)) { if (Long.parseLong(getUserId()) != Constant.SUPER_ADMIN && !userInfo.getCompany().contains(SysConfig.ZXQY)) {
company = userInfo.getCompany(); company = userInfo.getCompany();
} }
List<SysDeptEntity> deptList = sysDeptService.queryList(company); List<SysDeptEntity> deptList = sysDeptService.queryList(company,deptId);
log.info("树状信息:{}", JSON.toJSONString(deptList)); log.info("树状信息:{}", JSON.toJSONString(deptList));
return ResponseEntity.ok(R.ok().put("data", deptList)); return ResponseEntity.ok(R.ok().put("data", deptList));
} }

@ -22,6 +22,15 @@ public interface SysDeptService extends IService<SysDeptEntity> {
*/ */
List<SysDeptEntity> queryList(String company); List<SysDeptEntity> queryList(String company);
/**
* 根据集团编码获取部门信息
*
* @param company
* 集团编码
* @return 部门信息
*/
List<SysDeptEntity> queryList(String company,long parentId);
/** /**
* 根据集团编码获取用户关联信息 * 根据集团编码获取用户关联信息
* *

@ -58,6 +58,9 @@ public class SsoLoginServiceImpl implements SsoLoginService {
boolean insertRole = this.insertRole(user); boolean insertRole = this.insertRole(user);
// 保存用户信息 // 保存用户信息
boolean insertUser = this.insertUser(user); boolean insertUser = this.insertUser(user);
log.info("insertOrg = {},insertRole={},insertUser",insertOrg,insertRole,insertUser);
// 刷新用户缓存 // 刷新用户缓存
sysUserService.refreshCache(false, user.getUsername()); sysUserService.refreshCache(false, user.getUsername());
return insertOrg && insertUser && insertRole; return insertOrg && insertUser && insertRole;
@ -75,6 +78,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
sysUserService.saveUser(userEntity); sysUserService.saveUser(userEntity);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
log.error("insertUser 报错信息为{}",e);
e.printStackTrace(); e.printStackTrace();
return false; return false;
} }
@ -92,6 +96,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
} }
return true; return true;
} catch (Exception e) { } catch (Exception e) {
log.error("insertRole 报错信息为{}",e);
e.printStackTrace(); e.printStackTrace();
return false; return false;
} }
@ -113,6 +118,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
} }
return true; return true;
} catch (Exception e) { } catch (Exception e) {
log.error("insertOrg 报错信息为{}",e);
e.printStackTrace(); e.printStackTrace();
return false; return false;
} }

@ -54,6 +54,13 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptDao, SysDeptEntity> i
return this.getChildPerms(deptList, parentId); return this.getChildPerms(deptList, parentId);
} }
@Override
public List<SysDeptEntity> queryList(String company, long parentId) {
DynamicContextHolder.push(DbConstant.BASICS_READ);
List<SysDeptEntity> deptList = baseMapper.queryList(company);
return this.getChildPerms(deptList, parentId);
}
/** /**
* 根据父节点的ID获取所有子节点 * 根据父节点的ID获取所有子节点
* *

@ -60,6 +60,17 @@ public class CommonConstants {
* 默认返回页面的错误信息 * 默认返回页面的错误信息
*/ */
public static final String MSG_ERR_PUSH_SDNY = "推送数据到sap失败!"; public static final String MSG_ERR_PUSH_SDNY = "推送数据到sap失败!";
/**
* 超时的错误信息
*/
public static final String CONNECT_TIMEOUT = "网络超时,请稍后重试!";
/**
* 空指针的错误信息
*/
public static final String NULL_POINTER_TIMEOUT = "系统错误,请稍后重试!";
/** /**
* 默认返回页面的成功信息 * 默认返回页面的成功信息
*/ */

@ -7,6 +7,7 @@ import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -20,6 +21,7 @@ import com.dxhy.common.vo.DictdetaModel;
* @author jiaohongyang * @author jiaohongyang
*/ */
@Service("dictdetaServcice") @Service("dictdetaServcice")
@Slf4j
public class DictdetaServciceImpl implements DictdetaServcice { public class DictdetaServciceImpl implements DictdetaServcice {
@Resource @Resource
private RedisUtils redisUtils; private RedisUtils redisUtils;
@ -32,6 +34,7 @@ public class DictdetaServciceImpl implements DictdetaServcice {
@Override @Override
public String queryDictName(String type,String code) { public String queryDictName(String type,String code) {
log.info("type={},code={}",type,code);
String dictJson = redisUtils.get(RedisConstant.KEY_DICT + type); String dictJson = redisUtils.get(RedisConstant.KEY_DICT + type);
List<DictdetaModel> dictdetaModels = JSON.parseArray(dictJson, DictdetaModel.class); List<DictdetaModel> dictdetaModels = JSON.parseArray(dictJson, DictdetaModel.class);
Map<String, String> collect = dictdetaModels.stream().collect(Collectors.toMap(DictdetaModel::getDictcode, DictdetaModel::getDictname)); Map<String, String> collect = dictdetaModels.stream().collect(Collectors.toMap(DictdetaModel::getDictcode, DictdetaModel::getDictname));

@ -120,16 +120,29 @@ public class CoreSaveInvoiceInfoServiceImpl extends MpBaseServiceImpl<TDxRecordI
// invoiceStatistics.setTaxRate(queryInvoiceResult.getBigDecimal("taxRate")); // invoiceStatistics.setTaxRate(queryInvoiceResult.getBigDecimal("taxRate"));
// invoiceStatistics.setTaxAmount(queryInvoiceResult.getBigDecimal("taxAmount")); // invoiceStatistics.setTaxAmount(queryInvoiceResult.getBigDecimal("taxAmount"));
String taxRate = queryInvoiceResult.getString("taxRate"); String taxRate = queryInvoiceResult.getString("taxRate");
if (taxRate.contains("%")) { log.info("taxRate={}",taxRate);
taxRate = taxRate.replace("%", ""); if(StringUtils.isNotEmpty(taxRate)) {
if (taxRate.contains("%")) {
taxRate = taxRate.replace("%", "");
}
if("免税".equals(taxRate)){
invoiceStatistics.setTaxRate(new BigDecimal("0"));
}else {
invoiceStatistics.setTaxRate(new BigDecimal(taxRate));
}
}
String amount = queryInvoiceResult.getString("taxAmount");
if(StringUtils.isNotEmpty(amount)){
try {
invoiceStatistics.setTaxAmount(queryInvoiceResult.getBigDecimal("taxAmount"));
} catch (Exception e) {
invoiceStatistics.setTaxAmount(new BigDecimal("0"));
}
} }
invoiceStatistics.setTaxRate(new BigDecimal(taxRate)); String resultString = queryInvoiceResult.getString("totalAmount");
try { if(StringUtils.isNotEmpty(resultString)){
invoiceStatistics.setTaxAmount(queryInvoiceResult.getBigDecimal("taxAmount")); invoiceStatistics.setTotalAmount(queryInvoiceResult.getBigDecimal("totalAmount"));
} catch (Exception e) {
invoiceStatistics.setTaxAmount(new BigDecimal("0"));
} }
invoiceStatistics.setTotalAmount(queryInvoiceResult.getBigDecimal("totalAmount"));
invoiceStatisticsList.add(invoiceStatistics); invoiceStatisticsList.add(invoiceStatistics);
} else { } else {
if (queryInvoiceResult.containsKey("detailList")) { if (queryInvoiceResult.containsKey("detailList")) {
@ -139,27 +152,36 @@ public class CoreSaveInvoiceInfoServiceImpl extends MpBaseServiceImpl<TDxRecordI
Map<String, String> slvMap = new HashMap<>(16); Map<String, String> slvMap = new HashMap<>(16);
for (int i = 0; i < dataArray.size(); i++) { for (int i = 0; i < dataArray.size(); i++) {
JSONObject invoiceDetailQuery = dataArray.getJSONObject(i); JSONObject invoiceDetailQuery = dataArray.getJSONObject(i);
String slvPri = queryInvoiceResult.getString("invoiceCode") String taxRate = invoiceDetailQuery.getString("taxRate");
+ queryInvoiceResult.getString("invoiceNo") + invoiceDetailQuery.getString("taxRate"); if(StringUtils.isEmpty(taxRate)){
taxRate = "";
}
String slvPri = queryInvoiceResult.getString("invoiceCode") + queryInvoiceResult.getString("invoiceNo") + taxRate;
if (!slvMap.containsKey(slvPri)) { if (!slvMap.containsKey(slvPri)) {
slvMap.put(slvPri, slvPri); slvMap.put(slvPri, slvPri);
TDxRecordInvoiceStatistics invoiceStatistics = new TDxRecordInvoiceStatistics(); TDxRecordInvoiceStatistics invoiceStatistics = new TDxRecordInvoiceStatistics();
invoiceStatistics.setCreateDate(DateUtils.getSqlDateLong()); invoiceStatistics.setCreateDate(DateUtils.getSqlDateLong());
invoiceStatistics.setInvoiceCode(queryInvoiceResult.getString("invoiceCode")); invoiceStatistics.setInvoiceCode(queryInvoiceResult.getString("invoiceCode"));
invoiceStatistics.setInvoiceNo(queryInvoiceResult.getString("invoiceNo")); invoiceStatistics.setInvoiceNo(queryInvoiceResult.getString("invoiceNo"));
invoiceStatistics.setDetailAmount(invoiceDetailQuery.getBigDecimal("detailAmount")); if(StringUtils.isNotBlank(taxRate)){
try { try {
invoiceStatistics.setTaxRate(invoiceDetailQuery.getBigDecimal("taxRate")); invoiceStatistics.setTaxRate(invoiceDetailQuery.getBigDecimal("taxRate"));
} catch (Exception e) { } catch (Exception e) {
invoiceStatistics.setTaxRate(new BigDecimal("0")); invoiceStatistics.setTaxRate(new BigDecimal("0"));
} }
try {
invoiceStatistics.setTaxAmount(invoiceDetailQuery.getBigDecimal("taxAmount"));
} catch (Exception e) {
invoiceStatistics.setTaxAmount(new BigDecimal("0"));
} }
String detailAmount = invoiceDetailQuery.getString("detailAmount"); String detailAmount = invoiceDetailQuery.getString("detailAmount");
String taxAmount = invoiceDetailQuery.getString("taxAmount"); String taxAmount = invoiceDetailQuery.getString("taxAmount");
if(StringUtils.isNotBlank(detailAmount)){
invoiceStatistics.setDetailAmount(invoiceDetailQuery.getBigDecimal("detailAmount"));
}
if(StringUtils.isNotBlank(taxAmount)){
try {
invoiceStatistics.setTaxAmount(invoiceDetailQuery.getBigDecimal("taxAmount"));
} catch (Exception e) {
invoiceStatistics.setTaxAmount(new BigDecimal("0"));
}
}
if (StringUtils.isNotBlank(detailAmount) && StringUtils.isNotBlank(taxAmount)) { if (StringUtils.isNotBlank(detailAmount) && StringUtils.isNotBlank(taxAmount)) {
try { try {
detailAmount = new BigDecimal(detailAmount).toPlainString(); detailAmount = new BigDecimal(detailAmount).toPlainString();

@ -35,6 +35,7 @@ import java.math.BigDecimal;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeoutException;
/** /**
* 山东能源查验主流程控制器 * 山东能源查验主流程控制器
@ -110,7 +111,7 @@ public class SDNYMainProcessController extends AbstractController {
@PostMapping("/singleInvoiceCheck") @PostMapping("/singleInvoiceCheck")
@ResponseBody @ResponseBody
@SysLog("发票查验") @SysLog("发票查验")
public ResponseEntity<String> singleInvoiceCheck(@RequestBody Map<String, String> pramsMap) throws ParseException { public ResponseEntity<String> singleInvoiceCheck(@RequestBody Map<String, String> pramsMap) throws Exception {
log.info("传入的参数为:{}", pramsMap); log.info("传入的参数为:{}", pramsMap);
String userid = "101833"; String userid = "101833";
String dbName = "business"; String dbName = "business";
@ -165,7 +166,7 @@ public class SDNYMainProcessController extends AbstractController {
return ResponseEntity.ok(JSONObject.toJSONString(R.error("金额不能为空!"))); return ResponseEntity.ok(JSONObject.toJSONString(R.error("金额不能为空!")));
} }
} else { } else {
if (StringUtils.isBlank(pramsMap.get("checkCode"))){ if (StringUtils.isBlank(pramsMap.get("checkCode"))) {
return ResponseEntity.ok(JSONObject.toJSONString(R.error("校验码不能为空!"))); return ResponseEntity.ok(JSONObject.toJSONString(R.error("校验码不能为空!")));
} }
} }
@ -184,7 +185,7 @@ public class SDNYMainProcessController extends AbstractController {
} }
//非通行费类发票 先判断底账库中是否已存在 //非通行费类发票 先判断底账库中是否已存在
if(!"32000".equals(pramsMap.get("invoiceType"))) { if (!"32000".equals(pramsMap.get("invoiceType"))) {
//查询底账库是否有对应发票,有则直接返回 //查询底账库是否有对应发票,有则直接返回
QueryWrapper<BaseTDxRecordInvoice> recordWrapper = new QueryWrapper<>(); QueryWrapper<BaseTDxRecordInvoice> recordWrapper = new QueryWrapper<>();
recordWrapper.eq("uuid", uuid); recordWrapper.eq("uuid", uuid);
@ -197,9 +198,26 @@ public class SDNYMainProcessController extends AbstractController {
detailWrapper.eq("uuid", uuid); detailWrapper.eq("uuid", uuid);
DynamicContextHolder.push("business" + DbConstant.DETAIL_READ); DynamicContextHolder.push("business" + DbConstant.DETAIL_READ);
List<BaseTDxRecordInvoiceDetail> baseTDxRecordInvoiceDetail = baseTDxRecordInvoiceDetailDao.selectList(detailWrapper); List<BaseTDxRecordInvoiceDetail> baseTDxRecordInvoiceDetail = baseTDxRecordInvoiceDetailDao.selectList(detailWrapper);
DynamicContextHolder.push("business" + DbConstant.BUSINESS_READ); DynamicContextHolder.push("business" + DbConstant.BUSINESS_READ);
if(baseTDxRecordInvoiceDetail != null && baseTDxRecordInvoiceDetail.size() == 0){
//先删除原有主数据,再查验更新主数据和明细数据
int delete = baseTDxRecordInvoiceDao.delete(recordWrapper);
if(delete > 0) {
checkInvoiceResult = snPushCheckRecordService.singleCheckInvoice(pramsMap);
if (!checkInvoiceResult.containsKey("code")) {
if (!checkInvoiceResult.containsKey("cyjg")) {
checkInvoiceResult.put("invoiceNo", checkInvoiceResult.getString("invoiceNumber"));
signSaveInvoiceInfoService.saveQueryInvoiceResult(checkInvoiceResult, userid, "1", dbName);
}
}
DynamicContextHolder.push("business" + DbConstant.DETAIL_READ);
baseTDxRecordInvoiceDetail = baseTDxRecordInvoiceDetailDao.selectList(detailWrapper);
DynamicContextHolder.push("business" + DbConstant.BUSINESS_READ);
}
}
JSONObject checkInvoice = (JSONObject) JSONObject.toJSON(checkInvoiceByUuid); JSONObject checkInvoice = (JSONObject) JSONObject.toJSON(checkInvoiceByUuid);
JSONArray checkInvoiceDetail = (JSONArray) JSONObject.toJSON(baseTDxRecordInvoiceDetail); JSONArray checkInvoiceDetail = (JSONArray) JSONObject.toJSON(baseTDxRecordInvoiceDetail);
@ -240,8 +258,8 @@ public class SDNYMainProcessController extends AbstractController {
} }
try { try {
checkInvoiceResult = snPushCheckRecordService.singleCheckInvoice(pramsMap); checkInvoiceResult = snPushCheckRecordService.singleCheckInvoice(pramsMap);
log.info("查验结果为:{}", checkInvoiceResult); log.info("查验结果为:{}", checkInvoiceResult);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -312,7 +330,7 @@ public class SDNYMainProcessController extends AbstractController {
private R errorInfo(JSONObject checkInvoiceResult, R data) { private R errorInfo(JSONObject checkInvoiceResult, R data) {
if ("0002".equals(checkInvoiceResult.getString("cyjg"))) { if ("0002".equals(checkInvoiceResult.getString("cyjg"))) {
data = new R(1002, checkInvoiceResult.getString("cyjgxx")); data = new R(1002, checkInvoiceResult.getString("cyjgxx"));
} }
if ("0005".equals(checkInvoiceResult.getString("cyjg"))) { if ("0005".equals(checkInvoiceResult.getString("cyjg"))) {
@ -375,7 +393,7 @@ public class SDNYMainProcessController extends AbstractController {
checkInvoice.put("totalAmount", checkInvoice.getString("invoiceAmount")); checkInvoice.put("totalAmount", checkInvoice.getString("invoiceAmount"));
//添加非空判断 //添加非空判断
String invoiceCode = null; String invoiceCode = null;
if ( checkInvoice.get("invoiceCode") != null){ if (checkInvoice.get("invoiceCode") != null) {
invoiceCode = checkInvoice.get("invoiceCode").toString(); invoiceCode = checkInvoice.get("invoiceCode").toString();
} }
String invoiceType = checkInvoice.get("invoiceType").toString(); String invoiceType = checkInvoice.get("invoiceType").toString();
@ -390,10 +408,10 @@ public class SDNYMainProcessController extends AbstractController {
checkInvoice.put("administrativeDivisionNo", ""); checkInvoice.put("administrativeDivisionNo", "");
checkInvoice.put("administrativeDivisionName", ""); checkInvoice.put("administrativeDivisionName", "");
if("31".equals(invoiceType) || "32".equals(invoiceType) || "185".equals(invoiceType) || "186".equals(invoiceType)){ if ("31".equals(invoiceType) || "32".equals(invoiceType) || "185".equals(invoiceType) || "186".equals(invoiceType)) {
checkInvoice.put("invoiceCode", ""); checkInvoice.put("invoiceCode", "");
checkInvoice.put("invoiceNumber", invoiceCode == null ? checkInvoice.get("invoiceNo").toString() :invoiceCode + checkInvoice.get("invoiceNo").toString()); checkInvoice.put("invoiceNumber", invoiceCode == null ? checkInvoice.get("invoiceNo").toString() : invoiceCode + checkInvoice.get("invoiceNo").toString());
}else { } else {
checkInvoice.put("invoiceCode", invoiceCode); checkInvoice.put("invoiceCode", invoiceCode);
checkInvoice.put("invoiceNumber", checkInvoice.get("invoiceNo").toString()); checkInvoice.put("invoiceNumber", checkInvoice.get("invoiceNo").toString());
} }
@ -452,10 +470,10 @@ public class SDNYMainProcessController extends AbstractController {
Float hjje = null; Float hjje = null;
if (detail.getString("detailAmount") != null && detail.getString("taxAmount") != null) { if (detail.getString("detailAmount") != null && detail.getString("taxAmount") != null) {
Float je = Float.parseFloat(detail.getString("detailAmount")); Float je = Float.parseFloat(detail.getString("detailAmount"));
if(detail.getString("taxAmount") != null) { if (detail.getString("taxAmount") != null) {
Float se = Float.parseFloat(detail.getString("taxAmount")); Float se = Float.parseFloat(detail.getString("taxAmount"));
hjje = je + se; hjje = je + se;
}else{ } else {
hjje = je; hjje = je;
} }
} }
@ -531,7 +549,7 @@ public class SDNYMainProcessController extends AbstractController {
String company = ""; String company = "";
String taxno = ""; String taxno = "";
String taxname = ""; String taxname = "";
if(orgByCompCode != null) { if (orgByCompCode != null) {
company = orgByCompCode.getCompany(); company = orgByCompCode.getCompany();
taxno = orgByCompCode.getTaxno(); taxno = orgByCompCode.getTaxno();
taxname = orgByCompCode.getTaxname(); taxname = orgByCompCode.getTaxname();
@ -649,11 +667,20 @@ public class SDNYMainProcessController extends AbstractController {
} }
} }
} catch (Exception exception) { } catch (TimeoutException exception) {
log.error("同步SAP失败,报错信息为:{}",exception); log.error("同步SAP失败,报错信息为:{}", exception);
exception.printStackTrace();
return ResponseEntity.ok(JSONObject.toJSONString(R.error(CommonConstants.CONNECT_TIMEOUT)));
} catch(NullPointerException exception){
log.error("同步SAP失败,报错信息为:{}", exception);
exception.printStackTrace(); exception.printStackTrace();
return ResponseEntity.ok(JSONObject.toJSONString(R.error(CommonConstants.NULL_POINTER_TIMEOUT)));
} catch(Exception exception){
log.error("同步SAP失败,报错信息为:{}", exception);
exception.printStackTrace();
return ResponseEntity.ok(JSONObject.toJSONString(R.error(CommonConstants.MSG_ERR_DEFAULT)));
} }
return ResponseEntity.ok(JSONObject.toJSONString(R.error(CommonConstants.MSG_ERR_PUSH_SDNY)));
} }
@ -759,7 +786,7 @@ public class SDNYMainProcessController extends AbstractController {
List<SAPInvoiceDetail> sapInvoiceDetailList = new ArrayList<>(); List<SAPInvoiceDetail> sapInvoiceDetailList = new ArrayList<>();
//查询明细 //查询明细
String uuid = snInvoice.getInvoiceCode() + snInvoice.getInvoiceNumber(); String uuid = snInvoice.getInvoiceCode() + snInvoice.getInvoiceNumber();
if (StringUtils.isBlank(snInvoice.getInvoiceCode())){ if (StringUtils.isBlank(snInvoice.getInvoiceCode())) {
uuid = snInvoice.getInvoiceNumber(); uuid = snInvoice.getInvoiceNumber();
} }
DynamicContextHolder.push("business" + DbConstant.DETAIL_READ); DynamicContextHolder.push("business" + DbConstant.DETAIL_READ);
@ -788,7 +815,7 @@ public class SDNYMainProcessController extends AbstractController {
//将类似于0.03数据格式转化为3.00 //将类似于0.03数据格式转化为3.00
if (snInvoiceDetail.getTaxRate() != null && snInvoiceDetail.getTaxRate() != "") { if (snInvoiceDetail.getTaxRate() != null && snInvoiceDetail.getTaxRate() != "") {
sapInvoiceDetail.setZTAX(snInvoiceDetail.getTaxRate()); sapInvoiceDetail.setZTAX(snInvoiceDetail.getTaxRate());
if ( "0".equals(snInvoiceDetail.getTaxRate())){ if ("0".equals(snInvoiceDetail.getTaxRate())) {
sapInvoiceDetail.setZTAX("0.00"); sapInvoiceDetail.setZTAX("0.00");
// sapInvoiceDetail.setZSM(sapInvoiceDetail.getZTAX()); // sapInvoiceDetail.setZSM(sapInvoiceDetail.getZTAX());
} }
@ -802,7 +829,7 @@ public class SDNYMainProcessController extends AbstractController {
BigDecimal tax1 = tax.multiply(new BigDecimal("100")); BigDecimal tax1 = tax.multiply(new BigDecimal("100"));
sapInvoiceDetail.setZTAX(tax1.toString()); sapInvoiceDetail.setZTAX(tax1.toString());
} }
if (snInvoiceDetail.getTaxRate().contains("%") && !snInvoiceDetail.getTaxRate().contains(".")){ if (snInvoiceDetail.getTaxRate().contains("%") && !snInvoiceDetail.getTaxRate().contains(".")) {
String replace = snInvoiceDetail.getTaxRate().replace("%", ".00"); String replace = snInvoiceDetail.getTaxRate().replace("%", ".00");
sapInvoiceDetail.setZTAX(replace); sapInvoiceDetail.setZTAX(replace);
} }
@ -818,11 +845,11 @@ public class SDNYMainProcessController extends AbstractController {
sapInvoiceDetail.setZCYR(info.getZCYRMC()); sapInvoiceDetail.setZCYR(info.getZCYRMC());
sapInvoiceDetail.setZDW(snInvoiceDetail.getUnit()); sapInvoiceDetail.setZDW(snInvoiceDetail.getUnit());
sapInvoiceDetail.setZGSJBM(snInvoiceDetail.getCommodityCode()); sapInvoiceDetail.setZGSJBM(snInvoiceDetail.getCommodityCode());
if (StringUtils.isNotBlank(snInvoiceDetail.getTax())){ if (StringUtils.isNotBlank(snInvoiceDetail.getTax())) {
sapInvoiceDetail.setZSE(snInvoiceDetail.getTax()); sapInvoiceDetail.setZSE(snInvoiceDetail.getTax());
}else { } else {
if (detailInfo != null && !detailInfo.isEmpty()){ if (detailInfo != null && !detailInfo.isEmpty()) {
for (InvoiceDetailInfo invoiceDetailInfo : detailInfo) { for (InvoiceDetailInfo invoiceDetailInfo : detailInfo) {
if (StringUtils.isNotBlank(invoiceDetailInfo.getDetailNo()) && invoiceDetailInfo.getDetailNo().equals(snInvoiceDetail.getRowNo())) { if (StringUtils.isNotBlank(invoiceDetailInfo.getDetailNo()) && invoiceDetailInfo.getDetailNo().equals(snInvoiceDetail.getRowNo())) {
sapInvoiceDetail.setZSE(invoiceDetailInfo.getTaxAmount()); sapInvoiceDetail.setZSE(invoiceDetailInfo.getTaxAmount());
@ -832,10 +859,10 @@ public class SDNYMainProcessController extends AbstractController {
} }
sapInvoiceDetail.setZSL(snInvoiceDetail.getQuantity()); sapInvoiceDetail.setZSL(snInvoiceDetail.getQuantity());
String zsmTax = snInvoiceDetail.getTaxRate(); String zsmTax = snInvoiceDetail.getTaxRate();
if (zsmTax != null && zsmTax != "" && zsmTax.length() > 4){ if (zsmTax != null && zsmTax != "" && zsmTax.length() > 4) {
zsmTax = zsmTax.substring(0,4); zsmTax = zsmTax.substring(0, 4);
} }
if (zsmTax != null && zsmTax.contains("%") && !zsmTax.contains(".")){ if (zsmTax != null && zsmTax.contains("%") && !zsmTax.contains(".")) {
zsmTax = (new BigDecimal(zsmTax.replace("%", ""))).divide(new BigDecimal("100")).toString(); zsmTax = (new BigDecimal(zsmTax.replace("%", ""))).divide(new BigDecimal("100")).toString();
} }
// sapInvoiceDetail.setZSM(getZSM(snInvoiceDetail.getTaxRate())); // sapInvoiceDetail.setZSM(getZSM(snInvoiceDetail.getTaxRate()));
@ -869,16 +896,16 @@ public class SDNYMainProcessController extends AbstractController {
info.setZTAX(replace + ".00"); info.setZTAX(replace + ".00");
info.setZSM(getZSM(divide.toString())); info.setZSM(getZSM(divide.toString()));
} }
if (taxRate != null && taxRate.contains(".") && !taxRate.contains("%")){ if (taxRate != null && taxRate.contains(".") && !taxRate.contains("%")) {
if (taxRate.length() >4){ if (taxRate.length() > 4) {
taxRate = taxRate.substring(0,4); taxRate = taxRate.substring(0, 4);
BigDecimal tax = new BigDecimal(taxRate); BigDecimal tax = new BigDecimal(taxRate);
info.setZSM(getZSM(tax.toString())); info.setZSM(getZSM(tax.toString()));
BigDecimal tax1 = tax.multiply(new BigDecimal("100")); BigDecimal tax1 = tax.multiply(new BigDecimal("100"));
info.setZTAX(tax1.toString()); info.setZTAX(tax1.toString());
} }
} }
if (taxRate != null && "0".equals(taxRate)){ if (taxRate != null && "0".equals(taxRate)) {
info.setZTAX("0.00"); info.setZTAX("0.00");
info.setZSM(getZSM(info.getZTAX())); info.setZSM(getZSM(info.getZTAX()));
} }

Loading…
Cancel
Save