Commit 2e09e92d authored by zhkwei's avatar zhkwei

Merge remote-tracking branch 'origin/dev_mysql' into dev_mysql

parents d51b58d4 bd8472ac
......@@ -34,8 +34,7 @@ public class RevenueConfController extends BaseController {
@PostMapping("add")
public ApiResultDto addConf(@RequestBody RevConfAddDto addDto) {
revenueConfService.addConfig(addDto);
return ApiResultDto.success();
return revenueConfService.addConfig(addDto);
}
@PostMapping("update")
......
......@@ -215,6 +215,19 @@ public class DataImportLogDto implements Serializable {
*/
private Date updateTime;
/**
* Database Column Remarks:
* 导入类型
默认0;追加导入1;覆盖导入2;
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column data_import_log.import_type
*
* @mbg.generated
*/
private Integer importType;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table data_import_log
......@@ -623,12 +636,14 @@ public class DataImportLogDto implements Serializable {
this.recordSize = recordSize;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
public Integer getImportType() {
return importType;
}
public void setImportType(Integer importType) {
this.importType = importType;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
......@@ -637,6 +652,7 @@ public class DataImportLogDto implements Serializable {
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", organizationId=").append(organizationId);
sb.append(", taxpayerIdNum=").append(taxpayerIdNum);
sb.append(", type=").append(type);
sb.append(", companyCode=").append(companyCode);
sb.append(", companyName=").append(companyName);
......@@ -649,8 +665,10 @@ public class DataImportLogDto implements Serializable {
sb.append(", operateTime=").append(operateTime);
sb.append(", importResult=").append(importResult);
sb.append(", errorMsg=").append(errorMsg);
sb.append(", recordSize=").append(recordSize);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
sb.append(", importType=").append(importType);
sb.append("]");
return sb.toString();
}
......
package pwc.taxtech.atms.dto.organization;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import pwc.taxtech.atms.common.util.PwCIdSerialize;
......@@ -23,7 +24,9 @@ public class OrganizationExtraDto implements Serializable {
*
* @mbg.generated
*/
@JsonSerialize(using = PwCIdSerialize.class)
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
/**
......@@ -541,6 +544,7 @@ public class OrganizationExtraDto implements Serializable {
*
* @mbg.generated
*/
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long secondaryApprovalAmount;
/**
......@@ -574,6 +578,7 @@ public class OrganizationExtraDto implements Serializable {
*
* @mbg.generated
*/
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long issuedShares;
/**
......
......@@ -283,7 +283,8 @@ public class DataImportService extends BaseService {
EnumImportType.ProfitLoss.getCode(), period/100,
tmsPeriod%100, period%100,
companyName, fileType);
//添加导入类型
dataImportLog.setImportType(importType);
if (organizations.size() < 1) {
dataImportLog.setImportResult(false);
dataImportLog.setErrorMsg(ErrorMessageCN.NoCompanyError);
......@@ -460,6 +461,8 @@ public class DataImportService extends BaseService {
EnumImportType.BalanceSheet.getCode(), period/100,
tmsPeriod%100, period%100,
companyName, fileType);
//添加导入类型
dataImportLog.setImportType(importType);
if (organizations.size() < 1) {
dataImportLog.setImportResult(false);
dataImportLog.setErrorMsg(ErrorMessageCN.NoCompanyError);
......@@ -611,6 +614,8 @@ public class DataImportService extends BaseService {
EnumImportType.CashFlow.getCode(), period/100,
tmsPeriod%100, period%100,
companyName, fileType);
//添加导入类型
dataImportLog.setImportType(importType);
if (organizations.size() < 1) {
dataImportLog.setImportResult(false);
dataImportLog.setErrorMsg(ErrorMessageCN.NoCompanyError);
......@@ -767,6 +772,8 @@ public class DataImportService extends BaseService {
EnumImportType.InvoiceData.getCode(), period/100,
tmsPeriod%100, period%100,
companyName, fileType);
//添加导入类型
dataImportLog.setImportType(importType);
if (organizations.size() < 1) {
dataImportLog.setImportResult(false);
dataImportLog.setErrorMsg(ErrorMessageCN.NoCompanyError);
......@@ -978,7 +985,8 @@ public class DataImportService extends BaseService {
tmsPeriod%100, period%100,
rlits.get(0).getSubjectName(), "");
dataImportLog.setRecordSize(rlits.size());
//添加导入类型
dataImportLog.setImportType(importType);
if(orgs.size()<1){
dataImportLog.setErrorMsg(ErrorMessageCN.NoCompanyError);
dataImportLog.setImportResult(false);
......@@ -1081,7 +1089,8 @@ public class DataImportService extends BaseService {
tmsPeriod%100, ats.get(0).getPeriod()%100,
ats.get(0).getSegment1Name(), "");
dataImportLog.setRecordSize(ats.size());
//添加导入类型
dataImportLog.setImportType(importType);
if(orgs.size()<1){
dataImportLog.setErrorMsg(ErrorMessageCN.NoCompanyError);
dataImportLog.setImportResult(false);
......@@ -1185,7 +1194,8 @@ public class DataImportService extends BaseService {
tmsPeriod%100, cprs.get(0).getPeriod()%100,
"", "");
dataImportLog.setRecordSize(cprs.size());
//添加导入类型
dataImportLog.setImportType(importType);
if(orgs.size()<1){
dataImportLog.setErrorMsg(ErrorMessageCN.NoCompanyError);
dataImportLog.setImportResult(false);
......@@ -1289,6 +1299,8 @@ public class DataImportService extends BaseService {
EnumImportType.CertifiedInvoicesList.getCode(), period/100,
tmsPeriod%100, period%100,
"", fileType);
//添加导入类型
dataImportLog.setImportType(importType);
if (organizations.size() < 1) {
dataImportLog.setImportResult(false);
dataImportLog.setErrorMsg(ErrorMessageCN.NoCompanyError);
......@@ -1453,7 +1465,8 @@ public class DataImportService extends BaseService {
tmsPeriod%100, irs.get(0).getPeriod()%100,
irs.get(0).getBillingBody(), "");
dataImportLog.setRecordSize(irs.size());
//添加导入类型
dataImportLog.setImportType(importType);
if(orgs.size()<1){
dataImportLog.setErrorMsg(ErrorMessageCN.NoCompanyError);
dataImportLog.setImportResult(false);
......
......@@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import pwc.taxtech.atms.constant.enums.RevenueConfEnum;
import pwc.taxtech.atms.dpo.OrgSelectDto;
import pwc.taxtech.atms.dto.ApiResultDto;
import pwc.taxtech.atms.dto.revenuconf.RevConfAddDto;
import pwc.taxtech.atms.dto.revenuconf.RevenueConfParam;
import pwc.taxtech.atms.dto.revenuconf.RevenueConfResult;
......@@ -71,14 +72,28 @@ public class RevenueConfService extends BaseService {
*
* @param addDto RevConfAddDto
*/
public void addConfig(RevConfAddDto addDto) {
public ApiResultDto addConfig(RevConfAddDto addDto) {
RevenueConfigExample revenueConfigExample = new RevenueConfigExample();
revenueConfigExample.createCriteria().andNameEqualTo(addDto.getName());
List<RevenueConfig> list = revenueConfigMapper.selectByExample(revenueConfigExample);
if (list.size() > 0) {
ApiResultDto apiResultDto = ApiResultDto.success();
apiResultDto.setMessage("DuplicateName");
return apiResultDto;
}
if (!CollectionUtils.isEmpty(addDto.getOrgList())) {
addDto.getOrgList().forEach(id -> {
addDto.setId(idService.nextId());
addDto.setOrgId(id);
revenueConfigMapper.insertSelective(parseEntity(addDto));
});
return ApiResultDto.success();
}
return ApiResultDto.fail();
}
/**
......
......@@ -64,7 +64,7 @@ public class BB extends FunctionBase implements FreeRefFunction {
if (bo.getPeriod().intValue() == 99) {
dataSource.clear();
BigDecimal returnEval = defaultBigDecimal;
if (formulaContext.getPeriod() <= 1) {
if (formulaContext.getPeriod() < 1) {
return defaultBigDecimal;
}
//如果是当年取到当期截至,往年取12期
......
......@@ -41,11 +41,19 @@
<property name="rootInterface" value="pwc.taxtech.atms.MyMapper"/>
</javaClientGenerator>
<table tableName="analysis_expected_tax_return" domainObjectName="AnalysisExpectedTaxReturn">
<table tableName="data_import_log" domainObjectName="DataImportLog">
<property name="useActualColumnNames" value="false"/>
<property name="ignoreQualifiersAtRuntime" value="true"/>
<columnOverride column="type" javaType="java.lang.Integer" jdbcType="TINYINT"/>
<columnOverride column="tms_period_month" javaType="java.lang.Integer" jdbcType="TINYINT"/>
<columnOverride column="period_month" javaType="java.lang.Integer" jdbcType="TINYINT"/>
</table>
<!--<table tableName="analysis_expected_tax_return" domainObjectName="AnalysisExpectedTaxReturn">-->
<!--<property name="useActualColumnNames" value="false"/>-->
<!--<property name="ignoreQualifiersAtRuntime" value="true"/>-->
<!--</table>-->
<!--<table tableName="cit_distribution" domainObjectName="CitDistribution">-->
<!--<property name="useActualColumnNames" value="false"/>-->
<!--<property name="ignoreQualifiersAtRuntime" value="true"/>-->
......@@ -62,13 +70,7 @@
<columnOverride column="num_of_branches" javaType="java.lang.Integer" jdbcType="TINYINT"/>
</table>
<table tableName="data_import_log" domainObjectName="DataImportLog">
<property name="useActualColumnNames" value="false"/>
<property name="ignoreQualifiersAtRuntime" value="true"/>
<columnOverride column="type" javaType="java.lang.Integer" jdbcType="TINYINT"/>
<columnOverride column="tms_period_month" javaType="java.lang.Integer" jdbcType="TINYINT"/>
<columnOverride column="period_month" javaType="java.lang.Integer" jdbcType="TINYINT"/>
</table>
<table tableName="organization_extra" domainObjectName="OrganizationExtra">
<property name="useActualColumnNames" value="false"/>
......
package pwc.taxtech.atms.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import pwc.taxtech.atms.MyMapper;
import pwc.taxtech.atms.entity.DataImportLog;
import pwc.taxtech.atms.entity.DataImportLogExample;
@Mapper
public interface DataImportLogMapper extends MyMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
long countByExample(DataImportLogExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int deleteByExample(DataImportLogExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int deleteByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int insert(DataImportLog record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int insertSelective(DataImportLog record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
List<DataImportLog> selectByExampleWithRowbounds(DataImportLogExample example, RowBounds rowBounds);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
List<DataImportLog> selectByExample(DataImportLogExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
DataImportLog selectByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int updateByExampleSelective(@Param("record") DataImportLog record, @Param("example") DataImportLogExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int updateByExample(@Param("record") DataImportLog record, @Param("example") DataImportLogExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(DataImportLog record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int updateByPrimaryKey(DataImportLog record);
int displayOld(@Param("type") Integer type);
package pwc.taxtech.atms.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import pwc.taxtech.atms.MyMapper;
import pwc.taxtech.atms.entity.DataImportLog;
import pwc.taxtech.atms.entity.DataImportLogExample;
@Mapper
public interface DataImportLogMapper extends MyMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
long countByExample(DataImportLogExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int deleteByExample(DataImportLogExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int deleteByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int insert(DataImportLog record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int insertSelective(DataImportLog record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
List<DataImportLog> selectByExampleWithRowbounds(DataImportLogExample example, RowBounds rowBounds);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
List<DataImportLog> selectByExample(DataImportLogExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
DataImportLog selectByPrimaryKey(Long id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int updateByExampleSelective(@Param("record") DataImportLog record, @Param("example") DataImportLogExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int updateByExample(@Param("record") DataImportLog record, @Param("example") DataImportLogExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(DataImportLog record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table data_import_log
*
* @mbg.generated
*/
int updateByPrimaryKey(DataImportLog record);
int displayOld(@Param("type") Integer type);
}
\ No newline at end of file
/* fallback */
@font-face {
font-family: 'Material Icons';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/materialicons/v47/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');
}
.material-icons {
font-family: 'Material Icons';
font-weight: normal;
font-style: normal;
font-size: 24px;
line-height: 1;
letter-spacing: normal;
text-transform: none;
display: inline-block;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-feature-settings: 'liga';
-webkit-font-smoothing: antialiased;
}
This diff is collapsed.
......@@ -6,8 +6,8 @@
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>didi2</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons">
<link rel="stylesheet" href="font_roboto.css">
<link rel="stylesheet" href="font_material.css">
</head>
<body>
<noscript>
......
......@@ -6,20 +6,15 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.*;
import org.springframework.stereotype.Controller;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import pwc.taxtech.atms.common.DDUserInfoRes;
import pwc.taxtech.atms.common.HttpUtil;
import pwc.taxtech.atms.dto.AtmsTokenDto;
import pwc.taxtech.atms.dto.LoginOutputDto;
import pwc.taxtech.atms.web.AtmsWebSettings;
import pwc.taxtech.atms.web.service.OrangeHeapService;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
......@@ -27,6 +22,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
@Controller
......@@ -56,6 +52,18 @@ public class IndexController {
@Autowired
private RestTemplate restTemplate;
@Autowired
private OrangeHeapService orangeHeapService;
/**
*
* @param atmsApiToken
* @param ltpaToken
* @param request
* @param response
* @return
* @throws IOException
* @throws ServletException
*/
@RequestMapping(value = {"/", "/index", "/index.html"}, method = RequestMethod.GET)
public String login(@CookieValue(value = "AtmsApiToken", required = false) String atmsApiToken,
@CookieValue(value = "LtpaToken", required = false) String ltpaToken,
......@@ -93,15 +101,24 @@ public class IndexController {
return "redirect:Account/LogOn";
}
/**
*
* @param jumpto
* @param code
* @param response
* @throws IOException
* @throws ServletException
*/
@RequestMapping(value = {"/sso/callback"})
public void ddSSOCallback(@RequestParam(value = "jumpto") String jumpto,
@RequestParam(value = "code") String code,
HttpServletResponse response) throws IOException, ServletException {
try{
@RequestParam(value = "code") String code,
HttpServletResponse response) throws IOException, ServletException {
try {
logger.info("jumpto=" + jumpto + "code=" + code);
String ticketStr = getTicket(code);
response.sendRedirect(jumpto+"?code="+code+"&ticketStr="+ticketStr);
}catch (Exception e){
logger.error("ddSSOCallback error",e);
response.sendRedirect(jumpto + "?code=" + code + "&ticketStr=" + ticketStr);
} catch (Exception e) {
logger.error("ddSSOCallback error", e);
}
}
......@@ -109,56 +126,97 @@ public class IndexController {
* 18/03/2019 20:46
* 跨站cookie的问题,所以做了一次跳转
* [code, ticketStr, request, response]
* @author Gary J Li
*
* @return
* @author Gary J Li
*/
@RequestMapping(value = {"/sso/accept"})
public String accept(@RequestParam(value = "code") String code,
@RequestParam(value = "ticketStr") String ticketStr,HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
@RequestParam(value = "ticketStr") String ticketStr, HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
StringBuffer url = request.getRequestURL();
String tempContextUrl = url.delete(url.length() - request.getRequestURI().length(), url.length()).append("/").toString();
try{
Cookie codeCookie = new Cookie("ddCode",URLEncoder.encode(code, "UTF-8"));
try {
Cookie codeCookie = new Cookie("ddCode", URLEncoder.encode(code, "UTF-8"));
codeCookie.setPath("/");
codeCookie.setMaxAge(18000);
Cookie ddTicket = new Cookie("ddTicket",URLEncoder.encode(ticketStr, "UTF-8"));
Cookie ddTicket = new Cookie("ddTicket", URLEncoder.encode(ticketStr, "UTF-8"));
ddTicket.setPath("/");
ddTicket.setMaxAge(18000);
response.addCookie(codeCookie);
response.addCookie(ddTicket);
}catch (Exception e){
logger.error("ddSSOCallback error",e);
} catch (Exception e) {
logger.error("ddSSOCallback error", e);
}
return "redirect:"+tempContextUrl;
return "redirect:" + tempContextUrl;
}
@RequestMapping(value = {"/admin", "/admin.html"}, method = RequestMethod.GET)
public String admin(@CookieValue(value = "AtmsApiToken", required = false) String atmsApiToken) {
if (StringUtils.hasText(atmsApiToken)) {
if (StringUtils.hasText( atmsApiToken)) {
return "admin";
}
return "redirect:Account/LogOn";
}
public String getTicket(String code) {
try{
try {
JSONObject object;
String ddResp = HttpUtil.post(getUserInfoUrl + "check_code", "code=" + code + "&app_key=" + appKey+ "&app_id=" + appId, "application/x-www-form-urlencoded", "UTF-8", 10000, 10000);
String url = getUserInfoUrl + "check_code";
String ddResp = HttpUtil.post(url, "code=" + code + "&app_key=" + appKey + "&app_id=" + appId, "application/x-www-form-urlencoded", "UTF-8", 10000, 10000);
object = JSONObject.parseObject(ddResp);
logger.info("get ddTicket by code , object=" + object);
Map<String, Object> res = object.getInnerMap();
int errno = (int) res.get("errno");
if (errno != 0) {
logger.warn(String.format("DD Ticket get Failed:[%s]", object.toJSONString()));
return null;
}else{
Map<String, String> data = (Map)res.get("data");
} else {
Map<String, String> data = (Map) res.get("data");
logger.info("check_code data=" + data);
return data.get("ticket");
}
}catch (Exception e){
logger.error(String.format("通过code:[%s]获取Ticket失败",code));
} catch (Exception e) {
logger.error(String.format("通过code:[%s]获取Ticket失败", code));
}
return null;
}
/**
* sam
* @param ticket
* @param request
* @param response
* @return
*/
@RequestMapping(value = {"/sso/getUser"}, method = RequestMethod.GET)
@ResponseBody
public String accept(@RequestParam(value = "ticket") String ticket, HttpServletRequest request,
HttpServletResponse response) {
DDUserInfoRes ddUserInfoRes = null;
try {
String responseDD = HttpUtil.post(getUserInfoUrl + "get_user_by_ticket", "ticket=" + ticket + "&app_id=" + appId, "application/x-www-form-urlencoded", "UTF-8", 10000, 10000);
logger.info(String.format("DD-get_user_by_ticket返回:[%s]", responseDD));
ddUserInfoRes = JSONObject.parseObject(responseDD, DDUserInfoRes.class);
} catch (Exception e) {
logger.info(String.format("调用DDSSO获取用户信息失败:[%s]", e.getMessage()), e);
}
return JSON.toJSONString(ddUserInfoRes);
}
@RequestMapping(value = {"/getCookie"}, method = RequestMethod.GET)
@ResponseBody
public String getCookie( HttpServletRequest request,
HttpServletResponse response) {
orangeHeapService.getDDTicketByCookie();
return null;
}
}
......@@ -2,6 +2,8 @@ package pwc.taxtech.atms.web.controller;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -12,6 +14,7 @@ import pwc.taxtech.atms.dto.ApiResultDto;
import pwc.taxtech.atms.web.service.OrangeHeapService;
import javax.annotation.Resource;
import java.util.Optional;
@RestController
@RequestMapping("/OrangeHeap")
......@@ -20,6 +23,7 @@ public class OrangeHeapController {
@Resource
private OrangeHeapService tableauService;
private static Logger logger = LoggerFactory.getLogger(OrangeHeapController.class);
//以上是示范代码
//TODO 加入其他图表
......@@ -33,12 +37,14 @@ public class OrangeHeapController {
@ResponseBody
@GetMapping("getTableauTaxCategoryUnreturnedTax")
public ApiResultDto getTableauTaxCategoryUnreturnedTax() {
logger.info("进入税种未返还税金分析=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
return ApiResultDto.success(tableauService.getTableauTaxCategoryUnreturnedTax().orElse(StringUtils.EMPTY));
}
@ResponseBody
@GetMapping("getTableauDistrictUnreturnedTax")
public ApiResultDto getTableauDistrictUnreturnedTax() {
logger.info("地区未返还税金分析=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
return ApiResultDto.success(tableauService.getTableauDistrictUnreturnedTax().orElse(StringUtils.EMPTY));
}
......
......@@ -34,10 +34,10 @@ public class OrangeHeapService {
private static Logger logger = LoggerFactory.getLogger(OrangeHeapService.class);
@Autowired
HttpServletRequest request;
private HttpServletRequest request;
@Autowired
HttpServletResponse response;
private HttpServletResponse response;
@Value("${get_user_info_url}")
private String getUserInfoUrl;
......@@ -53,10 +53,12 @@ public class OrangeHeapService {
CloseableHttpClient httpClient = null;
try {
String ticketUrl = String.format(systemConfig.getTableauGetTicket(), username);
logger.info("进去获取tableau的url"+ticketUrl);
httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(ticketUrl);
HttpResponse httpResponse = httpClient.execute(httpPost);
String response = IOUtils.toString(httpResponse.getEntity().getContent(), "UTF-8");
logger.info("获取tableau的结果"+response);
return StringUtils.equals(response, "-1") ? Optional.empty() : Optional.of(response);
} catch (Exception e) {
logger.error("getTicket error.", e);
......@@ -156,7 +158,7 @@ public class OrangeHeapService {
return optional.map(s -> String.format(systemConfig.getTableauOtherTaxAnalysis(), getTicket(s).orElse(StringUtils.EMPTY)));
}
//sso通过cookie获取登录的DD用户
public String getDDUserName() {
logger.info("进入 获取DD user的方法~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
String ticket = getDDTicketByCookie();
......@@ -166,16 +168,18 @@ public class OrangeHeapService {
//通過cookie 取出ddTicket
public String getDDTicketByCookie() {
logger.info("进去获取cookie方法");
Map<String,Cookie> cookieMap = ReadCookieMap();
//TODO 修改token的名字到配置文件,判断ddTicket是否过期
if(cookieMap.containsKey("ddTicket")){
logger.info("ddTicket=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"+Optional.ofNullable(cookieMap.get("ddTicket")).map(s->s.getValue()).orElse(""));
return Optional.ofNullable(cookieMap.get("ddTicket")).map(s->s.getValue()).orElse("");
}else{
logger.info("code=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"+Optional.ofNullable(cookieMap.get("code")).map(z->z.getValue()).orElse(""));
return getDDTicket(Optional.ofNullable(cookieMap.get("code")).map(z->z.getValue()).orElse(""));
}
}
}
private String findUsernameByDDTicket(String ticket) {
Assert.hasText(ticket, "empty ticket");
......
......@@ -1821,6 +1821,7 @@
"CoverImportBalanceSheet": "Overwrite import BS",
"AddImportBalanceSheet": "Expand import BS",
"TMSPeriod": "TMS Period",
"ImportType": "Import Type",
"cashFlow": "Cash Flow",
"CashFlowDDTitle": "Cash Flow",
"invoiceData": "Invoice Data",
......@@ -1984,5 +1985,8 @@
"FileExportSuccess": "File Export Success",
"FileExportFailed": "File Export Failed",
"InputAllMandatoryInfo": "Please Input All The Mandatory Information",
"NameShouldUniqueWarn": "Name Should Be Unique",
"~MustBeEndOneApp": "I Must be the End One, please!"
}
\ No newline at end of file
......@@ -2076,8 +2076,7 @@
"CoverImportBalanceSheet": "覆盖导入资产负债表",
"AddImportBalanceSheet": "追加导入资产负债表",
"TMSPeriod": "税务系统期间",
"ImportType":"导入方式",
"invoiceData": "发票资料",
"InvoiceDataTitle": "发票资料",
"IDTotalAmount": "合计",
......@@ -2295,5 +2294,10 @@
"manyExport":"批量导出",
"saveAndRefresh" : "保存并刷新",
"uploadProfileTable": "上传利润表",
"InputAllMandatoryInfo": "请输入所有必填信息",
"NameShouldUniqueWarn": "收入类型名称应当唯一",
"~MustBeEndOneApp": "我必须是最后一个!"
}
\ No newline at end of file
......@@ -28,9 +28,9 @@ controller('addExistDimensionModalController', ['$scope', '$log', '$translate',
$scope.$watch('operateType', function (newValue, oldValue) {
if (newValue) {
if (newValue == constant.Operation.Add) {
if (newValue === constant.Operation.Add) {
showModal();
} else if (newValue == constant.Operation.Edit) {
} else if (newValue === constant.Operation.Edit) {
}
}
......
......@@ -846,7 +846,7 @@
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
width: '5%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
......@@ -861,8 +861,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -854,12 +854,12 @@
}, {
dataField: "periodYear",
allowHeaderFiltering: false,
width: '7%',
width: '5%',
caption: $translate.instant('YearPeriod')
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '8%',
width: '5%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
......@@ -874,8 +874,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -823,7 +823,7 @@
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
width: '5%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
......@@ -838,8 +838,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -263,7 +263,7 @@
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
width: '5%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
......@@ -278,8 +278,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -259,8 +259,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '20%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -252,8 +252,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '20%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -251,8 +251,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '20%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -267,8 +267,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '20%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -260,8 +260,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '20%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -285,8 +285,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '20%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -262,8 +262,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '20%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -288,7 +288,7 @@
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
width: '5%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
......@@ -303,8 +303,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -274,7 +274,7 @@
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
width: '5%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
......@@ -289,8 +289,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -272,7 +272,7 @@
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
width: '5%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
......@@ -287,8 +287,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -274,7 +274,7 @@
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
width: '5%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
......@@ -289,8 +289,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -302,7 +302,7 @@
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
width: '5%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
......@@ -317,8 +317,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -839,7 +839,7 @@
}, {
dataField: "periodMonth",
allowHeaderFiltering: false,
width: '10%',
width: '5%',
caption: $translate.instant('TMSPeriod')
}, {
dataField: "periodMonth",
......@@ -854,8 +854,23 @@
}, {
dataField: "errorMsg",
allowHeaderFiltering: false,
width: '15%',
width: '10%',
caption: $translate.instant('Status')
}, {
dataField: "importType",
allowHeaderFiltering: false,
width: '10%',
caption: $translate.instant('ImportType'),
calculateDisplayValue: function (data) {
var importType1 = _.find(constant.importTypeList, function (item) {
return item.value == data.importType;
});
if (importType1) {
return importType1.name;
} else {
return '未知';
}
}
}
],
onContentReady: function (e) {
......
......@@ -45,6 +45,12 @@ constant.priority = {
high: 3
}
constant.importTypeList = [
{value:0,name:"默认导入"},
{value:1,name:"覆盖导入"},
{value:2,name:"追加导入"}
]
constant.customer = {
codeMaxLength: 50,
nameMaxLength: 100,
......
/* fallback */
@font-face {
font-family: 'Material Icons';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/materialicons/v47/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');
}
.material-icons {
font-family: 'Material Icons';
font-weight: normal;
font-style: normal;
font-size: 24px;
line-height: 1;
letter-spacing: normal;
text-transform: none;
display: inline-block;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-feature-settings: 'liga';
-webkit-font-smoothing: antialiased;
}
This diff is collapsed.
......@@ -6,23 +6,6 @@
<meta name=viewport content="width=device-width,initial-scale=1">
<link rel=icon href=favicon.ico>
<title>didi2</title>
<link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
<link rel=stylesheet href="https://fonts.googleapis.com/css?family=Material+Icons">
<link href=js/about.17654e8a.js rel=prefetch>
<link href=css/app.cf16809e.css rel=preload as=style>
<link href=css/chunk-vendors.2f35f377.css rel=preload as=style>
<link href=js/app.c8b0fed0.js rel=preload as=script>
<link href=js/chunk-vendors.39b13767.js rel=preload as=script>
<link href=css/chunk-vendors.2f35f377.css rel=stylesheet>
<link href=css/app.cf16809e.css rel=stylesheet>
</head>
<body>
<noscript>
<strong>We're sorry but didi2 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<script src=js/chunk-vendors.39b13767.js></script>
<script src=js/app.c8b0fed0.js></script>
<script>
//获取地址栏参数,name:参数名称
var z =function getUrlParms(name){
......@@ -32,8 +15,10 @@
return unescape(r[2]);
return null;
}
var code = z("code");
var ticket=z("ticketStr");
var ddTicket = z("ticketStr");
//設置cookie
var sc= function setCookie(name,value) {
var Days = 30;
var exp = new Date();
......@@ -41,20 +26,54 @@
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
sc("ddCode",code);
sc("ddTicket",ticket );
var gc= function getCookie(name)
{
sc("ddTicket",ddTicket);
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
var ReUrl="https://me.xiaojukeji.com/project/stargate-auth/html/login.html?redirect_uri=http%3A%2F%2Fmis.diditaxi.com.cn%2Fauth%3Fapp_id%3D2500%26version%3D1.0%26jumpto%3Dhttp://dts-test.erp.didichuxing.com/orangeweb/index.html%26callback_index%3D0"
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
if(ddTicket==undefined || ddTicket=="" || ddTicket == null){
document.location=ReUrl;
}
else {
//创建核心对象
xmlhttp = null;
if (window.XMLHttpRequest) {// code for Firefox, Opera, IE7, etc.
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//编写回调函数
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
//
}
}
//這個 url 測試的
var getUserUrl="http://dts-test.erp.didichuxing.com/H5/sso/getUser?ticket=";
//open设置请求方式和请求路径
xmlhttp.open("get", getUserUrl+ddTicket);
//send 发送
xmlhttp.send();
}
}
</script>
<link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
<link rel=stylesheet href="https://fonts.googleapis.com/css?family=Material+Icons">
<link href=js/about.17654e8a.js rel=prefetch>
<link href=css/app.cf16809e.css rel=preload as=style>
<link href=css/chunk-vendors.2f35f377.css rel=preload as=style>
<link href=js/app.c8b0fed0.js rel=preload as=script>
<link href=js/chunk-vendors.39b13767.js rel=preload as=script>
<link href=css/chunk-vendors.2f35f377.css rel=stylesheet>
<link href=css/app.cf16809e.css rel=stylesheet>
</head>
<body>
<noscript>
<strong>We're sorry but didi2 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<script src=js/chunk-vendors.39b13767.js></script>
<script src=js/app.c8b0fed0.js></script>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment