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. 32
      dxhy-core/src/main/java/com/dxhy/core/service/singletable/impl/CoreSaveInvoiceInfoServiceImpl.java
  8. 31
      dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java

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

@ -22,6 +22,15 @@ public interface SysDeptService extends IService<SysDeptEntity> {
*/
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 insertUser = this.insertUser(user);
log.info("insertOrg = {},insertRole={},insertUser",insertOrg,insertRole,insertUser);
// 刷新用户缓存
sysUserService.refreshCache(false, user.getUsername());
return insertOrg && insertUser && insertRole;
@ -75,6 +78,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
sysUserService.saveUser(userEntity);
return true;
} catch (Exception e) {
log.error("insertUser 报错信息为{}",e);
e.printStackTrace();
return false;
}
@ -92,6 +96,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
}
return true;
} catch (Exception e) {
log.error("insertRole 报错信息为{}",e);
e.printStackTrace();
return false;
}
@ -113,6 +118,7 @@ public class SsoLoginServiceImpl implements SsoLoginService {
}
return true;
} catch (Exception e) {
log.error("insertOrg 报错信息为{}",e);
e.printStackTrace();
return false;
}

@ -54,6 +54,13 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptDao, SysDeptEntity> i
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获取所有子节点
*

@ -60,6 +60,17 @@ public class CommonConstants {
* 默认返回页面的错误信息
*/
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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@ -20,6 +21,7 @@ import com.dxhy.common.vo.DictdetaModel;
* @author jiaohongyang
*/
@Service("dictdetaServcice")
@Slf4j
public class DictdetaServciceImpl implements DictdetaServcice {
@Resource
private RedisUtils redisUtils;
@ -32,6 +34,7 @@ public class DictdetaServciceImpl implements DictdetaServcice {
@Override
public String queryDictName(String type,String code) {
log.info("type={},code={}",type,code);
String dictJson = redisUtils.get(RedisConstant.KEY_DICT + type);
List<DictdetaModel> dictdetaModels = JSON.parseArray(dictJson, DictdetaModel.class);
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.setTaxAmount(queryInvoiceResult.getBigDecimal("taxAmount"));
String taxRate = queryInvoiceResult.getString("taxRate");
log.info("taxRate={}",taxRate);
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"));
}
}
String resultString = queryInvoiceResult.getString("totalAmount");
if(StringUtils.isNotEmpty(resultString)){
invoiceStatistics.setTotalAmount(queryInvoiceResult.getBigDecimal("totalAmount"));
}
invoiceStatisticsList.add(invoiceStatistics);
} else {
if (queryInvoiceResult.containsKey("detailList")) {
@ -139,27 +152,36 @@ public class CoreSaveInvoiceInfoServiceImpl extends MpBaseServiceImpl<TDxRecordI
Map<String, String> slvMap = new HashMap<>(16);
for (int i = 0; i < dataArray.size(); i++) {
JSONObject invoiceDetailQuery = dataArray.getJSONObject(i);
String slvPri = queryInvoiceResult.getString("invoiceCode")
+ queryInvoiceResult.getString("invoiceNo") + invoiceDetailQuery.getString("taxRate");
String taxRate = invoiceDetailQuery.getString("taxRate");
if(StringUtils.isEmpty(taxRate)){
taxRate = "";
}
String slvPri = queryInvoiceResult.getString("invoiceCode") + queryInvoiceResult.getString("invoiceNo") + taxRate;
if (!slvMap.containsKey(slvPri)) {
slvMap.put(slvPri, slvPri);
TDxRecordInvoiceStatistics invoiceStatistics = new TDxRecordInvoiceStatistics();
invoiceStatistics.setCreateDate(DateUtils.getSqlDateLong());
invoiceStatistics.setInvoiceCode(queryInvoiceResult.getString("invoiceCode"));
invoiceStatistics.setInvoiceNo(queryInvoiceResult.getString("invoiceNo"));
invoiceStatistics.setDetailAmount(invoiceDetailQuery.getBigDecimal("detailAmount"));
if(StringUtils.isNotBlank(taxRate)){
try {
invoiceStatistics.setTaxRate(invoiceDetailQuery.getBigDecimal("taxRate"));
} catch (Exception e) {
invoiceStatistics.setTaxRate(new BigDecimal("0"));
}
}
String detailAmount = invoiceDetailQuery.getString("detailAmount");
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"));
}
String detailAmount = invoiceDetailQuery.getString("detailAmount");
String taxAmount = invoiceDetailQuery.getString("taxAmount");
}
if (StringUtils.isNotBlank(detailAmount) && StringUtils.isNotBlank(taxAmount)) {
try {
detailAmount = new BigDecimal(detailAmount).toPlainString();

@ -35,6 +35,7 @@ import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeoutException;
/**
* 山东能源查验主流程控制器
@ -110,7 +111,7 @@ public class SDNYMainProcessController extends AbstractController {
@PostMapping("/singleInvoiceCheck")
@ResponseBody
@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);
String userid = "101833";
String dbName = "business";
@ -197,8 +198,25 @@ public class SDNYMainProcessController extends AbstractController {
detailWrapper.eq("uuid", uuid);
DynamicContextHolder.push("business" + DbConstant.DETAIL_READ);
List<BaseTDxRecordInvoiceDetail> baseTDxRecordInvoiceDetail = baseTDxRecordInvoiceDetailDao.selectList(detailWrapper);
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);
JSONArray checkInvoiceDetail = (JSONArray) JSONObject.toJSON(baseTDxRecordInvoiceDetail);
@ -649,11 +667,20 @@ public class SDNYMainProcessController extends AbstractController {
}
}
} catch (TimeoutException 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();
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)));
}

Loading…
Cancel
Save