Commit 1e9d27f2 authored by gary's avatar gary

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

parents a1399503 86a8faee
......@@ -2,14 +2,12 @@ package pwc.taxtech.atms.common;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
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.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Iterator;
import java.util.Optional;
public class POIUtil {
......@@ -119,6 +117,89 @@ public class POIUtil {
return row;
}
public static Row createAndCloneRow(Workbook wb ,Sheet sheet, Integer destRowIndex,Row fromRow) {
Row toRow = null;
if (sheet.getRow(destRowIndex) != null) {
int lastRowNo = sheet.getLastRowNum();
sheet.shiftRows(destRowIndex, lastRowNo, 1);
}
toRow = sheet.createRow(destRowIndex);
for (Iterator cellIt = fromRow.cellIterator(); cellIt.hasNext();) {
Cell tmpCell = (Cell) cellIt.next();
Cell newCell = toRow.createCell(tmpCell.getColumnIndex());
copyCell(wb, tmpCell, newCell, false);
}
return toRow;
}
public static void copyCell(Workbook wb,Cell srcCell, Cell distCell,
boolean copyValueFlag) {
CellStyle newstyle=wb.createCellStyle();
copyCellStyle(wb,srcCell.getCellStyle(), newstyle);
if(srcCell.getColumnIndex()==7){
newstyle.setLocked(false);
}
// distCell.setEncoding(srcCell.getEncoding());
//样式
distCell.setCellStyle(newstyle);
//评论
if (srcCell.getCellComment() != null) {
distCell.setCellComment(srcCell.getCellComment());
}
// 不同数据类型处理
int srcCellType = srcCell.getCellType();
distCell.setCellType(srcCellType);
if (copyValueFlag) {
if (srcCellType == Cell.CELL_TYPE_NUMERIC) {
if (DateUtil.isCellDateFormatted(srcCell)) {
distCell.setCellValue(srcCell.getDateCellValue());
} else {
distCell.setCellValue(srcCell.getNumericCellValue());
}
} else if (srcCellType == Cell.CELL_TYPE_STRING) {
distCell.setCellValue(srcCell.getRichStringCellValue());
} else if (srcCellType == Cell.CELL_TYPE_BLANK) {
// nothing21
} else if (srcCellType == Cell.CELL_TYPE_BOOLEAN) {
distCell.setCellValue(srcCell.getBooleanCellValue());
} else if (srcCellType == Cell.CELL_TYPE_ERROR) {
distCell.setCellErrorValue(srcCell.getErrorCellValue());
} else if (srcCellType == Cell.CELL_TYPE_FORMULA) {
distCell.setCellFormula(srcCell.getCellFormula());
} else { // nothing29
}
}
}
public static void copyCellStyle(Workbook wb,CellStyle fromStyle,
CellStyle toStyle) {
toStyle.setAlignment(HorizontalAlignment.forInt(fromStyle.getAlignment()));
//边框和边框颜色
toStyle.setBorderBottom(BorderStyle.valueOf(fromStyle.getBorderBottom()));
toStyle.setBorderLeft(BorderStyle.valueOf(fromStyle.getBorderLeft()));
toStyle.setBorderRight(BorderStyle.valueOf(fromStyle.getBorderRight()));
toStyle.setBorderTop(BorderStyle.valueOf(fromStyle.getBorderTop()));
toStyle.setTopBorderColor(fromStyle.getTopBorderColor());
toStyle.setBottomBorderColor(fromStyle.getBottomBorderColor());
toStyle.setRightBorderColor(fromStyle.getRightBorderColor());
toStyle.setLeftBorderColor(fromStyle.getLeftBorderColor());
//背景和前景
toStyle.setFillBackgroundColor(fromStyle.getFillBackgroundColor());
toStyle.setFillForegroundColor(fromStyle.getFillForegroundColor());
//
toStyle.setDataFormat(fromStyle.getDataFormat());
toStyle.setFillPattern(FillPatternType.forInt(fromStyle.getFillPattern()));
toStyle.setFont(wb.getFontAt(fromStyle.getFontIndex()));
toStyle.setHidden(fromStyle.getHidden());
toStyle.setIndention(fromStyle.getIndention());//首行缩进
toStyle.setLocked(fromStyle.getLocked());
toStyle.setRotation(fromStyle.getRotation());//旋转
toStyle.setVerticalAlignment(VerticalAlignment.forInt(fromStyle.getVerticalAlignment()));
toStyle.setWrapText(fromStyle.getWrapText());
}
}
package pwc.taxtech.atms.constant.enums;
import java.util.HashMap;
import java.util.Map;
public class TaxesCalculateReportEnum {
public enum Column {
Column_1(0, "序号"),
Column_2(1, "收入类型名称"),
Column_3(2, "税金项目"),
Column_4(3, "账载收入-明细"),
Column_5(4, "销项开票收入数-专票"),
Column_6(5, "销项开票收入数-普票"),
Column_7(6, "计税基数(应税收入)"),
Column_8(7, "税率"),
Column_9(8, "税额(元)"),
Column_10(9, "收入类别"),
Column_11(10, "计税方式"),
Column_12(11, "备注")
;
private Integer index;
private String name;
public static final Map<Integer, String> MAPPING = new HashMap<>();
Column(Integer index, String name) {
this.index = index;
this.name = name;
}
public Integer getIndex() {
return index;
}
public String getName() {
return name;
}
static {
for (TaxesCalculateReportEnum.Column accountType : TaxesCalculateReportEnum.Column.values()) {
MAPPING.put(accountType.getIndex(), accountType.getName());
}
}
}
}
package pwc.taxtech.atms.controller;
import com.google.common.collect.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import pwc.taxtech.atms.dto.ReturnData;
......@@ -24,7 +26,7 @@ public class OperationLogTaxDocController {
@RequestMapping("selectList")
@ResponseBody
public ReturnData selectTaxDocumentList(){
public ReturnData selectTaxDocumentList() {
List<OperationLogTaxDocument> operationLogTaxDocuments = operationLogTaxDocService.selectTaxDocumentList();
ReturnData returnData = new ReturnData();
returnData.setItems(operationLogTaxDocuments);
......@@ -34,13 +36,15 @@ public class OperationLogTaxDocController {
/**
* 根据 id 数组来查询相关日志
* @param taxDocumentIds
*
* @param operationLogTaxDocument
* @return
*/
@RequestMapping("/selectListForLog")
@ResponseBody
public ReturnData selectListForLog(List<String> taxDocumentIds){
List<OperationLogTaxDocument> operationLogTaxDocuments = operationLogTaxDocService.selectListForLog(taxDocumentIds);
public ReturnData selectListForLog(@RequestBody OperationLogTaxDocument operationLogTaxDocument) {
List<String> ids = operationLogTaxDocument.getIds() == null ? Lists.newArrayList() : operationLogTaxDocument.getIds();
List<OperationLogTaxDocument> operationLogTaxDocuments = operationLogTaxDocService.selectListForLog(ids);
ReturnData returnData = new ReturnData();
returnData.setItems(operationLogTaxDocuments);
returnData.setTotalCount(operationLogTaxDocuments.size());
......@@ -49,25 +53,25 @@ public class OperationLogTaxDocController {
@RequestMapping("add")
@ResponseBody
public boolean addTaxDocuments(OperationLogTaxDocument operationLogTaxDocument){
public boolean addTaxDocuments(OperationLogTaxDocument operationLogTaxDocument) {
return operationLogTaxDocService.addTaxDocumentList(operationLogTaxDocument);
}
@RequestMapping("delete")
@ResponseBody
public boolean deleteTaxDocuments(String id){
public boolean deleteTaxDocuments(String id) {
return operationLogTaxDocService.deleteTaxDocument(id);
}
@RequestMapping("edit")
@ResponseBody
public boolean editTaxDocuments(OperationLogTaxDocument operationLogTaxDocument){
public boolean editTaxDocuments(OperationLogTaxDocument operationLogTaxDocument) {
return operationLogTaxDocService.editFilesType(operationLogTaxDocument);
}
@RequestMapping("exportExcel")
@ResponseBody
public void exportExcelFile (HttpServletResponse response){
public void exportExcelFile(HttpServletResponse response) {
try {
Map<String, String> headers = new HashMap<String, String>();
headers.put("id", "id");
......@@ -86,7 +90,7 @@ public class OperationLogTaxDocController {
response.setHeader("Content-Disposition", "attachment;fileName=" + new String("".getBytes("GB2312"), "ISO-8859-1"));
OutputStream ouputStream = response.getOutputStream();
ExcelUtil.exportExcel(headers, TaxDocuments, ouputStream);
}catch(Exception e){
} catch (Exception e) {
e.printStackTrace();
}
}
......
......@@ -246,6 +246,13 @@ public class TaxDocumentController {
}
}
/**
* 下载全部附件
*/
@PostMapping(value = "/downloadAllFile")
public void downloadAllFile(HttpServletResponse response, @RequestBody TaxDocumentDto taxDocumentDto) {
taxDocumentService.downloadAllFile(response,taxDocumentDto.getIds());
}
/**
* 解析json
......
......@@ -185,7 +185,6 @@ public class TemplateController extends BaseController {
@RequestParam(name = "projectId") String projectId,
HttpServletResponse response) throws URISyntaxException {
period = 0;
String filePath;
File templateFile;
InputStream inputStream = null;
......
......@@ -51,7 +51,9 @@ public class OperationLogTaxDocServiceImpl {
public List<OperationLogTaxDocument> selectListForLog(List<String> taxDocumentIds) {
OperationLogTaxDocumentExample example = new OperationLogTaxDocumentExample();
OperationLogTaxDocumentExample.Criteria criteria = example.createCriteria();
criteria.andIdIn(taxDocumentIds);
if (taxDocumentIds.size()>0){
criteria.andIdIn(taxDocumentIds);
}
return operationLogTaxDocumentMapper.selectByExample(example);
}
}
......@@ -22,8 +22,16 @@ import pwc.taxtech.atms.vat.entity.FileUpload;
import pwc.taxtech.atms.vat.entity.ReportFileUpload;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.*;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/**
* 查询
......@@ -47,8 +55,6 @@ public class TaxDocumentServiceImpl {
@Autowired
DidiFileUploadService didiFileUploadService;
@Autowired
private BusinessUnitServiceImpl businessUnitService;
@Autowired
private OrganizationServiceImpl organizationService;
......@@ -340,4 +346,127 @@ public class TaxDocumentServiceImpl {
return false;
}
}
public void downloadAllFile(HttpServletResponse response, List<Long> ids) {
String downloadName = "多选附件.zip";
try {
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(downloadName, "UTF-8"));
} catch (UnsupportedEncodingException e) {
throw new RuntimeException("下载文件名编码时出现错误.", e);
}
OutputStream outputStream = null;
ZipOutputStream zos = null;
try {
outputStream = response.getOutputStream();
zos = new ZipOutputStream(outputStream);
// 将文件流写入zip中
downloadTolocal(zos, ids);
} catch (IOException e) {
log.error("downloadAllFile-xxx下载全部附件失败,ids=[{}],错误信息=[{}]", ids, e);
} finally {
if (zos != null) {
try {
zos.close();
} catch (Exception e2) {
log.info("关闭输入流时出现错误", e2);
}
}
if (outputStream != null) {
try {
outputStream.close();
} catch (Exception e2) {
log.info("关闭输入流时出现错误", e2);
}
}
}
}
/**
* // 将文件流写入zip中
*
* @param zos
* @param ids
*/
private void downloadTolocal(ZipOutputStream zos, List<Long> ids) {
TaxDocumentExample example = new TaxDocumentExample();
TaxDocumentExample.Criteria criteria = example.createCriteria();
if (null == ids || ids.size() < 1) {
throw new RuntimeException("传入参数错误:空参数数组");
}
criteria.andIdIn(ids);
List<TaxDocument> taxDocuments = taxDocumentMapper.selectByExample(example);
for (TaxDocument item : taxDocuments) {
//文件url
String urlPath = item.getFilePositionUrl();
//如果url为null或空字符串而抛出异常
if (StringUtils.isBlank(urlPath)) {
throw new RuntimeException("文件url为空,id为:" + item.getId());
}
//文件名称(带后缀)
String fileName = StringUtils.isBlank(item.getFileOriginalName()) ? "未知文件(请修改后缀名).xlsx" : item.getFileOriginalName();
InputStream is = null;
BufferedInputStream in = null;
byte[] buffer = new byte[1024];
int len;
//创建zip实体(一个文件对应一个ZipEntry)
ZipEntry entry = new ZipEntry(fileName);
try {
//获取需要下载的文件流
URL httpurl = new URL(URLDecoder.decode(urlPath, "UTF-8"));
HttpURLConnection httpConn = (HttpURLConnection) httpurl.openConnection();
httpConn.setDoOutput(true);// 使用 URL 连接进行输出
httpConn.setDoInput(true);// 使用 URL 连接进行输入
httpConn.setUseCaches(false);// 忽略缓存
httpConn.setRequestMethod("GET");// 设置URL请求方法
//可设置请求头
httpConn.setRequestProperty("Content-Type", "application/octet-stream");
httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
httpConn.setRequestProperty("Charset", "UTF-8");
httpConn.connect();
if (httpConn.getResponseCode() >= 400) {
is = httpConn.getErrorStream();
} else {
is = httpConn.getInputStream();
}
in = new BufferedInputStream(is);
zos.putNextEntry(entry);
//文件流循环写入ZipOutputStream
while ((len = in.read(buffer)) != -1) {
zos.write(buffer, 0, len);
}
} catch (Exception e) {
log.info("xxx--下载全部附件--压缩文件出错", e);
} finally {
if (entry != null) {
try {
zos.closeEntry();
} catch (Exception e2) {
log.info("xxx下载全部附件--zip实体关闭失败", e2);
}
}
if (in != null) {
try {
in.close();
} catch (Exception e2) {
log.info("xxx下载全部附件--文件输入流关闭失败", e2);
}
}
if (is != null) {
try {
is.close();
} catch (Exception e) {
log.info("xxx下载全部附件--输入缓冲流关闭失败", e);
}
}
}
}
}
}
......@@ -177,6 +177,7 @@ public class FormulaAgent {
public static String _buildSql(String getField, String tableName, String filter, String filterValue, Integer period, FormulaContext formulaContext, String year, boolean bool, boolean getSql) throws Exception {
String sql = "";
if(getSql){
tableName = tableName.toLowerCase();
sql = "select * from " + tableName + " where 1=1 and " + filter + filterValue;
return sql;
}else{
......
......@@ -19,7 +19,6 @@ import org.springframework.stereotype.Component;
import pwc.taxtech.atms.common.POIUtil;
import pwc.taxtech.atms.common.util.SpringContextUtil;
import pwc.taxtech.atms.constant.enums.CellDataSourceType;
import pwc.taxtech.atms.constant.enums.FileUploadEnum;
import pwc.taxtech.atms.dao.ProjectMapper;
import pwc.taxtech.atms.dto.didiFileUpload.DidiFileIUploadParam;
import pwc.taxtech.atms.dto.didiFileUpload.DidiFileUploadDetailResult;
......@@ -34,7 +33,10 @@ import pwc.taxtech.atms.vat.dpo.PeriodCellTemplateConfigExtendDto;
import pwc.taxtech.atms.vat.entity.*;
import pwc.taxtech.atms.vat.service.impl.report.functions.*;
import java.io.*;
import javax.annotation.Resource;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.*;
import java.util.regex.Matcher;
......@@ -47,31 +49,32 @@ import static pwc.taxtech.atms.dto.vatdto.WrapPeriodJobDto.*;
@Component
public class ReportGeneratorImpl {
private static final Logger logger = LoggerFactory.getLogger(ReportGeneratorImpl.class);
@Autowired
@Resource
private ProjectMapper projectMapper;
@Autowired
private HttpFileService httpFileService;
@Autowired
private FormulaAgent formulaAgent;
@Autowired
@Resource
private PeriodCellDataMapper periodCellDataMapper;
@Autowired
@Resource
private PeriodFormulaBlockMapper periodFormulaBlockMapper;
@Autowired
private PeriodDataSourceMapper periodDataSourceMapper;
@Autowired
@Resource
private RevenueConfigMapper revenueConfigMapper;
@Resource
private PeriodCellTemplateConfigMapper periodCellTemplateConfigMapper;
@Autowired
@Resource
private PeriodCellTemplateMapper periodCellTemplateMapper;
@Autowired
@Resource
private PeriodTemplateMapper periodTemplateMapper;
@Autowired
private DistributedIdService distributedIdService;
@Autowired
@Resource
private PeriodJobMapper periodJobMapper;
@Autowired
private DidiFileUploadService didiFileUploadService;
public FormulaContext initContext(PeriodResources resources, Integer period) {
return FormulaContext.extractContextFromProject(resources.getProject()).fixedFormula(period, resources.getTemplateGroupId(),
formulaAgent);
......@@ -503,26 +506,7 @@ public class ReportGeneratorImpl {
}
}
}
//TODO 当是税金计算表时动态添加行
if ("VAT8002".equals(a.getCode())) {
tWorkbook = assembleTaxWorkBook(tWorkbook);
//覆盖template地址
ByteArrayOutputStream bout = new ByteArrayOutputStream();
try {
tWorkbook.write(bout);
FileUpload fileUpload = didiFileUploadService.uploadFile(bout.toByteArray(), a.getCode() + "_" + a.getName() + ".xlsx", FileUploadEnum.BizSource.PERIOD_REPORT_TEMPLATE_UPLOAD.name());
a.setPath(fileUpload.getUid());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bout.close();
} catch (Exception e) {
}
}
periodTemplateMapper.updateByPrimaryKey(a);
}
POIUtil.cloneSheet(tWorkbook.getSheetAt(0), workbook.createSheet(a.getCode()));
});
......@@ -536,29 +520,6 @@ public class ReportGeneratorImpl {
}
}
public Workbook assembleTaxWorkBook(Workbook tWorkbook) {
Sheet sheet = tWorkbook.getSheetAt(0);
Row row = POIUtil.createRow(sheet, 3);
Cell cell = row.createCell(0);
cell.setCellValue("test");
return tWorkbook;
}
private void saveExcel(Workbook wb) {
FileOutputStream fileOut;
try {
fileOut = new FileOutputStream("");
wb.write(fileOut);
fileOut.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 注册所有的自定义方法到工作簿
......
......@@ -2,6 +2,7 @@ package pwc.taxtech.atms.entity;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
*
......@@ -110,6 +111,8 @@ public class OperationLogTaxDocument implements Serializable {
*/
private Date createTime;
List<String> ids;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table operation_log_tax_document
......@@ -118,6 +121,14 @@ public class OperationLogTaxDocument implements Serializable {
*/
private static final long serialVersionUID = 1L;
public List<String> getIds() {
return ids;
}
public void setIds(List<String> ids) {
this.ids = ids;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column operation_log_tax_document.id
......
......@@ -274,7 +274,7 @@
case enums.formulaDataSourceType.InvoiceFilter:
break;
case enums.formulaDataSourceType.CIT_TBAM:
obj.relSql = sourceData.relSql;
obj.relSql = sourceData.rel_sql;
}
if (sourceData.type === 0 && sourceData.dataSourceType === enums.cellDataSourceType.RelatedModel) {
......
......@@ -1536,7 +1536,7 @@
}
,
{
dataField: 'Attribute',
dataField: 'attribute',
caption: $translate.instant('Attribute'),
alignment: 'left'
}
......@@ -2212,7 +2212,7 @@
$scope.detail.dataGridSourceBind = [$scope.detail.dataGridSource[0]];
break;
case enums.formulaDataSourceType.CIT_TBAM:
$scope.detail.dataGridSourceBind = getBlowGridData($scope.detail.dataGridSource[0]);
getBlowGridData($scope.detail.dataGridSource[0]);
break;
default :
$scope.detail.dataGridSourceBind = $scope.detail.dataGridSource;
......@@ -2236,7 +2236,7 @@
var getBlowGridData = function( data){
cellCommentService.getCellInformation(data).success(function (res) {
if(res.resultMsg){
return res.data;
$scope.detail.dataGridSourceBind = [res.data[0]];
}
}).error(function (error) {
......
......@@ -274,7 +274,7 @@
case enums.formulaDataSourceType.InvoiceFilter:
break;
case enums.formulaDataSourceType.CIT_TBAM:
obj.relSql = sourceData.relSql;
obj.relSql = sourceData.rel_sql;
}
......
......@@ -12,7 +12,7 @@ webservices.factory('cellCommentService', ['$http', 'apiConfig', function ($http
return $http.post('/CellComment/Delete/' + commentId, {}, apiConfig.createVat());
},
getCellInformation: function(data){
return $http.get('/CellComment/getCellInformation?sql=' + data.relSql, apiConfig.vat());
return $http.get('/CellComment/getCellInformation?sql=' + data.relSql, apiConfig.createVat());
}
};
}]);
\ No newline at end of file
......@@ -45,16 +45,19 @@
.select-simulator-option-menu ul li{
padding:0 8px;
list-style: none;
color: #000;
font-size: 13px;
line-height: 1;
}
.select-simulator-option-menu ul li:hover{
background-color: #e7e8e0;
}
.select-simulator-option-menu ul li:nth-child(odd){
background-color: #efefef;
background-color: #F2F2F2;;
}
.select-simulator-option-menu ul li > label{
padding-bottom:5px;
margin:0;
padding: 8px 0;
}
.input-reset-button {
......@@ -93,6 +96,13 @@
position: relative;
background: inherit;
}
.select-simulator-option-name{
float:left;
}
.select-simulator-option-check-icon{
float:right;
color:#0db4ff;
}
</style>
<div class="select-simulator">
<input class="for-fake-input"
......@@ -120,10 +130,11 @@
<label style="width: 100%;" ng-click="checksOption()">
<input type="{{optionType}}"
name="simulatorOptionMenu"
value="{{value}}"
value="{{value}}" ng-hide="true"
ng-checked="selected.indexOf(optionValues[$index]) > -1"
data-key="{{optionKeys[$index]}}"/>
<span>{{value}}</span>
<span class="select-simulator-option-name">{{value}}</span>
<i ng-if="selected.indexOf(optionValues[$index]) > -1" class="fa fa-check select-simulator-option-check-icon"></i>
</label>
</li>
</ul>
......
......@@ -11,9 +11,9 @@ frameworkModule.controller('appUsrOperateLogController',
$scope.loadMainData = function () {
$scope.thisModuleId = $scope.thisModuleId ? $scope.thisModuleId : [];
var config = {
params: {
taxDocumentIds:JSON.stringify($scope.thisModuleId)
}
// params: {
"ids":$scope.thisModuleId
// }
};
usrOperateLogService[$scope.thisModuleName](config).then(function (data) {
if (status === 204) {
......
......@@ -10,7 +10,7 @@ function ($q, apiConfig, jqFetch,apiInterceptor) {
return jqFetch.get(apiInterceptor.webApiHostUrl + '/operLogFileTypes/selectList', params);
},
docManageListLog: function (params) {
return jqFetch.get(apiInterceptor.webApiHostUrl + '/operLogTaxDoc/selectListForLog', params);
return jqFetch.post(apiInterceptor.webApiHostUrl + '/operLogTaxDoc/selectListForLog', params);
}
};
}]);
\ No newline at end of file
<div class="land-manage-page" watch-group temp-module>
<div class="land-manage-page" watch-group temp-module down-load-module>
<style>
ul {
margin: 0;
......@@ -344,7 +344,7 @@
<div class="TDL-query-val">
<select ng-model="queryFieldModel.fileAttr"
class="form-control radius3"
required placeholder="{{'PleaseSelected' | translate}}">
placeholder="{{'PleaseSelected' | translate}}">
<option ng-repeat="fileAttr in fileAttrOptions track by $index"
value="{{fileAttr}}">{{fileAttr}}
</option>
......@@ -360,8 +360,7 @@
<div class="TDL-query-val">
<select ng-model="queryFieldModel.fileType"
class="form-control radius3"
required placeholder="{{'PleaseSelected' | translate}}">
<option selected></option>
placeholder="{{'PleaseSelected' | translate}}">
<option ng-repeat="fileType in fileTypeOptions track by $index" value="{{fileType}}">
{{fileType}}
</option>
......@@ -424,8 +423,15 @@
<span translate="BusinessLine"></span>
</div>
<div class="TDL-query-val">
<input type="text" class="form-control radius3"
ng-model="queryFieldModel.businessLine"/>
<select ng-model="queryFieldModel.businessLine"
class="form-control radius3"
placeholder="{{'PleaseSelected' | translate}}">
<option ng-repeat="businessLine in businessLineOptions track by $index" value="{{businessLine.name}}">
{{businessLine.name}}
</option>
</select>
<!--<input type="text" class="form-control radius3"-->
<!--ng-model="queryFieldModel.businessLine"/>-->
</div>
</div>
<div class="TDL-query-block">
......@@ -779,13 +785,16 @@
</label>
<div class="col-sm-11" style="width:61.67%">
<input class="form-control"
placeholder="{{'PleaseType' | translate}}"
placeholder="{{'PleaseType'|translate}}"
ng-required="isRequired('EntityStorageLocation')"
ng-model="editFieldModel.storageArea"
/>
</div>
<div class="DTL-special-external-btn" title="{{'EntityStorageDescription' | translate}}">
<i class="fa fake-exclamatory-circle"></i>
<a href="javascript:void(0)" ng-click="openHelpPopForEntityStorage()">
<i class="fa fake-exclamatory-circle" aria-hidden="true"></i>
</a>
</div>
</div>
<div class="col-sm-6 form-group">
......@@ -807,7 +816,7 @@
{{'EntityIndex' | translate}}
</label>
<div class="col-sm-11" style="width:61.67%">
<input class="form-control" title="{{editFieldModel.storageArea}}"
<input class="form-control"
placeholder="{{'PleaseType' | translate}}"
ng-required="isRequired('EntityIndex')"
ng-model="editFieldModel.physicalIndexNumber"
......@@ -822,7 +831,7 @@
<textarea class="form-control"
placeholder="{{'PleaseType' | translate}}"
ng-required="isRequired('Remarks')"
ng-model="editFieldModel.remarks">
ng-model="editFieldModel.remark">
</textarea>
</div>
</div>
......@@ -1014,7 +1023,7 @@
</label>
<div class="col-sm-11" style="width:61.67%">
<input class="form-control"
placeholder="{{'PleaseType' | translate}}"
placeholder="{{'EntityStorageDescription'|translate}}"
ng-model="editFieldItem.storageArea"
ng-required="isRequired('EntityStorageLocation')"
/>
......
......@@ -2,54 +2,143 @@
* Created by Administrator on 2019/3/1 0001.
*/
taxDocumentManageModule.factory('taxDocumentListService',
['$q', 'apiConfig', 'jqFetch', 'apiInterceptor',
function ($q, apiConfig, jqFetch, apiInterceptor) {
['$q', 'apiConfig', 'jqFetch','apiInterceptor',
function ($q, apiConfig, jqFetch,apiInterceptor) {
'use strict';
return {
fetchMainList: function (params) {
return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/selectList', params);
},
addNewRecord: function (params) {
return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/add', params);
var defer = $q.defer();
window.$.ajax({
type: 'POST',
url: apiInterceptor.webApiHostUrl + '/v1/taxDoc/add',
data: params,
dataType: "json",
beforeSend: function(request) {
request.setRequestHeader("Authorization", apiInterceptor.tokenType + ' ' + apiInterceptor.apiToken());
request.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded');
request.setRequestHeader("Accept", "*/*");
},
success: function(result) {
$('#busy-indicator-container').hide();
defer.resolve(result);
},
error:function(result){
$('#busy-indicator-container').hide();
defer.reject(result);
}
});
return defer.promise;
},
editRecord: function (params) {
return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/edit', params);
$('#busy-indicator-container').show();
var defer = $q.defer();
window.$.ajax({
type: 'POST',
url: apiInterceptor.webApiHostUrl + '/v1/taxDoc/edit',
data: params,
dataType: "json",
beforeSend: function(request) {
request.setRequestHeader("Authorization", apiInterceptor.tokenType + ' ' + apiInterceptor.apiToken());
// request.setRequestHeader("Content-Type", 'multipart/form-data; boundary=----WebKitFormBoundaryNBBkL3vAiuTDbAZP');
request.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded');
request.setRequestHeader("Accept", "*/*");
},
success: function(result) {
$('#busy-indicator-container').hide();
defer.resolve(result);
},
error:function(result){
$('#busy-indicator-container').hide();
defer.reject(result);
}
});
return defer.promise;
},
verifyDuplicate: function (params) {
verifyDuplicate:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/queryWhetherData', params);
},
getFileInfoOptions: function (params) {
getFileInfoOptions:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/fileTypes/query4SelectionBox', params);
},
getCompanyNameOptions: function (params) {
return jqFetch.get(apiInterceptor.webApiHostUrl + '/org/getMyOrgList', params);
getCompanyNameOptions:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/org/query4SelectionBox', params);
},
delFileRecordItems: function (params) {
delFileRecordItems:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/batchDelete', params);
},
getDocumentsAttrAndType:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/fileTypes/selectList', params);
return jqFetch.post(apiInterceptor.webApiHostUrl + '/v1/fileTypes/selectList', params);
},
getBusinessList:function(params){
return jqFetch.get(apiInterceptor.webApiHostUrl + '/v1/businessunit/getlist', params);
},
downloadAllFile:function(params){
var xhr = new XMLHttpRequest();
var fileName = 'files.zip'; // 文件名称
xhr.open('POST', apiInterceptor.webApiHostUrl + "/taxDoc/downloadAllFile", true);
xhr.responseType = 'arraybuffer';
// xhr.setRequestHeader(token, 'xxxxx') ;// 请求头中的验证信息等(如果有)
xhr.setRequestHeader("Authorization", apiInterceptor.tokenType + ' ' + apiInterceptor.apiToken());
xhr.setRequestHeader("Content-Type", 'application/json;charset=UTF-8');
xhr.onload = function() {
if (this.status === 200) {
// let type = xhr.getResponseHeader('Content-Type');
var blob = new Blob([this.response], {type: "arraybuffer"});
if (typeof window.navigator.msSaveBlob !== 'undefined') {
/*
* IE workaround for "HTML7007: One or more blob URLs were revoked by closing
* the blob for which they were created. These URLs will no longer resolve as
* the data backing the URL has been freed."
*/
window.navigator.msSaveBlob(blob, fileName)
} else {
var URL = window.URL || window.webkitURL;
var objectUrl = URL.createObjectURL(blob);
if (fileName) {
var a = document.createElement('a');
// safari doesn't support this yet
if (typeof a.download === 'undefined') {
window.location = objectUrl
} else {
a.href = objectUrl;
a.download = fileName;
document.body.appendChild(a);
a.click();
a.remove();
}
} else {
window.location = objectUrl;
}
}
}
};
xhr.send(JSON.stringify(params));
},
readXLSX:function(params){
return jqFetch.post(apiInterceptor.webApiHostUrl + '/taxDoc/previewExcelToJson', params);
},
getBinaryData: function (url) {
getBinaryData:function(url){
var defer = $q.defer();
var oReq = new XMLHttpRequest();
oReq.onload = function (e) {
oReq.onload = function(e) {
var arraybuffer = oReq.response;
console.info("arraybuffer:", arraybuffer);
console.info("arraybuffer:",arraybuffer);
defer.resolve(arraybuffer);
};
// oReq.open("GET", 'http://47.94.233.173:11007/static/erp_tax_system/3221D133-85B8-4E22-AE9B-DBEBD942D217?expire=1552361736&signiture=_Wz1_8Z6T8h5qnZAGpoRa8kNZeqmE7KoztKeehzYK4U=', true);
oReq.open("GET", url, true);
oReq.responseType = "arraybuffer";
oReq.send();
// return jqFetch.get(url,{},'arraybuffer');
return defer.promise;
}
};
}]);
\ 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