Commit 645167ca authored by kevin's avatar kevin

Merge branch 'dev_mysql' of http://code.tech.tax.asia.pwcinternal.com/root/atms into dev_mysql

parents 7d051625 98867356
......@@ -16,9 +16,9 @@
<dependencies>
<!-- https://mvnrepository.com/artifact/com.oracle/ojdbc6 -->
<!--<dependency>-->
<!--<groupId>com.oracle</groupId>-->
<!--<artifactId>ojdbc</artifactId>-->
<!--<version>0.0.1</version>-->
<!--<groupId>com.oracle</groupId>-->
<!--<artifactId>ojdbc</artifactId>-->
<!--<version>0.0.1</version>-->
<!--</dependency>-->
<!--<dependency>
<groupId>com.oracle</groupId>
......@@ -74,17 +74,18 @@
<version>4.2.3.RELEASE</version>
</dependency>
<!--去除swagger-->
<!-- <dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>-->
<!-- <dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
......@@ -442,7 +443,7 @@
<profiles>
<profile>
<id>dev</id>
<activation>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
......@@ -454,8 +455,8 @@
<env>dev</env>
</properties>
</profile>
<profile>
<id>staging</id>
<build>
......@@ -522,13 +523,13 @@
<targetPath>${basedir}/target/classes/userTemplate</targetPath>
</resource>
<resource>
<directory>src/main/resources/vat_excel_template</directory>
<includes>
<include>**/*.xls</include>
<include>**/*.xlsx</include>
</includes>
<targetPath>${basedir}/target/classes/vat_excel_template</targetPath>
</resource>
<directory>src/main/resources/vat_excel_template</directory>
<includes>
<include>**/*.xls</include>
<include>**/*.xlsx</include>
</includes>
<targetPath>${basedir}/target/classes/vat_excel_template</targetPath>
</resource>
<resource>
<directory>src/main/resources/cit_excel_template</directory>
<includes>
......@@ -553,6 +554,14 @@
</includes>
<targetPath>${basedir}/target/classes/user_excel_template</targetPath>
</resource>
<resource>
<directory>src/main/resources/analysis_excel_init</directory>
<includes>
<include>**/*.xls</include>
<include>**/*.xlsx</include>
</includes>
<targetPath>${basedir}/target/classes/analysis_excel_init</targetPath>
</resource>
</resources>
<plugins>
<plugin>
......
package pwc.taxtech.atms.controller;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import pwc.taxtech.atms.constant.enums.EnumImportType;
import pwc.taxtech.atms.dto.ApiResultDto;
import pwc.taxtech.atms.dto.input.CamelPagingResultDto;
import pwc.taxtech.atms.dto.revenuconf.RevConfAddDto;
......@@ -11,6 +13,9 @@ import pwc.taxtech.atms.service.impl.RevenueConfService;
import pwc.taxtech.atms.vat.entity.RevenueConfig;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
@RestController
......@@ -46,9 +51,33 @@ public class RevenueConfController extends BaseController {
revenueConfService.delConfig(idList);
return ApiResultDto.success();
}
@PostMapping("upload")
public ApiResultDto upload(@RequestParam MultipartFile file, @RequestParam Integer type) throws Exception {
List<String> unSuccessList = revenueConfService.upload(file, type);
return ApiResultDto.success(unSuccessList);
}
@GetMapping("export")
public void export(HttpServletResponse response) throws Exception {
OutputStream ouputStream = null;
try {
InputStream inputStream = this.getClass().getResourceAsStream("/document/DataImport/" + EnumImportType.RevenueConfig.name() + ".xlsx");
Workbook tWorkbook = revenueConfService.export(inputStream);
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName=" + EnumImportType.RevenueConfig.name() + ".xlsx");
ouputStream = response.getOutputStream();
tWorkbook.write(ouputStream);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (ouputStream != null) {
ouputStream.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
......@@ -141,6 +141,9 @@ public class CitDataPreviewServiceImpl extends BaseService {
public int exportJournalMergeData2(CitJournalAdjustDto citJournalAdjustDto, HttpServletResponse response){
CitJournalEntryAdjust citJournalEntryAdjust = beanUtil.copyProperties(citJournalAdjustDto, new CitJournalEntryAdjust());
List<String> orgList = getOrgList(citJournalAdjustDto.getProjectId());
if(citJournalEntryAdjust.getPeriodEnd()!=null && citJournalEntryAdjust.getPeriodEnd()%100 ==12){
citJournalEntryAdjust.setPeriodEnd(citJournalEntryAdjust.getPeriodEnd()/100*100+13);
}
List<CitJournalEntryAdjust> journalMerges = citJournalMapper.getJournalMergeByOrgList(citJournalEntryAdjust,orgList);
if(journalMerges.size()==0){
return 0;
......
......@@ -455,7 +455,8 @@ public class CitImportExcelServiceImpl extends BaseService {
citDataImportLogList.add(citDataImportLogError);
continue;
}
trialBalance.setAccountCode(cellValue.toString().replace(".0",""));
// trialBalance.setAccountCode(cellValue.toString().replace(".0",""));
trialBalance.setAccountCode(new BigDecimal(cellValue.toString()).toPlainString());
trialBalance.setSegment4(CitCommonUtil.getValue(rowData.getCell(8)).toString());
trialBalance.setSegment5(CitCommonUtil.getValue(rowData.getCell(9)).toString());
trialBalance.setSegment6(CitCommonUtil.getValue(rowData.getCell(10)).toString());
......@@ -509,7 +510,10 @@ public class CitImportExcelServiceImpl extends BaseService {
citTrialBalanceMapper.deleteByExample(citTrialBalanceExample);
updateImportLog(EnumCitImportType.TrialBalance.getCode());
}
int insertBatchNum = citTrialBalanceMapper.insertBatch(trialBalanceList);
int insertBatchNum = 0;
if(trialBalanceList != null && trialBalanceList.size()>0){
insertBatchNum = citTrialBalanceMapper.insertBatch(trialBalanceList);
}
//循环遍历成功导入的数据,组装日志记录实体并放入集合
for (Map.Entry<String, Integer> entry : companySuccessMap.entrySet()) {
......@@ -539,7 +543,8 @@ public class CitImportExcelServiceImpl extends BaseService {
citDataImportLogList.add(citDataImportLogError);
}
for (Map.Entry<String, Integer> entry : noProjectMap.entrySet()) {
CitDataImportLog citDataImportLogError = generalCitDataImportLog(entry.getKey(), "", "",
String[] split = entry.getKey().split(",");
CitDataImportLog citDataImportLogError = generalCitDataImportLog(split[0], split[1], split[2],
EnumCitImportType.TrialBalance.getCode(), period,
"", "试算平衡表", false);
citDataImportLogError.setRecordSize(entry.getValue());
......@@ -645,7 +650,6 @@ public class CitImportExcelServiceImpl extends BaseService {
msg = "覆盖导入成功";
CitDraftAccountMappingExample example = new CitDraftAccountMappingExample();
CitDraftAccountMappingExample.Criteria criteria = example.createCriteria();
criteria.andCreatedByEqualTo(currentUserName);
criteria.andPeriodEqualTo(period);
citDAMappingMapper.deleteByExample(example);
updateImportLog(EnumCitImportType.DraftAccountMapping.getCode());
......@@ -1532,11 +1536,12 @@ public class CitImportExcelServiceImpl extends BaseService {
BigDecimal lastYearBegBla = new BigDecimal(0);
CitTrialBalanceExample citTrialBalanceExample = new CitTrialBalanceExample();
CitTrialBalanceExample.Criteria criteria = citTrialBalanceExample.createCriteria();
criteria.andOrganizationIdEqualTo(project.getOrganizationId());
criteria.andAccountCodeEqualTo(citJournal.getSubjectCode());
criteria.andPeriodEqualTo(project.getYear()-1);
List<CitTrialBalance> trialBalances = citTrialBalanceMapper.selectByExample(citTrialBalanceExample);
if(trialBalances != null && trialBalances.size() > 0){
lastYearBegBla = trialBalances.get(0).getBeginningBalance();
lastYearBegBla = lastYearBegBla.add(trialBalances.get(0).getBeginningBalance());
}
trialBalance.setBeginningBalance(lastYearBegBla);
......
......@@ -177,23 +177,32 @@ public class ProjectServiceImpl {
try {
project.setId(UUID.randomUUID().toString());
OrganizationServiceTemplateGroupExample example = new OrganizationServiceTemplateGroupExample();
example.createCriteria().andOrganizationIdEqualTo(projectDto.getOrganizationId());
organizationServiceTemplateGroupMapper.selectByExample(example).forEach(ostg -> {
ProjectServiceType pst = new ProjectServiceType();
pst.setId(UUID.randomUUID().toString());
pst.setProjectId(project.getId());
pst.setServiceTypeId(ostg.getServiceTypeId());
pst.setTemplateGroupId(ostg.getTemplateGroupId());
projectServiceTypeMapper.insert(pst);
project.setUpdateTime(new Date());
int row = projectMapper.insertOnWhere(project);
if(row<=0){
ProjectExample projectExample = new ProjectExample();
projectExample.createCriteria().andIsActiveEqualTo(true).andOrganizationIdEqualTo(project.getOrganizationId()).andYearEqualTo(project.getYear());
List<Project> dataList = projectMapper.selectByExample(projectExample);
project = dataList.get(0);
}else{
final Project project1 = project;
OrganizationServiceTemplateGroupExample example = new OrganizationServiceTemplateGroupExample();
example.createCriteria().andOrganizationIdEqualTo(projectDto.getOrganizationId());
organizationServiceTemplateGroupMapper.selectByExample(example).forEach(ostg -> {
ProjectServiceType pst = new ProjectServiceType();
pst.setId(UUID.randomUUID().toString());
pst.setProjectId(project1.getId());
pst.setServiceTypeId(ostg.getServiceTypeId());
pst.setTemplateGroupId(ostg.getTemplateGroupId());
projectServiceTypeMapper.insert(pst);
// operationLogService.addDataAddLog(pst, OperationModule.ProjectServiceType, userName,//TODO add peration log
// Message.Project.AddProjectServiceType, pst.getId(), projectDto.getName(), LOG_TYPE);
});
});
}
project.setUpdateTime(new Date());
projectMapper.insert(project);
// operationLogService.addDataAddLog(project, OperationModule.Project, userName, Message.Project.AddProject,
// project.getId(), projectDto.getName(), LOG_TYPE);
......
......@@ -9,6 +9,7 @@ import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import pwc.taxtech.atms.common.CommonUtils;
......@@ -19,6 +20,7 @@ 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;
import pwc.taxtech.atms.exception.Exceptions;
import pwc.taxtech.atms.vat.dao.RevenueConfigMapper;
import pwc.taxtech.atms.vat.entity.RevenueConfig;
import pwc.taxtech.atms.vat.entity.RevenueConfigExample;
......@@ -26,10 +28,7 @@ import pwc.taxtech.atms.vat.entity.RevenueConfigExample;
import javax.annotation.Resource;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.*;
import java.util.stream.Collectors;
@Service
......@@ -185,8 +184,12 @@ public class RevenueConfService extends BaseService {
revenueConfig.setTbSegment6("");
}
String taxRat = POIUtil.getCellFormulaString(row.getCell(RevenueConfEnum.EXECLColumn.Column_7.getIndex()));
// taxRat = taxRat.replaceAll("%","");
revenueConfig.setTaxRate(new BigDecimal(taxRat));
if(taxRat.indexOf("%")>0){
taxRat = taxRat.replaceAll("%","");
revenueConfig.setTaxRate(new BigDecimal(taxRat).divide(new BigDecimal(100)));
}else{
revenueConfig.setTaxRate(new BigDecimal(taxRat));
}
revenueConfig.setTaxBase(RevenueConfEnum.TaxBase.REVERSAL_MAPPING.get(POIUtil.getCellFormulaString(row.getCell(RevenueConfEnum.EXECLColumn.Column_8.getIndex()))));
if(revenueConfig.getTaxBase().intValue() == 4){
revenueConfig.setBaseDrCode(POIUtil.getCellFormulaString(row.getCell(RevenueConfEnum.EXECLColumn.Column_9.getIndex())));
......@@ -266,4 +269,55 @@ public class RevenueConfService extends BaseService {
}
return msg;
}
public Workbook export(InputStream is){
Workbook tWorkbook = new XSSFWorkbook();
try {
tWorkbook = WorkbookFactory.create(is);
Sheet sheet = tWorkbook.getSheetAt(0);
Row sourceRow = sheet.getRow(1);
//查询公司map
List<OrgSelectDto> orgDtoList = organizationService.getMyOrgList();
Map<String, String> orgMap = orgDtoList.stream().collect(Collectors.toMap(OrgSelectDto::getId, OrgSelectDto::getName, (value1, value2) -> {
return value2;
}));
if(CollectionUtils.isNotEmpty(orgDtoList)){
RevenueConfigExample example = new RevenueConfigExample();
example.createCriteria().andOrgIdIn(orgDtoList.stream().map(OrgSelectDto::getId).collect(Collectors.toList()));
example.setOrderByClause("org_id");
List<RevenueConfig> dataList = revenueConfigMapper.selectByExample(example);
if(CollectionUtils.isNotEmpty(dataList)){
for(int i = dataList.size()-1;i>=0;i--){
RevenueConfig revenueConfig = dataList.get(i);
Row row = POIUtil.createAndCloneRow(tWorkbook, sheet, 1, sourceRow);
row.getCell(RevenueConfEnum.EXECLColumn.Column_1.getIndex()).setCellValue(revenueConfig.getName());
row.getCell(RevenueConfEnum.EXECLColumn.Column_2.getIndex()).setCellValue(orgMap.get(revenueConfig.getOrgId()));
row.getCell(RevenueConfEnum.EXECLColumn.Column_3.getIndex()).setCellValue(RevenueConfEnum.AccountType.MAPPING.get(revenueConfig.getAccountType()));
row.getCell(RevenueConfEnum.EXECLColumn.Column_4.getIndex()).setCellValue(revenueConfig.getTbSegment3());
row.getCell(RevenueConfEnum.EXECLColumn.Column_5.getIndex()).setCellValue(revenueConfig.getTbSegment5());
row.getCell(RevenueConfEnum.EXECLColumn.Column_6.getIndex()).setCellValue(revenueConfig.getTbSegment6());
row.getCell(RevenueConfEnum.EXECLColumn.Column_7.getIndex()).setCellValue(revenueConfig.getTaxRate().doubleValue());
row.getCell(RevenueConfEnum.EXECLColumn.Column_8.getIndex()).setCellValue(RevenueConfEnum.TaxBase.MAPPING.get(revenueConfig.getTaxBase()));
if(revenueConfig.getTaxBase().intValue() == 4){
row.getCell(RevenueConfEnum.EXECLColumn.Column_9.getIndex()).setCellValue(revenueConfig.getBaseDrCode());
}else if(revenueConfig.getTaxBase().intValue() == 5){
row.getCell(RevenueConfEnum.EXECLColumn.Column_9.getIndex()).setCellValue(revenueConfig.getBaseCrCode());
}else{
row.getCell(RevenueConfEnum.EXECLColumn.Column_9.getIndex()).setCellValue("");
}
row.getCell(RevenueConfEnum.EXECLColumn.Column_10.getIndex()).setCellValue(RevenueConfEnum.RevenueType.MAPPING.get(revenueConfig.getRevenueType()));
row.getCell(RevenueConfEnum.EXECLColumn.Column_11.getIndex()).setCellValue(RevenueConfEnum.TaxType.MAPPING.get(revenueConfig.getTaxType()));
row.getCell(RevenueConfEnum.EXECLColumn.Column_12.getIndex()).setCellValue(RevenueConfEnum.Status.MAPPING.get(revenueConfig.getStatus()));
row.getCell(RevenueConfEnum.EXECLColumn.Column_13.getIndex()).setCellValue(revenueConfig.getStartDate());
row.getCell(RevenueConfEnum.EXECLColumn.Column_14.getIndex()).setCellValue(revenueConfig.getEndDate());
}
}
}
sheet.removeRow(sourceRow);
return tWorkbook;
} catch (Exception e) {
logger.error("export error.", e);
throw Exceptions.SERVER_ERROR_EXCEPTION;
}
}
}
......@@ -1649,7 +1649,6 @@ public class ReportServiceImpl extends BaseService {
}
}
});
modifiedReportCellList = null;
dataDto.setCellData(cellDataDtoList);
//将cellData复制给静态变量
resultDto.setData(dataDto);
......@@ -1658,7 +1657,6 @@ public class ReportServiceImpl extends BaseService {
logger.error(ex.getMessage(), ex);
resultDto.setResult(false);
}
System.gc();
return resultDto;
}
......
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.annotations.Select;
......@@ -251,4 +250,6 @@ public interface ProjectMapper extends MyMapper {
List<ProjectAnaylsisDto> getTemlateWithServiceType2(@Param("orgId")String orgId, @Param("year") Integer year, @Param("month") Integer month,@Param("code")String code);
List<Project> queryChildOrgAndProjectByOrgId(@Param("year")Integer year ,@Param("orgId")String orgId);
int insertOnWhere(Project record);
}
\ No newline at end of file
......@@ -418,7 +418,7 @@
attribute16,
created_by, created_date, late_updated_by,
late_updated_date, create_time, update_time,is_select
from cit_journal_entry_adjust where period like CONCAT('%' ,#{record.period},'%')
from cit_journal_entry_adjust where period = #{record.period}
<if test="orgList != null and orgList.size > 0">
AND organization_id in
<foreach item="item" index="index" collection="orgList" open="(" separator="," close=")">
......
......@@ -46,7 +46,34 @@
and o.parent_id = #{orgId,jdbcType=VARCHAR}
</select>
<insert id="insertOnWhere" parameterType="pwc.taxtech.atms.entity.Project">
insert into project (id, code, name,
year, client_code, is_active,
create_time, update_time, region_id,
industry_id, rule_type, organization_id,
db_name, enterprise_account_set_id, start_period,
end_period)
select #{id,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
#{year,jdbcType=INTEGER}, #{clientCode,jdbcType=VARCHAR}, #{isActive,jdbcType=BIT},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{regionId,jdbcType=VARCHAR},
#{industryId,jdbcType=VARCHAR}, #{ruleType,jdbcType=INTEGER}, #{organizationId,jdbcType=VARCHAR},
#{dbName,jdbcType=VARCHAR}, #{enterpriseAccountSetId,jdbcType=VARCHAR}, #{startPeriod,jdbcType=INTEGER},
#{endPeriod,jdbcType=INTEGER}
FROM dual
where not exists(
select
*
from
project
where
organization_id = #{organizationId,jdbcType=VARCHAR}
and
year = #{year,jdbcType=INTEGER}
and
is_active = 1
)
</insert>
......
......@@ -209,6 +209,12 @@
</foreach>
AND ct.period = #{period,jdbcType=INTEGER}
AND ct.project_id = #{projectId,jdbcType=VARCHAR}
and config.report_template_id IN
<foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
#{item}
</foreach>
AND config.period = #{period,jdbcType=INTEGER}
AND config.project_id = #{projectId,jdbcType=VARCHAR}
</select>
<select id="getConfigWithReportTemplateId" resultType="pwc.taxtech.atms.vat.entity.PeriodCellTemplateConfig">
......
......@@ -4,6 +4,59 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script>
//获取地址栏参数,name:参数名称
window.str="";
var z =function getUrlParms(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)
return unescape(r[2]);
return null;
}
var ddTicket = z("ticketStr");
//設置cookie
var sc= function setCookie(name,value) {
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString()+";path=./";
}
sc("ddTicket",ddTicket);
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(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/sso/getUser?ticket=";
//open设置请求方式和请求路径
xmlhttp.open("get", getUserUrl+ddTicket);
//send 发送
xmlhttp.send();
}*/
</script>
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>didi2</title>
<link rel="stylesheet" href="font_roboto.css">
......
......@@ -12,6 +12,7 @@ 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.ApiResultDto;
import pwc.taxtech.atms.dto.AtmsTokenDto;
import pwc.taxtech.atms.web.AtmsWebSettings;
import pwc.taxtech.atms.web.service.OrangeHeapService;
......@@ -196,7 +197,7 @@ public class IndexController {
*/
@RequestMapping(value = {"/sso/getUser"}, method = RequestMethod.GET)
@ResponseBody
public String accept(@RequestParam(value = "ticket") String ticket, HttpServletRequest request,
public ApiResultDto accept(@RequestParam(value = "ticket") String ticket, HttpServletRequest request,
HttpServletResponse response) {
DDUserInfoRes ddUserInfoRes = null;
try {
......@@ -207,7 +208,7 @@ public class IndexController {
} catch (Exception e) {
logger.info(String.format("调用DDSSO获取用户信息失败:[%s]", e.getMessage()), e);
}
return JSON.toJSONString(ddUserInfoRes);
return ApiResultDto.success(ddUserInfoRes);
}
......
......@@ -22,33 +22,15 @@
<!--{{'ImportTime' | translate}}<span class="numAmount">{{importDate| date:'yyyy-MM-dd hh:mm:ss'}}</span>-->
<!--</div>-->
<div id="filterCriteriaDiv" style="max-width:98%;margin-bottom:2px;" ng-show="criteriaList.length>0">
<span class="text-bold margin-left20" translate="FilterCriteriaTags"></span>:
<span class="tag label label-default" ng-repeat="criteria in criteriaListFirstRow">
<span title="{{criteria.fullName}}">
{{criteria.name}}
</span>
<a><i class="remove glyphicon glyphicon-remove-sign glyphicon-white" ng-click="doDataFilter(criteria.propertyName)"></i></a>
</span>
<span ng-if="criteriaList.length>6"><br /></span>
<span ng-if="criteriaList.length>6" style="margin-left: 81px; margin-top: 19px; display: inline-block;"></span>
<span ng-if="criteriaList.length>6" class="tag label label-default" ng-repeat="criteria in criteriaListSecondRow">
<span title="{{criteria.fullName}}">
{{criteria.name}}
</span>
<a><i class="remove glyphicon glyphicon-remove-sign glyphicon-white" ng-click="doDataFilter(criteria.propertyName)"></i></a>
</span>
</div>
<div id="mainAreaDiv" class="main-area" style="padding-top: 10px">
<div class="inputInvoiceGrid" ui-grid="gridOptions">
<div class="watermark" ng-show="!gridOptions.data.length"><span translate="NoDataAvailable"></span></div>
<div id="tab_total">
<div class="dt-init-wrapper">
<div id="extractFinancialGridContainer" dx-data-grid="gridOptions">
</div>
<div class="page-footer">
<ack-pagination page-options="pagingOptions"
refresh-table="refreshGrid()"></ack-pagination>
</div>
</div>
</div>
<div class="page-footer">
<ack-pagination page-options="pagingOptions"
refresh-table="refreshGrid()"></ack-pagination>
</div>
</div>
@import "~/app-resources/less/theme.less";
.cit-preview-journal-merge {
background-color: white;
height: 100%;
/*background-color: @color-white;*/
padding-left: 20px;
/*min-height: 800px;*/
height: 96%;
.row {
margin-left: 0px;
margin-bottom:10px;
.dropdown-common() {
display: inline-block;
&>span {
float: right;
margin-right: 15px;
cursor: pointer;
.select-button {
background-color: #F5F5F5;
padding: 6px 0;
width: 100px;
}
}
.nav-wrapper {
padding-bottom: 10px;
border-bottom: 1px solid #DBD8D3;
.nav-header {
height: 54px;
line-height: 54px;
font-family: "Microsoft YaHei Bold", "Microsoft YaHei Regular", "Microsoft YaHei";
font-weight: 700;
font-style: normal;
font-size: 15px;
color: #333;
.caret {
margin-top: 8px;
}
.nav-tab {
/*display: inline-block;*/
.dropdown-menu {
min-width: 100px;
span {
display: inline-block;
height: 34px;
width: 80px;
li {
text-align: center;
line-height: 34px;
padding: 0 10px;
background-color: #B90808;
color: #FFF;
min-height: 0px;
height: 30px;
line-height: 30px;
color: #000;
font-weight: normal;
&:hover {
background-color: #F91000;
color: #FFF;
}
}
}
}
#tab_total {
display: block;
height: calc(~'100% - 80px');
position: relative;
.import-wrapper {
span {
margin-left: 10px;
color: #333;
font-family: "Microsoft YaHei";
font-weight: 400;
font-style: normal;
font-size: 14px;
cursor: pointer;
font-weight: bold;
}
.active {
background-color: #F91000;
.checkbox-custom {
float: left;
position: relative;
margin-right : 10px;
margin-top: 0;
display: inline-block;
}
}
}
.numAmount {
padding: 0 3px;
height: 21px;
margin-left: 5px;
/* font-family: 'Arial'; */
font-weight: 600;
border-radius: 2px;
font-style: normal;
outline: none;
border: none;
min-width: 20px;
background-color: #DDDDDD;
color: #AA0000;
}
.top-area-wrapper {
height: 60px;
width: 98%;
margin: 0 20px;
.divider{
height: 1px;
margin: 9px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.filter-button {
width: 30px;
margin-top: 16px;
}
.checkbox-custom input[type="checkbox"] {
cursor: pointer;
z-index: 2;
margin: -6px 0 0 0;
top: 50%;
left: 3px;
}
.operation-wrapper {
margin: 15px 25px 10px 10px;
.checkbox-custom label:before {
content: '';
position: absolute;
top: 50%;
left: 0;
margin-top: -9px;
width: 19px;
height: 18px;
display: inline-block;
border-radius: 2px;
border: 1px solid #bbb;
background: #fff;
}
span {
.checkbox-custom input[type="checkbox"]:checked +label:after {
position: absolute;
display: inline-block;
font-family: 'Glyphicons Halflings';
content: "\e013";
top: 42%;
left: 3px;
margin-top: -5px;
font-size: 11px;
line-height: 1;
width: 16px;
height: 16px;
color: #333;
}
.checkbox-custom label {
cursor: pointer;
line-height: 1.2;
font-weight: normal;
margin-bottom: 0;
text-align: left;
}
}
}
.filter-popup-wrapper {
display: none;
}
.period-picker {
width: 110px;
border: 1px solid #c7c5c0;
display: inline-block;
line-height: 20px;
margin-top: 7px;
}
.imp-subheader {
display: inline-block;
font-size: 15px;
height: 30px;
line-height: 30px;
vertical-align: middle;
border: none;
select {
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
background: transparent;
}
}
.dropdown {
.dropdown-common();
}
.margin-left20 {
margin-left: 20px;
}
/*******************************************/
/*Filter Criteria tags:*/
.tag {
font-size: 12px;
padding: .3em .4em .4em;
margin: 0 .1em;
input {
width: 50px;
outline: none;
border-radius: 3px;
border: 1px solid #3c3a36;
padding: 2px;
text-align: center;
}
a {
color: #bbb;
cursor: pointer;
opacity: 0.6;
margin: 0 0 0 .3em;
> button:last-child {
float: right;
margin-right: 20px;
}
.btn-wrapper {
border-radius: 5px;
background-color: #e0301e;
color: #FFF;
display: inline-block;
float: right;
margin-right: 10px;
&:hover {
opacity: 1.0;
.btn-vat-primary {
min-width: 80px;
}
}
}
.glyphicon-white {
color: #fff;
margin-bottom: 2px;
}
.dt-init-wrapper {
margin: 0px 0;
max-width: 99%;
height: calc(~'100% - 20px');
position: relative;
margin-top: 10px;
}
.remove {
vertical-align: bottom;
top: 0;
.error-info-wrapper {
position: absolute;
height: 150px;
bottom: 0;
left: 0;
right: 0;
overflow: hidden;
background-color: #FFF;
margin-left: -40px;
}
}
/*Filter Criteria tags:*/
/*******************************************/
.main-area {
margin: 0 20px;
.watermark {
#content-resizer {
width: 110%;
position: absolute;
top: 50%;
transform: translateY(-50%);
opacity: .25;
font-size: 3em;
width: 100%;
text-align: center;
z-index: 1000;
height: 4px;
bottom: 150px;
left: 0;
right: 0;
background-color: red;
cursor: n-resize;
margin-left: -40px;
#topIcon {
cursor: pointer;
margin-top: -19px;
width: 38px;
margin-left: 46%;
z-index: 999;
bottom: -381px;
text-align: center;
display: block !important;
}
}
.inputInvoiceGrid {
width: 100%;
height: calc(~'100% - 158px');
.dt-import-wrapper {
margin: 60px 0;
max-width: 99%;
overflow: auto;
height: calc(~"100% - 35px");
.ui-grid-header-cell-wrapper .ui-grid-header-cell-row .ui-grid-cell-contents {
height: 40px;
.dropdown {
.dropdown-common();
i {
display: none;
color: #F85550;
}
}
}
}
.form-control {
&:focus {
border-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid #ccc;
/*覆写ack-pagination.less中:.page-size, .pagination 中的margin演示 */
.page-form-group{
float:right;
.page-size{
margin:0;
}
.pagination {
margin:0;
}
}
}
.input-width-middle {
width: 217px;
.form-control {
&:focus {
border-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid #ccc;
}
}
.input-width-middle {
width: 217px;
}
.popover {
min-width: 370px;
......
......@@ -192,8 +192,8 @@
$scope.pagingOptions = {
pageIndex: 1, //当前页码
totalItems: 0, //总数据
pageSize: 50, //每页多少条数据
pageSizeString:"50"
pageSize: 20, //每页多少条数据
pageSizeString:"20"
};
$('#input-invoice-period-picker').focus(function () {
......@@ -224,7 +224,6 @@
bindingOptions: {
dataSource: 'gridDataSource'
},
showBorders: true,
columns: [
{
caption: $translate.instant('AssetType'),
......@@ -334,47 +333,18 @@
selection: {
mode: "single"
},
grouping: {
autoExpandAll: false
paging: {
pageSize: 20
},
allowColumnResizing: true,
columnAutoWidth: true,
showRowLines: true,
showColumnLines: true,
rowAlternationEnabled: true, //单双行颜色
showBorders: true,
hoverStateEnabled: true,
height: '99%',
noDataText: $translate.instant('NoDataText'),
};
// $scope.gridOptions = {
// rowHeight: constant.UIGrid.rowHeight,
// selectionRowHeaderWidth: constant.UIGrid.rowHeight,
// // expandableRowTemplate: '<div ui-grid="row.entity.subGridOptions" style="height:150px;"></div>',
// virtualizationThreshold: 50,//默认加载50条数据,避免在数据展示时,只显示前面4条
// enableSorting: false,
// enableColumnMenus: false,
// enableHorizontalScrollbar : 1,
// columnDefs: [
// { name: $translate.instant('AssetType'), width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.assetType}}<span></div>' },
// { name: $translate.instant('AssetNumber'), width: 200,cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.assetNumber}}<span></div>' },
// { name: $translate.instant('AssetName'), width: 200,cellTemplate: '<div class="ui-grid-cell-contents"><span >{{row.entity.assetDescription}}</span></div>' },
// { name: $translate.instant('BuyDate'), width: 200,cellTemplate: '<div class="ui-grid-cell-contents"><span >{{row.entity.buyDate | date:"yyyy-MM-dd"}}</span></div>' },
// { name: $translate.instant('DepreciationDate2'), width: 200,cellTemplate: '<div class="ui-grid-cell-contents"><span >{{row.entity.depreciationDate | date:"yyyy-MM-dd"}}</span></div>' },
// { name: $translate.instant('AssetGroupName'), width: 200,cellTemplate: '<div class="ui-grid-cell-contents"><span >{{row.entity.assetGroupName}}</span></div>' },
// { name: $translate.instant('AcquisitionValue'), width: 120,cellTemplate: '<div class="ui-grid-cell-contents" style="float: right"><span >{{row.entity.acquisitionValue}}</span></div>' },
// { name: $translate.instant('ResidualValue'), width: 120,cellTemplate: '<div class="ui-grid-cell-contents" style="float: right"><span >{{row.entity.residualRate}}</span></div>' },
// { name: $translate.instant('YearEndValue'), width: 120,cellTemplate: '<div class="ui-grid-cell-contents" style="float: right"><span>{{row.entity.yearEndValue}}</span></div>' },
// { name: $translate.instant('compensationSaleAmount'), width: 120,cellTemplate: '<div class="ui-grid-cell-contents" style="float: right"><span>{{row.entity.compensationSaleAmount}}</span></div>' },
//
// { name: $translate.instant('DisposalProfitAndLoss'), width: 120,cellTemplate: '<div class="ui-grid-cell-contents" style="float: right"><span>{{row.entity.disposalProfitAndLoss}}</span></div>' },
//
// { name: $translate.instant('TaxGroupName'), width: 200,cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.taxGroupName}}</span></div>' },
// { name: $translate.instant('DepreciationPeriod'),width: 120,cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.depreciationPeriod}}</span></div>' },
// { name: $translate.instant('PerMonthDepreciationAmount'),width: 120,cellTemplate: '<div class="ui-grid-cell-contents" style="float: right"><span>{{row.entity.perMonthDepreciationAmount}}</span></div>' },
// { name: $translate.instant('TaxToCurrentYearDepreciationPeriod'), width: 120,cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.taxToCurrentYearDepreciationPeriod}}</span></div>' },
// { name: $translate.instant('AccountTotalepreciationAmount'),width: 120, cellTemplate: '<div class="ui-grid-cell-contents" style="float: right"><span>{{row.entity.taxToCurrentYearDepreciationAmount}}</span></div>' },
// { name: $translate.instant('TaxNetValue'),width: 120, cellTemplate: '<div class="ui-grid-cell-contents" style="float: right"><span>{{row.entity.taxNetValue}}</span></div>' },
// { name: $translate.instant('DisposalTaxBenefit'),width: 120, cellTemplate: '<div class="ui-grid-cell-contents" style="float: right"><span>{{row.entity.disposalTaxBenefit}}</span></div>' }
// ]
// };
$scope.doDataFilter = doDataFilter;
$scope.doDataFilterReset = doDataFilterReset;
......
......@@ -23,10 +23,7 @@
<!--导航栏-->
<div id="tab_total">
<div class="dt-init-wrapper">
<div class="dx-viewport grid-container">
<div id="extractFinancialGridContainer" dx-data-grid="gridOptions"
style="margin-top: 30px;">
</div>
<div id="extractFinancialGridContainer" dx-data-grid="gridOptions" >
</div>
<div class="page-footer">
<ack-pagination page-options="pagingOptions"
......
......@@ -40,7 +40,7 @@
#tab_total {
display: block;
height: calc(~'100% - 40px');
height: calc(~'100% - 80px');
position: relative;
.import-wrapper {
......@@ -170,29 +170,11 @@
}
.dt-init-wrapper {
//margin: 60px 0;
margin: 0px 0;
max-width: 99%;
height: calc(100% - 200px);
height: calc(~'100% - 20px');
position: relative;
.dropdown {
.dropdown-common();
i {
color: #F85550;
}
}
.extractFinancialGridContainer {
height: calc(~'100% - 30px');
overflow: hidden;
position: absolute;
top: 0;
bottom: 136px; /* 130 + 6 */
left: 0;
right: 0;
background-color: #FFF;
}
margin-top: 10px;
}
.error-info-wrapper {
......
......@@ -207,8 +207,8 @@
$scope.pagingOptions = {
pageIndex: 1, //当前页码
totalItems: 0, //总数据
pageSize: 50, //每页多少条数据
pageSizeString:"50"
pageSize: 20, //每页多少条数据
pageSizeString:"20"
};
$('#input-invoice-period-picker').focus(function () {
......@@ -284,6 +284,9 @@
grouping: {
autoExpandAll: false
},
paging: {
pageSize: 20
},
allowColumnResizing: true,
columnAutoWidth: true,
showRowLines: true,
......
......@@ -22,10 +22,8 @@
<div id="tab_total">
<div class="dt-init-wrapper">
<div class="dx-viewport grid-container">
<div id="extractFinancialGridContainer" dx-data-grid="gridOptions"
style="margin-top: 30px;">
</div>
<div id="extractFinancialGridContainer" dx-data-grid="gridOptions"
style="margin-top: 30px;">
</div>
<div class="page-footer">
<ack-pagination page-options="pagingOptions"
......
......@@ -40,7 +40,7 @@
#tab_total {
display: block;
height: calc(~'100% - 40px');
height: calc(~'100% - 80px');
position: relative;
.import-wrapper {
......@@ -170,29 +170,11 @@
}
.dt-init-wrapper {
//margin: 60px 0;
margin: 0px 0;
max-width: 99%;
height: calc(100% - 200px);
height: calc(~'100% - 20px');
position: relative;
.dropdown {
.dropdown-common();
i {
color: #F85550;
}
}
.extractFinancialGridContainer {
height: calc(~'100% - 30px');
overflow: hidden;
position: absolute;
top: 0;
bottom: 136px; /* 130 + 6 */
left: 0;
right: 0;
background-color: #FFF;
}
margin-top: 10px;
}
.error-info-wrapper {
......
......@@ -85,6 +85,34 @@
});
};
$scope.exportRevenueConf = function () {
$http.get('/revenueConf/export', apiConfig.create({ responseType: 'arraybuffer' })).success(function (data, status, headers) {
var octetStreamMime = 'application/octet-stream';
var contentType = headers('content-type') || octetStreamMime;
if (window.navigator.msSaveBlob) {
var blob = new Blob([data], {
type: contentType
});
navigator.msSaveBlob(blob, "收入类型配置报表");
} else {
var urlCreator = window.URL || window.webkitURL || window.mozURL || window.msURL;
if (urlCreator) {
var a = document.createElement('a');
var blob = new Blob([data], {
type: contentType
});
var url = urlCreator.createObjectURL(blob);
a.href = url;
a.target = '_blank';
a.download = "收入类型配置报表.xlsx";
document.body.appendChild(a);
a.click();
}
}
}).error(function () {
SweetAlert.error($translate.instant('PleaseContactAdministrator'));
});
};
//表格配置
$scope.revenueGridOptions = $.extend(true, {}, dxDataGridService.BASIC_GRID_OPTIONS, {
columns: [
......
......@@ -17,6 +17,9 @@
<button type="button" class="btn btn-in-grid inline-div" ng-click="downloadTemplate()"><i
class="fa fa-download" aria-hidden="true"></i>下载模板
</button>
<button type="button" class="btn btn-in-grid inline-div" ng-click="exportRevenueConf()"><i
class="fa fa-download" aria-hidden="true"></i>导出报表
</button>
</div>
</form>
......
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