Merge branch 'master'
# Conflicts: # src/main/java/com/bonus/boot/manager/basic/controller/DownloadController.java # src/main/java/com/bonus/boot/manager/ca/bm/entity/PayAccountInfoBean.java # src/main/java/com/bonus/boot/manager/ca/bm/service/impl/PayAccountInfoServiceImpl.java # src/main/java/com/bonus/boot/manager/ca/im/controller/PayableController.java # src/main/java/com/bonus/boot/manager/ca/im/dao/PayableDao.java # src/main/java/com/bonus/boot/manager/ca/im/entity/PayableBean.java # src/main/java/com/bonus/boot/manager/ca/im/service/PayableService.java # src/main/java/com/bonus/boot/manager/ca/im/service/impl/PayableServiceImpl.java # src/main/java/com/bonus/boot/manager/manager/utils/ImportNoPhotoExcelHelper.java # src/main/java/com/bonus/boot/manager/wages/entity/WagesDetailsBean.java # src/main/java/com/bonus/boot/manager/wages/service/impl/WagesServiceImpl.java # src/main/java/com/bonus/boot/manager/wages/service/impl/WagesStaticsServiceImpl.java # src/main/resources/application.properties # src/main/resources/download/招商银行工资导入模板.xlsx # src/main/resources/mappers/ca/PayAccountInfoMapper.xml # src/main/resources/mappers/ca/PayableMapper.xml # src/main/resources/mappers/logs/SysLogsMapper.xml # src/main/resources/mappers/wages/WagesMapper.xml # src/main/resources/mappers/wages/WagesStaticsMapper.xml # src/main/resources/static/js/common.js # src/main/resources/static/pages/finance/addPayable.html # src/main/resources/static/pages/finance/addPaymentAccount.html # src/main/resources/static/pages/finance/payable.html # src/main/resources/static/pages/finance/paymentAccount.html # src/main/resources/static/pages/wages/uploadReceipt.html # src/main/resources/static/pages/wages/uploadWages.html # src/main/resources/static/pages/wages/uploadWagesTwo.html # src/main/resources/static/pages/wages/wagesStaticsList.html # src/main/resources/static/pages/work/SysLogManage.html
This commit is contained in:
commit
4e8cee4ef0
|
|
@ -23,6 +23,7 @@ import java.net.URLConnection;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
@Api(tags = "下载")
|
@Api(tags = "下载")
|
||||||
@RestController
|
@RestController
|
||||||
|
|
@ -53,6 +54,11 @@ public class DownloadController {
|
||||||
response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate");
|
response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate");
|
||||||
response.addHeader("charset", "utf-8");
|
response.addHeader("charset", "utf-8");
|
||||||
response.addHeader("Pragma", "no-cache");
|
response.addHeader("Pragma", "no-cache");
|
||||||
|
if(Objects.equals(filename,"zh_model.xlsx")){ // 招行新模版
|
||||||
|
filename = "招商银行工资导入模板(新).xlsx";
|
||||||
|
}else if(Objects.equals(filename,"jh_gy_gzc.xlsx")){ // 建行(贵阳)新模版
|
||||||
|
filename = "建设银行工资导入模板(贵阳).xlsx";
|
||||||
|
}
|
||||||
String encodeName = URLEncoder.encode(filename, StandardCharsets.UTF_8.toString());
|
String encodeName = URLEncoder.encode(filename, StandardCharsets.UTF_8.toString());
|
||||||
response.setHeader("Content-Disposition", "attachment; filename=\"" + encodeName + "\"; filename*=utf-8''" + encodeName);
|
response.setHeader("Content-Disposition", "attachment; filename=\"" + encodeName + "\"; filename*=utf-8''" + encodeName);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,4 +16,33 @@ public class PayAccountInfoBean {
|
||||||
*/
|
*/
|
||||||
String accountNumber;
|
String accountNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 账户名
|
||||||
|
*/
|
||||||
|
String accountName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 农民工工资代发账户
|
||||||
|
*/
|
||||||
|
String specialAccountSuffix;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专户属地
|
||||||
|
*/
|
||||||
|
String accountTerritory;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开户行
|
||||||
|
*/
|
||||||
|
String openingBank;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开户行地址
|
||||||
|
*/
|
||||||
|
String openingBankAddress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开户日期
|
||||||
|
*/
|
||||||
|
String openingAccountDate;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -93,30 +93,40 @@ public class PayAccountInfoServiceImpl implements PayAccountInfoService {
|
||||||
}
|
}
|
||||||
// 导出标题
|
// 导出标题
|
||||||
ExcelWriter writer = cn.hutool.poi.excel.ExcelUtil.getWriter(true);
|
ExcelWriter writer = cn.hutool.poi.excel.ExcelUtil.getWriter(true);
|
||||||
writer.merge(5, fileName,false);
|
writer.merge(8, fileName,false);
|
||||||
|
|
||||||
// 合并二级表头
|
// 合并二级表头
|
||||||
writer.writeCellValue(0,1,"序号");
|
writer.writeCellValue(0,1,"序号");
|
||||||
writer.setColumnWidth(0, 8);
|
writer.setColumnWidth(0, 8);
|
||||||
writer.writeCellValue(1,1,"付款账户名称");
|
writer.writeCellValue(1,1,"付账户名称");
|
||||||
writer.setColumnWidth(1, 25);
|
writer.setColumnWidth(1, 25);
|
||||||
writer.writeCellValue(2,1,"账户");
|
writer.writeCellValue(2,1,"账户");
|
||||||
writer.setColumnWidth(2, 35);
|
writer.setColumnWidth(2, 35);
|
||||||
writer.writeCellValue(3,1,"备注");
|
writer.writeCellValue(3,1,"开户行");
|
||||||
writer.setColumnWidth(3, 35);
|
writer.setColumnWidth(3, 35);
|
||||||
writer.writeCellValue(4,1,"操作人");
|
writer.writeCellValue(4,1,"开户行地址");
|
||||||
writer.setColumnWidth(4, 10);
|
writer.setColumnWidth(4, 35);
|
||||||
writer.writeCellValue(5,1,"操作时间");
|
writer.writeCellValue(5,1,"开户时间");
|
||||||
writer.setColumnWidth(5, 25);
|
writer.setColumnWidth(4, 35);
|
||||||
|
writer.writeCellValue(6,1,"备注");
|
||||||
|
writer.setColumnWidth(5, 35);
|
||||||
|
writer.writeCellValue(7,1,"操作人");
|
||||||
|
writer.setColumnWidth(6, 10);
|
||||||
|
writer.writeCellValue(8,1,"操作时间");
|
||||||
|
writer.setColumnWidth(8, 45);
|
||||||
|
|
||||||
// 设置表头高度、单元格宽度
|
// 设置表头高度、单元格宽度
|
||||||
writer.setRowHeight(0, 35);
|
writer.setRowHeight(0, 35);
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < list.size(); i++) {
|
||||||
writer.writeCellValue(0, 2 + i, i + 1);
|
writer.writeCellValue(0, 2 + i, i + 1);
|
||||||
writer.writeCellValue(1, 2 + i, list.get(i).getName()==null?"":list.get(i).getName());
|
writer.writeCellValue(1, 2 + i, list.get(i).getName()==null?"":list.get(i).getName());
|
||||||
writer.writeCellValue(2, 2 + i, list.get(i).getAccountNumber()==null?"":list.get(i).getAccountNumber());
|
writer.writeCellValue(2, 2 + i, list.get(i).getAccountNumber()==null?"":list.get(i).getAccountNumber());
|
||||||
writer.writeCellValue(3, 2 + i, list.get(i).getRemarks()==null?"":list.get(i).getRemarks());
|
writer.writeCellValue(3, 2 + i, list.get(i).getOpeningBank()==null?"":list.get(i).getOpeningBank());
|
||||||
writer.writeCellValue(4, 2 + i, list.get(i).getCzyName()==null?"":list.get(i).getCzyName());
|
writer.writeCellValue(4, 2 + i, list.get(i).getOpeningBankAddress()==null?"":list.get(i).getOpeningBankAddress());
|
||||||
writer.writeCellValue(5, 2 + i, list.get(i).getCzsj()==null?"":list.get(i).getCzsj());
|
writer.writeCellValue(5, 2 + i, list.get(i).getOpeningAccountDate()==null?"":list.get(i).getOpeningAccountDate());
|
||||||
|
writer.writeCellValue(6, 2 + i, list.get(i).getRemarks()==null?"":list.get(i).getRemarks());
|
||||||
|
writer.writeCellValue(7, 2 + i, list.get(i).getCzyName()==null?"":list.get(i).getCzyName());
|
||||||
|
writer.writeCellValue(8, 2 + i, list.get(i).getCzsj()==null?"":list.get(i).getCzsj());
|
||||||
writer.setRowHeight(2 + i, 35);
|
writer.setRowHeight(2 + i, 35);
|
||||||
}
|
}
|
||||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
|
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
|
||||||
|
|
|
||||||
|
|
@ -104,6 +104,13 @@ public class PayableController {
|
||||||
return dao.getFKZH();
|
return dao.getFKZH();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@LogAnnotation
|
||||||
|
@GetMapping("/getBankAccount")
|
||||||
|
@ApiOperation(value = "银行账号下拉选")
|
||||||
|
public List<PayAccountInfoBean> getBankAccount() {
|
||||||
|
return dao.getBankAccount();
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/getUnit")
|
@PostMapping("/getUnit")
|
||||||
@ApiOperation(value = "查询")
|
@ApiOperation(value = "查询")
|
||||||
@PreAuthorize("hasAuthority('sys:unit:query')")
|
@PreAuthorize("hasAuthority('sys:unit:query')")
|
||||||
|
|
|
||||||
|
|
@ -83,4 +83,6 @@ public interface PayableDao {
|
||||||
|
|
||||||
|
|
||||||
List<Integer> getHTIDByMC(String htmc);
|
List<Integer> getHTIDByMC(String htmc);
|
||||||
|
|
||||||
|
List<PayAccountInfoBean> getBankAccount();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,5 +52,8 @@ public class PayableBean {
|
||||||
String gyssl;//供应商数量
|
String gyssl;//供应商数量
|
||||||
String ht;//对应的合同id
|
String ht;//对应的合同id
|
||||||
String department;//组织机构
|
String department;//组织机构
|
||||||
|
Integer accountId;//应付款账号
|
||||||
|
String accountName;//应付款账号
|
||||||
|
Integer personNum;//人次
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.bonus.boot.manager.ca.im.service;
|
package com.bonus.boot.manager.ca.im.service;
|
||||||
|
|
||||||
|
|
||||||
|
import com.bonus.boot.manager.ca.bm.entity.PayAccountInfoBean;
|
||||||
import com.bonus.boot.manager.ca.bm.entity.SupplierInfoBean;
|
import com.bonus.boot.manager.ca.bm.entity.SupplierInfoBean;
|
||||||
import com.bonus.boot.manager.ca.im.entity.PayableBean;
|
import com.bonus.boot.manager.ca.im.entity.PayableBean;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.bonus.boot.manager.ca.im.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.io.IoUtil;
|
import cn.hutool.core.io.IoUtil;
|
||||||
import cn.hutool.poi.excel.ExcelWriter;
|
import cn.hutool.poi.excel.ExcelWriter;
|
||||||
|
import com.bonus.boot.manager.ca.bm.entity.PayAccountInfoBean;
|
||||||
import com.bonus.boot.manager.ca.bm.entity.SupplierInfoBean;
|
import com.bonus.boot.manager.ca.bm.entity.SupplierInfoBean;
|
||||||
import com.bonus.boot.manager.ca.im.dao.PayableDao;
|
import com.bonus.boot.manager.ca.im.dao.PayableDao;
|
||||||
import com.bonus.boot.manager.ca.im.entity.PayableBean;
|
import com.bonus.boot.manager.ca.im.entity.PayableBean;
|
||||||
|
|
@ -71,7 +72,6 @@ public class PayableServiceImpl implements PayableService {
|
||||||
List<Long> integerList = new ArrayList<>();
|
List<Long> integerList = new ArrayList<>();
|
||||||
collect.forEach((k,v) -> integerList.add(v));
|
collect.forEach((k,v) -> integerList.add(v));
|
||||||
|
|
||||||
|
|
||||||
String fileName = "应付录入信息";
|
String fileName = "应付录入信息";
|
||||||
//记录用于合并的rowIndex
|
//记录用于合并的rowIndex
|
||||||
ArrayList<HashMap<String, Integer>> mergeRows = new ArrayList<>();
|
ArrayList<HashMap<String, Integer>> mergeRows = new ArrayList<>();
|
||||||
|
|
@ -90,7 +90,7 @@ public class PayableServiceImpl implements PayableService {
|
||||||
}
|
}
|
||||||
// 导出标题
|
// 导出标题
|
||||||
ExcelWriter writer = cn.hutool.poi.excel.ExcelUtil.getWriter(true);
|
ExcelWriter writer = cn.hutool.poi.excel.ExcelUtil.getWriter(true);
|
||||||
writer.merge(12, fileName,false);
|
writer.merge(14, fileName,false);
|
||||||
|
|
||||||
// 合并二级表头
|
// 合并二级表头
|
||||||
writer.writeCellValue(0,1,"序号");
|
writer.writeCellValue(0,1,"序号");
|
||||||
|
|
@ -109,16 +109,20 @@ public class PayableServiceImpl implements PayableService {
|
||||||
writer.setColumnWidth(6, 15);
|
writer.setColumnWidth(6, 15);
|
||||||
writer.writeCellValue(7,1,"商品名称");
|
writer.writeCellValue(7,1,"商品名称");
|
||||||
writer.setColumnWidth(7, 15);
|
writer.setColumnWidth(7, 15);
|
||||||
writer.writeCellValue(8,1,"金额");
|
writer.writeCellValue(8,1,"付款账号");
|
||||||
writer.setColumnWidth(8, 15);
|
writer.setColumnWidth(8, 15);
|
||||||
writer.writeCellValue(9,1,"发票号码");
|
writer.writeCellValue(9,1,"金额");
|
||||||
writer.setColumnWidth(9, 20);
|
writer.setColumnWidth(9, 15);
|
||||||
writer.writeCellValue(10,1,"开票金额");
|
writer.writeCellValue(10,1,"人次");
|
||||||
writer.setColumnWidth(10, 15);
|
writer.setColumnWidth(10, 15);
|
||||||
writer.writeCellValue(11,1,"制单人");
|
writer.writeCellValue(11,1,"发票号码");
|
||||||
writer.setColumnWidth(11, 15);
|
writer.setColumnWidth(11, 20);
|
||||||
writer.writeCellValue(12,1,"摘要");
|
writer.writeCellValue(12,1,"开票金额");
|
||||||
writer.setColumnWidth(12, 20);
|
writer.setColumnWidth(12, 15);
|
||||||
|
writer.writeCellValue(13,1,"制单人");
|
||||||
|
writer.setColumnWidth(13, 15);
|
||||||
|
writer.writeCellValue(14,1,"摘要");
|
||||||
|
writer.setColumnWidth(14, 20);
|
||||||
// 设置表头高度、单元格宽度
|
// 设置表头高度、单元格宽度
|
||||||
writer.setRowHeight(0, 35);
|
writer.setRowHeight(0, 35);
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
|
@ -130,11 +134,13 @@ public class PayableServiceImpl implements PayableService {
|
||||||
writer.writeCellValue(5, 2 + i, list.get(i).getGysmc()==null?"":list.get(i).getGysmc());
|
writer.writeCellValue(5, 2 + i, list.get(i).getGysmc()==null?"":list.get(i).getGysmc());
|
||||||
writer.writeCellValue(6, 2 + i, list.get(i).getSpbh()==null?"":list.get(i).getSpbh());
|
writer.writeCellValue(6, 2 + i, list.get(i).getSpbh()==null?"":list.get(i).getSpbh());
|
||||||
writer.writeCellValue(7, 2 + i, list.get(i).getSpmc()==null?"":list.get(i).getSpmc());
|
writer.writeCellValue(7, 2 + i, list.get(i).getSpmc()==null?"":list.get(i).getSpmc());
|
||||||
writer.writeCellValue(8, 2 + i, list.get(i).getJe());
|
writer.writeCellValue(8, 2 + i, list.get(i).getAccountName());
|
||||||
writer.writeCellValue(9, 2 + i, list.get(i).getFphm()==null?"":list.get(i).getFphm());
|
writer.writeCellValue(9, 2 + i, list.get(i).getJe());
|
||||||
writer.writeCellValue(10, 2 + i, list.get(i).getKpje());
|
writer.writeCellValue(10, 2 + i, list.get(i).getPersonNum());
|
||||||
writer.writeCellValue(11, 2 + i, list.get(i).getZdr()==null?"":list.get(i).getZdr());
|
writer.writeCellValue(11, 2 + i, list.get(i).getFphm()==null?"":list.get(i).getFphm());
|
||||||
writer.writeCellValue(12, 2 + i, list.get(i).getSpzy()==null?"":list.get(i).getSpzy());
|
writer.writeCellValue(12, 2 + i, list.get(i).getKpje());
|
||||||
|
writer.writeCellValue(13, 2 + i, list.get(i).getZdr()==null?"":list.get(i).getZdr());
|
||||||
|
writer.writeCellValue(14, 2 + i, list.get(i).getSpzy()==null?"":list.get(i).getSpzy());
|
||||||
writer.setRowHeight(2 + i, 35);
|
writer.setRowHeight(2 + i, 35);
|
||||||
}
|
}
|
||||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
|
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
|
||||||
|
|
@ -584,4 +590,5 @@ public class PayableServiceImpl implements PayableService {
|
||||||
writer.close();
|
writer.close();
|
||||||
IoUtil.close(out);
|
IoUtil.close(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -104,12 +104,21 @@ public class ImportNoPhotoExcelHelper {
|
||||||
|
|
||||||
private static boolean checkModal(Sheet sheet, String className) {
|
private static boolean checkModal(Sheet sheet, String className) {
|
||||||
int colNum = 0;
|
int colNum = 0;
|
||||||
|
// 是否是招行新模板
|
||||||
|
boolean isNewModel = false;
|
||||||
if (className.equals("UploadPayrollBean")){
|
if (className.equals("UploadPayrollBean")){
|
||||||
colNum = sheet.getRow(1).getLastCellNum();
|
colNum = sheet.getRow(1).getLastCellNum();
|
||||||
}else if (className.equals("CareerBean")){
|
}else if (className.equals("CareerBean")){
|
||||||
colNum = sheet.getRow(1).getLastCellNum();
|
colNum = sheet.getRow(1).getLastCellNum();
|
||||||
}else if (className.equals("WagesDetailsBean")){
|
}else if (className.equals("WagesDetailsBean")){
|
||||||
colNum = sheet.getRow(5).getLastCellNum();
|
String applyDateTitle = sheet.getRow(4).getCell(0).getStringCellValue();
|
||||||
|
if(Objects.equals(applyDateTitle,"申请时间")){
|
||||||
|
isNewModel = true;
|
||||||
|
colNum = sheet.getRow(12).getLastCellNum();
|
||||||
|
}else{
|
||||||
|
colNum = sheet.getRow(5).getLastCellNum();
|
||||||
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
colNum = sheet.getRow(0).getLastCellNum();
|
colNum = sheet.getRow(0).getLastCellNum();
|
||||||
}
|
}
|
||||||
|
|
@ -123,7 +132,11 @@ public class ImportNoPhotoExcelHelper {
|
||||||
case "CareerBean":
|
case "CareerBean":
|
||||||
return colNum == 12;
|
return colNum == 12;
|
||||||
case "WagesDetailsBean":
|
case "WagesDetailsBean":
|
||||||
return colNum == 19;
|
if(isNewModel){
|
||||||
|
return colNum >= 7;
|
||||||
|
}else{
|
||||||
|
return colNum >= 18;
|
||||||
|
}
|
||||||
case "VoucherDetailsBean":
|
case "VoucherDetailsBean":
|
||||||
return colNum == 28;
|
return colNum == 28;
|
||||||
case "CCBWagesDetailsBean":
|
case "CCBWagesDetailsBean":
|
||||||
|
|
@ -140,8 +153,17 @@ public class ImportNoPhotoExcelHelper {
|
||||||
}
|
}
|
||||||
List<JSONObject> list = new ArrayList<>();
|
List<JSONObject> list = new ArrayList<>();
|
||||||
int last = 0;
|
int last = 0;
|
||||||
|
// 是否是招行新模板
|
||||||
|
boolean isNewModel = false;
|
||||||
|
Map<String, String> zhDataMap = new HashMap<>(); // 存放招行新模板通用数据
|
||||||
if (className.equals("WagesDetailsBean")){
|
if (className.equals("WagesDetailsBean")){
|
||||||
last = sheet.getRow(5).getLastCellNum();
|
String applyDateTitle = sheet.getRow(4).getCell(0).getStringCellValue();
|
||||||
|
if(Objects.equals(applyDateTitle,"申请时间")){
|
||||||
|
isNewModel = true;
|
||||||
|
last = sheet.getRow(12).getLastCellNum();
|
||||||
|
}else{
|
||||||
|
last = sheet.getRow(5).getLastCellNum();
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
last = sheet.getRow(0).getLastCellNum();
|
last = sheet.getRow(0).getLastCellNum();
|
||||||
}
|
}
|
||||||
|
|
@ -193,7 +215,54 @@ public class ImportNoPhotoExcelHelper {
|
||||||
if (row.getRowNum() < 2) continue;
|
if (row.getRowNum() < 2) continue;
|
||||||
break;
|
break;
|
||||||
case "WagesDetailsBean":
|
case "WagesDetailsBean":
|
||||||
if (row.getRowNum() < 6) continue;
|
if(isNewModel){
|
||||||
|
if (row.getRowNum() < 3) {
|
||||||
|
continue;
|
||||||
|
}else if(row.getRowNum() == 4){
|
||||||
|
// 申请时间、主账号
|
||||||
|
row.getCell(1).setCellType(CellType.STRING);
|
||||||
|
row.getCell(3).setCellType(CellType.STRING);
|
||||||
|
String applyDate = row.getCell(1).getStringCellValue();
|
||||||
|
String mainNumber = row.getCell(3).getStringCellValue();
|
||||||
|
if(StringUtils.isEmpty(applyDate)){
|
||||||
|
return R.fail("申请时间不能为空");
|
||||||
|
}
|
||||||
|
if(StringUtils.isEmpty(mainNumber)){
|
||||||
|
return R.fail("主账号不能为空");
|
||||||
|
}
|
||||||
|
zhDataMap.put("applyDate",applyDate);
|
||||||
|
zhDataMap.put("mainNumber",mainNumber);
|
||||||
|
continue;
|
||||||
|
}else if(row.getRowNum() == 7){
|
||||||
|
// 业务参考号、批次摘要/备注
|
||||||
|
row.getCell(1).setCellType(CellType.STRING);
|
||||||
|
row.getCell(3).setCellType(CellType.STRING);
|
||||||
|
String serviceReferenceNumber = row.getCell(1).getStringCellValue();
|
||||||
|
String batchSummary = row.getCell(3).getStringCellValue();
|
||||||
|
if(StringUtils.isEmpty(serviceReferenceNumber)){
|
||||||
|
return R.fail("业务参考号不能为空");
|
||||||
|
}
|
||||||
|
if(StringUtils.isEmpty(batchSummary)){
|
||||||
|
return R.fail("批次摘要/备注不能为空");
|
||||||
|
}
|
||||||
|
zhDataMap.put("serviceReferenceNumber",serviceReferenceNumber);
|
||||||
|
zhDataMap.put("batchSummary",batchSummary);
|
||||||
|
continue;
|
||||||
|
}else if(row.getRowNum() == 8){
|
||||||
|
row.getCell(1).setCellType(CellType.STRING);
|
||||||
|
// 主账户名称
|
||||||
|
String masterAccountName = row.getCell(1).getStringCellValue();
|
||||||
|
if(StringUtils.isEmpty(masterAccountName)){
|
||||||
|
return R.fail("主账户名称不能为空");
|
||||||
|
}
|
||||||
|
zhDataMap.put("masterAccountName",masterAccountName);
|
||||||
|
continue;
|
||||||
|
}else if(row.getRowNum() == 3 || row.getRowNum() == 5 || row.getRowNum() == 6 || (row.getRowNum() > 8 && row.getRowNum() <= 12)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if (row.getRowNum() < 5) continue;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case "CCBWagesDetailsBean":
|
case "CCBWagesDetailsBean":
|
||||||
if (row.getRowNum() < 1) continue;
|
if (row.getRowNum() < 1) continue;
|
||||||
|
|
@ -351,45 +420,88 @@ public class ImportNoPhotoExcelHelper {
|
||||||
obj.put("suggest", row.getCell(11).getStringCellValue());
|
obj.put("suggest", row.getCell(11).getStringCellValue());
|
||||||
break;
|
break;
|
||||||
case "WagesDetailsBean":
|
case "WagesDetailsBean":
|
||||||
setExcleTString(19, row, 0);
|
int dynamicColumnCount = row.getLastCellNum();
|
||||||
if (row.getCell(0) != null)
|
setExcleTString(dynamicColumnCount, row, 0);
|
||||||
obj.put("zh", row.getCell(0).getStringCellValue());
|
if(!isNewModel){
|
||||||
if (row.getCell(1) != null)
|
if (row.getCell(0) != null)
|
||||||
obj.put("hm", row.getCell(1).getStringCellValue());
|
obj.put("zh", row.getCell(0).getStringCellValue());
|
||||||
if (row.getCell(2) != null)
|
if (row.getCell(1) != null)
|
||||||
obj.put("je", row.getCell(2).getStringCellValue());
|
obj.put("hm", row.getCell(1).getStringCellValue());
|
||||||
if (row.getCell(3) != null)
|
if (row.getCell(2) != null)
|
||||||
obj.put("sjdkje", row.getCell(3).getStringCellValue());
|
obj.put("je", row.getCell(2).getStringCellValue());
|
||||||
if (row.getCell(4) != null)
|
if (row.getCell(3) != null)
|
||||||
obj.put("zt", row.getCell(4).getStringCellValue());
|
obj.put("sjdkje", row.getCell(3).getStringCellValue());
|
||||||
if (row.getCell(5) != null)
|
if (row.getCell(4) != null)
|
||||||
obj.put("zs", row.getCell(5).getStringCellValue());
|
obj.put("zt", row.getCell(4).getStringCellValue());
|
||||||
if (row.getCell(6) != null)
|
if (row.getCell(5) != null)
|
||||||
obj.put("ckh", row.getCell(6).getStringCellValue());
|
obj.put("zs", row.getCell(5).getStringCellValue());
|
||||||
if (row.getCell(7) != null)
|
if (row.getCell(6) != null)
|
||||||
obj.put("ts", row.getCell(7).getStringCellValue());
|
obj.put("ckh", row.getCell(6).getStringCellValue());
|
||||||
if (row.getCell(8) != null)
|
if (row.getCell(7) != null)
|
||||||
obj.put("khh", row.getCell(8).getStringCellValue());
|
obj.put("ts", row.getCell(7).getStringCellValue());
|
||||||
if (row.getCell(9) != null)
|
if (row.getCell(8) != null)
|
||||||
obj.put("khd", row.getCell(9).getStringCellValue());
|
obj.put("khh", row.getCell(8).getStringCellValue());
|
||||||
if (row.getCell(10) != null)
|
if (row.getCell(9) != null)
|
||||||
obj.put("jbr", row.getCell(10).getStringCellValue());
|
obj.put("khd", row.getCell(9).getStringCellValue());
|
||||||
if (row.getCell(11) != null)
|
if (row.getCell(10) != null)
|
||||||
obj.put("qwr", row.getCell(11).getStringCellValue());
|
obj.put("jbr", row.getCell(10).getStringCellValue());
|
||||||
if (row.getCell(12) != null)
|
if (row.getCell(11) != null)
|
||||||
obj.put("sfkzhm", row.getCell(12).getStringCellValue());
|
obj.put("qwr", row.getCell(11).getStringCellValue());
|
||||||
if (row.getCell(13) != null)
|
if (row.getCell(12) != null)
|
||||||
obj.put("sfkzh", row.getCell(13).getStringCellValue());
|
obj.put("sfkzhm", row.getCell(12).getStringCellValue());
|
||||||
if (row.getCell(14) != null)
|
if (row.getCell(13) != null)
|
||||||
obj.put("yt", row.getCell(14).getStringCellValue());
|
obj.put("sfkzh", row.getCell(13).getStringCellValue());
|
||||||
if (row.getCell(15) != null)
|
if (row.getCell(14) != null)
|
||||||
obj.put("ywckh", row.getCell(15).getStringCellValue());
|
obj.put("yt", row.getCell(14).getStringCellValue());
|
||||||
if (row.getCell(16) != null)
|
if (row.getCell(15) != null)
|
||||||
obj.put("lx", row.getCell(16).getStringCellValue());
|
obj.put("ywckh", row.getCell(15).getStringCellValue());
|
||||||
if (row.getCell(17) != null)
|
if (row.getCell(16) != null)
|
||||||
obj.put("qdbz", row.getCell(17).getStringCellValue());
|
obj.put("lx", row.getCell(16).getStringCellValue());
|
||||||
if (row.getCell(18) != null)
|
if (row.getCell(17) != null)
|
||||||
obj.put("hnbz", row.getCell(18).getStringCellValue());
|
obj.put("qdbz", row.getCell(17).getStringCellValue());
|
||||||
|
// if (row.getCell(18) != null)
|
||||||
|
// obj.put("hnbz", row.getCell(18).getStringCellValue());
|
||||||
|
// 处理第18列之后的所有列
|
||||||
|
StringBuilder additionalData = new StringBuilder();
|
||||||
|
for (int i = 18; i < dynamicColumnCount; i++) {
|
||||||
|
Cell cell = row.getCell(i);
|
||||||
|
if (cell != null) {
|
||||||
|
String columnName = sheet.getRow(5).getCell(i).getStringCellValue();
|
||||||
|
String cellValue = cell.getStringCellValue();
|
||||||
|
if (additionalData.length() > 0) {
|
||||||
|
additionalData.append("; ");
|
||||||
|
}
|
||||||
|
additionalData.append(columnName).append(": ").append(cellValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (additionalData.length() > 0) {
|
||||||
|
obj.put("additionalData", additionalData.toString());
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if (row.getCell(0) != null) // 员工姓名
|
||||||
|
obj.put("hm", row.getCell(0).getStringCellValue());
|
||||||
|
if (row.getCell(1) != null) // 个人账号
|
||||||
|
obj.put("zh", row.getCell(1).getStringCellValue());
|
||||||
|
if (row.getCell(2) != null) // 开户行
|
||||||
|
obj.put("khh", row.getCell(2).getStringCellValue());
|
||||||
|
if (row.getCell(3) != null) // 代发金额(元)
|
||||||
|
obj.put("je", row.getCell(3).getStringCellValue());
|
||||||
|
if (row.getCell(4) != null) // 代发状态
|
||||||
|
obj.put("zt", row.getCell(4).getStringCellValue());
|
||||||
|
if (row.getCell(5) != null) // 失败原因
|
||||||
|
obj.put("ts", row.getCell(5).getStringCellValue());
|
||||||
|
if (row.getCell(6) != null) // 备注
|
||||||
|
obj.put("additionalData", row.getCell(6).getStringCellValue());
|
||||||
|
obj.put("zs", "网上代发代扣");
|
||||||
|
obj.put("jbr", zhDataMap.get("applyDate"));
|
||||||
|
obj.put("qwr", zhDataMap.get("applyDate"));
|
||||||
|
obj.put("sfkzhm", zhDataMap.get("masterAccountName"));
|
||||||
|
obj.put("sfkzh", zhDataMap.get("mainNumber"));
|
||||||
|
obj.put("yt", zhDataMap.get("batchSummary"));
|
||||||
|
obj.put("ywckh", zhDataMap.get("serviceReferenceNumber"));
|
||||||
|
obj.put("lx", "代发其他");
|
||||||
|
obj.put("qdbz", "超网代发");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case "CCBWagesDetailsBean":
|
case "CCBWagesDetailsBean":
|
||||||
setExcleTString(12, row, -1);
|
setExcleTString(12, row, -1);
|
||||||
|
|
|
||||||
|
|
@ -58,4 +58,6 @@ public class WagesDetailsBean {
|
||||||
private String cbi;
|
private String cbi;
|
||||||
private String zc;
|
private String zc;
|
||||||
|
|
||||||
|
private String additionalData;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -108,10 +108,10 @@ public class WagesServiceImpl implements WagesService {
|
||||||
lstError = lstError + "第" + obj.getString("rowNo") + "行,用途不能为空;";
|
lstError = lstError + "第" + obj.getString("rowNo") + "行,用途不能为空;";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (StringUtils.isBlank(ywckh)) {
|
// if (StringUtils.isBlank(ywckh)) {
|
||||||
lstError = lstError + "第" + obj.getString("rowNo") + "行,业务参考号不能为空;";
|
// lstError = lstError + "第" + obj.getString("rowNo") + "行,业务参考号不能为空;";
|
||||||
continue;
|
// continue;
|
||||||
}
|
// }
|
||||||
|
|
||||||
WagesDetailsBean bean = new WagesDetailsBean();
|
WagesDetailsBean bean = new WagesDetailsBean();
|
||||||
bean.setMonth(month);
|
bean.setMonth(month);
|
||||||
|
|
@ -156,6 +156,7 @@ public class WagesServiceImpl implements WagesService {
|
||||||
bean.setYwckh(ywckh);
|
bean.setYwckh(ywckh);
|
||||||
bean.setLx(obj.getString("lx"));
|
bean.setLx(obj.getString("lx"));
|
||||||
bean.setQdbz(obj.getString("qdbz"));
|
bean.setQdbz(obj.getString("qdbz"));
|
||||||
|
bean.setAdditionalData(obj.getString("additionalData"));
|
||||||
list.add(bean);
|
list.add(bean);
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
|
|
@ -380,7 +381,7 @@ public class WagesServiceImpl implements WagesService {
|
||||||
}
|
}
|
||||||
// 导出标题
|
// 导出标题
|
||||||
ExcelWriter writer = cn.hutool.poi.excel.ExcelUtil.getWriter(true);
|
ExcelWriter writer = cn.hutool.poi.excel.ExcelUtil.getWriter(true);
|
||||||
writer.merge(24, fileName,false);
|
writer.merge(25, fileName,false);
|
||||||
|
|
||||||
// 合并二级表头
|
// 合并二级表头
|
||||||
writer.writeCellValue(0,1,"序号");
|
writer.writeCellValue(0,1,"序号");
|
||||||
|
|
@ -433,6 +434,8 @@ public class WagesServiceImpl implements WagesService {
|
||||||
writer.setColumnWidth(23, 25);
|
writer.setColumnWidth(23, 25);
|
||||||
writer.writeCellValue(24,1,"渠道标志");
|
writer.writeCellValue(24,1,"渠道标志");
|
||||||
writer.setColumnWidth(24, 25);
|
writer.setColumnWidth(24, 25);
|
||||||
|
writer.writeCellValue(25,1,"额外数据");
|
||||||
|
writer.setColumnWidth(25, 25);
|
||||||
// 设置表头高度、单元格宽度
|
// 设置表头高度、单元格宽度
|
||||||
writer.setRowHeight(0, 35);
|
writer.setRowHeight(0, 35);
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
|
@ -461,6 +464,7 @@ public class WagesServiceImpl implements WagesService {
|
||||||
writer.writeCellValue(22, 2 + i, list.get(i).getYwckh()==null?"":list.get(i).getYwckh());
|
writer.writeCellValue(22, 2 + i, list.get(i).getYwckh()==null?"":list.get(i).getYwckh());
|
||||||
writer.writeCellValue(23, 2 + i, list.get(i).getLx()==null?"":list.get(i).getLx());
|
writer.writeCellValue(23, 2 + i, list.get(i).getLx()==null?"":list.get(i).getLx());
|
||||||
writer.writeCellValue(24, 2 + i, list.get(i).getQdbz()==null?"":list.get(i).getQdbz());
|
writer.writeCellValue(24, 2 + i, list.get(i).getQdbz()==null?"":list.get(i).getQdbz());
|
||||||
|
writer.writeCellValue(25, 2 + i, list.get(i).getAdditionalData() == null ? "" : list.get(i).getAdditionalData().replace("; ", "\n"));
|
||||||
writer.setRowHeight(2 + i, 35);
|
writer.setRowHeight(2 + i, 35);
|
||||||
}
|
}
|
||||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
|
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,8 @@ public class WagesStaticsServiceImpl implements WagesStaticsService {
|
||||||
writer.setColumnWidth(23, 25);
|
writer.setColumnWidth(23, 25);
|
||||||
writer.writeCellValue(24,1,"渠道标志");
|
writer.writeCellValue(24,1,"渠道标志");
|
||||||
writer.setColumnWidth(24, 25);
|
writer.setColumnWidth(24, 25);
|
||||||
|
writer.writeCellValue(25,1,"额外数据");
|
||||||
|
writer.setColumnWidth(25, 25);
|
||||||
// 设置表头高度、单元格宽度
|
// 设置表头高度、单元格宽度
|
||||||
writer.setRowHeight(0, 35);
|
writer.setRowHeight(0, 35);
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
|
@ -141,6 +143,8 @@ public class WagesStaticsServiceImpl implements WagesStaticsService {
|
||||||
writer.writeCellValue(22, 2 + i, list.get(i).getYwckh()==null?"":list.get(i).getYwckh());
|
writer.writeCellValue(22, 2 + i, list.get(i).getYwckh()==null?"":list.get(i).getYwckh());
|
||||||
writer.writeCellValue(23, 2 + i, list.get(i).getLx()==null?"":list.get(i).getLx());
|
writer.writeCellValue(23, 2 + i, list.get(i).getLx()==null?"":list.get(i).getLx());
|
||||||
writer.writeCellValue(24, 2 + i, list.get(i).getQdbz()==null?"":list.get(i).getQdbz());
|
writer.writeCellValue(24, 2 + i, list.get(i).getQdbz()==null?"":list.get(i).getQdbz());
|
||||||
|
writer.writeCellValue(25, 2 + i, list.get(i).getAdditionalData() == null ? "" : list.get(i).getAdditionalData().replace("; ", "\n"));
|
||||||
|
|
||||||
writer.setRowHeight(2 + i, 35);
|
writer.setRowHeight(2 + i, 35);
|
||||||
}
|
}
|
||||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
|
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@ server.port=2002
|
||||||
#????·??
|
#????·??
|
||||||
server.servlet.context-path=/yncw
|
server.servlet.context-path=/yncw
|
||||||
#mysql?????????
|
#mysql?????????
|
||||||
spring.datasource.url=jdbc:mysql://192.168.0.14:1103/yncw1?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
|
spring.datasource.url=jdbc:mysql://192.168.0.14:4418/yncw1?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
|
||||||
spring.datasource.username=root
|
spring.datasource.username=root
|
||||||
spring.datasource.password=dszadmin@ynreal14!
|
spring.datasource.password=Bonus@admin123!
|
||||||
#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/yncw_real?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
|
#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/yncw_real?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
|
||||||
#spring.datasource.username=mroot
|
#spring.datasource.username=mroot
|
||||||
#spring.datasource.password=bonus@admin123
|
#spring.datasource.password=bonus@admin123
|
||||||
|
|
@ -21,13 +21,13 @@ mybatis.type-aliases-package=com.bonus.boot.manager.*.entity
|
||||||
# ?????????????????????
|
# ?????????????????????
|
||||||
mybatis.configuration.map-underscore-to-camel-case=true
|
mybatis.configuration.map-underscore-to-camel-case=true
|
||||||
#redis config
|
#redis config
|
||||||
#spring.redis.host=127.0.0.1
|
spring.redis.host=127.0.0.1
|
||||||
#spring.redis.port=6379
|
spring.redis.port=6379
|
||||||
#spring.redis.password=
|
spring.redis.password=
|
||||||
|
|
||||||
spring.redis.host=192.168.0.14
|
#spring.redis.host=192.168.0.14
|
||||||
spring.redis.port=2001
|
#spring.redis.port=2001
|
||||||
spring.redis.password=Dszbns@Redis123!
|
#spring.redis.password=Dszbns@Redis123!
|
||||||
# ???
|
# ???
|
||||||
logging.config=classpath:logback-boot.xml
|
logging.config=classpath:logback-boot.xml
|
||||||
log.level.root=info
|
log.level.root=info
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -4,13 +4,14 @@
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.bonus.boot.manager.ca.bm.dao.PayAccountInfoDao">
|
<mapper namespace="com.bonus.boot.manager.ca.bm.dao.PayAccountInfoDao">
|
||||||
<insert id="add">
|
<insert id="add">
|
||||||
insert into ca_bm_pay_account_info (name,remark,oper_user,oper_time,is_active, account_number)
|
insert into ca_bm_pay_account_info (name,remark,oper_user,oper_time,is_active, account_number,opening_bank,opening_bank_address,opening_account_date)
|
||||||
values (#{name},#{remarks},#{czy},now(),'1', #{accountNumber})
|
values (#{name},#{remarks},#{czy},now(),'1', #{accountNumber},#{openingBank},#{openingBankAddress},#{openingAccountDate})
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<update id="update">
|
<update id="update">
|
||||||
update ca_bm_pay_account_info
|
update ca_bm_pay_account_info
|
||||||
set name = #{name},remark = #{remarks},oper_user = #{czy},oper_time = now(), account_number = #{accountNumber}
|
set name = #{name},remark = #{remarks},oper_user = #{czy},oper_time = now(), account_number = #{accountNumber},
|
||||||
|
opening_bank = #{openingBank},opening_bank_address = #{openingBankAddress},opening_account_date = #{openingAccountDate}
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
@ -30,25 +31,37 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getList" resultType="com.bonus.boot.manager.ca.bm.entity.PayAccountInfoBean">
|
<select id="getList" resultType="com.bonus.boot.manager.ca.bm.entity.PayAccountInfoBean">
|
||||||
select
|
select cbpai.id,
|
||||||
cbpai.id,
|
cbpai.name,
|
||||||
cbpai.name,
|
cbpai.account_number as accountNumber,
|
||||||
cbpai.account_number as accountNumber,
|
cbpai.opening_bank as openingBank,
|
||||||
cbpai.remark as remarks,
|
cbpai.opening_bank_address as openingBankAddress,
|
||||||
su.username as czyName,
|
cbpai.opening_account_date as openingAccountDate,
|
||||||
cbpai.oper_time as czsj
|
cbpai.remark as remarks,
|
||||||
|
su.username as czyName,
|
||||||
|
cbpai.oper_time as czsj
|
||||||
from ca_bm_pay_account_info cbpai
|
from ca_bm_pay_account_info cbpai
|
||||||
left join sys_user su on su.is_active = '1' and cbpai.oper_user = su.id
|
left join sys_user su on su.is_active = '1' and cbpai.oper_user = su.id
|
||||||
where cbpai.is_active = '1'
|
where cbpai.is_active = '1'
|
||||||
<if test="params.name != null and params.name !='' ">
|
<if test="params.name != null and params.name !='' ">
|
||||||
and cbpai.name like concat ('%',#{params.name},'%')
|
and cbpai.name like concat ('%',#{params.name},'%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="params.openingAccountDate != null and params.openingAccountDate !='' ">
|
||||||
|
and cbpai.opening_account_date like concat ('%',#{params.openingAccountDate},'%')
|
||||||
|
</if>
|
||||||
order by cbpai.oper_time desc
|
order by cbpai.oper_time desc
|
||||||
</select>
|
</select>
|
||||||
<select id="getById" resultType="com.bonus.boot.manager.ca.bm.entity.PayAccountInfoBean">
|
<select id="getById" resultType="com.bonus.boot.manager.ca.bm.entity.PayAccountInfoBean">
|
||||||
select id,name,remark as remarks, account_number as accountNumber
|
select id,
|
||||||
|
name,
|
||||||
|
remark as remarks,
|
||||||
|
account_number as accountNumber,
|
||||||
|
opening_bank as openingBank,
|
||||||
|
opening_bank_address as openingBankAddress,
|
||||||
|
opening_account_date as openingAccountDate
|
||||||
from ca_bm_pay_account_info
|
from ca_bm_pay_account_info
|
||||||
where is_active = '1' and id = #{id}
|
where is_active = '1'
|
||||||
|
and id = #{id}
|
||||||
</select>
|
</select>
|
||||||
<select id="getIdByName" resultType="java.lang.String">
|
<select id="getIdByName" resultType="java.lang.String">
|
||||||
select id
|
select id
|
||||||
|
|
@ -61,6 +74,9 @@
|
||||||
cbpai.id,
|
cbpai.id,
|
||||||
cbpai.name,
|
cbpai.name,
|
||||||
cbpai.account_number as accountNumber,
|
cbpai.account_number as accountNumber,
|
||||||
|
cbpai.opening_bank as openingBank,
|
||||||
|
cbpai.opening_bank_address as openingBankAddress,
|
||||||
|
cbpai.opening_account_date as openingAccountDate,
|
||||||
cbpai.remark as remarks,
|
cbpai.remark as remarks,
|
||||||
su.username as czyName,
|
su.username as czyName,
|
||||||
cbpai.oper_time as czsj
|
cbpai.oper_time as czsj
|
||||||
|
|
@ -70,6 +86,9 @@
|
||||||
<if test="name != null and name !='' ">
|
<if test="name != null and name !='' ">
|
||||||
and cbpai.name like concat ('%',#{name},'%')
|
and cbpai.name like concat ('%',#{name},'%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="openingAccountDate != null and openingAccountDate !='' ">
|
||||||
|
and cbpai.opening_account_date like concat ('%',#{openingAccountDate},'%')
|
||||||
|
</if>
|
||||||
order by cbpai.oper_time asc
|
order by cbpai.oper_time asc
|
||||||
</select>
|
</select>
|
||||||
<select id="getPayAccountInfoByName" resultType="com.bonus.boot.manager.ca.bm.entity.PayAccountInfoBean">
|
<select id="getPayAccountInfoByName" resultType="com.bonus.boot.manager.ca.bm.entity.PayAccountInfoBean">
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,13 @@
|
||||||
kpje,
|
kpje,
|
||||||
zdr,
|
zdr,
|
||||||
spzy,
|
spzy,
|
||||||
|
account_id,
|
||||||
|
person_num,
|
||||||
OPER_USER,
|
OPER_USER,
|
||||||
OPER_TIME,
|
OPER_TIME,
|
||||||
IS_ACTIVE
|
IS_ACTIVE
|
||||||
)
|
)
|
||||||
values (#{rq},#{pzh},#{htmcid},#{gysmc},#{spbh},#{je},#{fphm},#{kpje},#{zdr},#{spzy},#{czy},now(),'1')
|
values (#{rq},#{pzh},#{htmcid},#{gysmc},#{spbh},#{je},#{fphm},#{kpje},#{zdr},#{spzy},#{accountId},#{personNum},#{czy},now(),'1')
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<update id="update">
|
<update id="update">
|
||||||
|
|
@ -33,6 +35,8 @@
|
||||||
fphm = #{fphm},
|
fphm = #{fphm},
|
||||||
kpje = #{kpje},
|
kpje = #{kpje},
|
||||||
spzy = #{spzy},
|
spzy = #{spzy},
|
||||||
|
account_id = #{accountId},
|
||||||
|
person_num = #{personNum},
|
||||||
zdr = #{zdr},
|
zdr = #{zdr},
|
||||||
oper_user = #{czy},
|
oper_user = #{czy},
|
||||||
oper_time = now()
|
oper_time = now()
|
||||||
|
|
@ -103,11 +107,15 @@
|
||||||
su.id as zdrid,
|
su.id as zdrid,
|
||||||
cip.spzy,
|
cip.spzy,
|
||||||
cip.htmc as htmcid,
|
cip.htmc as htmcid,
|
||||||
po.name as department
|
po.name as department,
|
||||||
|
cbpa.id as accountId,
|
||||||
|
cbpa.name as accountName,
|
||||||
|
cip.person_num as personNum
|
||||||
from ca_im_payable cip
|
from ca_im_payable cip
|
||||||
left join ca_bm_supplier_info cbsi on cbsi.is_active = '1' and cbsi.id = cip.htmc
|
left join ca_bm_supplier_info cbsi on cbsi.is_active = '1' and cbsi.id = cip.htmc
|
||||||
left join pm_organization po on po.id = cbsi.department and po.is_active = '1'
|
left join pm_organization po on po.id = cbsi.department and po.is_active = '1'
|
||||||
left join ca_bm_goods_info cbgi on cbgi.is_active = '1' and cbgi.id = cip.spbh
|
left join ca_bm_goods_info cbgi on cbgi.is_active = '1' and cbgi.id = cip.spbh
|
||||||
|
left join ca_bm_pay_account_info cbpa on cbpa.id = cip.account_id and cbgi.is_active = '1'
|
||||||
left join sys_user su on su.is_active = '1' and su.id = cip.zdr
|
left join sys_user su on su.is_active = '1' and su.id = cip.zdr
|
||||||
where cip.is_active = '1') a
|
where cip.is_active = '1') a
|
||||||
where '1' = '1'
|
where '1' = '1'
|
||||||
|
|
@ -129,6 +137,9 @@
|
||||||
<if test="params.startTime != null and params.startTime !=''and params.endTime != null and params.endTime !='' ">
|
<if test="params.startTime != null and params.startTime !=''and params.endTime != null and params.endTime !='' ">
|
||||||
and a.rq between #{params.startTime} and #{params.endTime}
|
and a.rq between #{params.startTime} and #{params.endTime}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="params.accountId != null and params.accountId !='' ">
|
||||||
|
and a.accountId = #{params.accountId}
|
||||||
|
</if>
|
||||||
ORDER BY a.rq DESC
|
ORDER BY a.rq DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
@ -192,7 +203,9 @@
|
||||||
su.username as zdr,
|
su.username as zdr,
|
||||||
su.id as zdrid,
|
su.id as zdrid,
|
||||||
cip.spzy,
|
cip.spzy,
|
||||||
cip.htmc as htmcid
|
cip.htmc as htmcid,
|
||||||
|
cip.account_id as accountId,
|
||||||
|
cip.person_num as personNum
|
||||||
from ca_im_payable cip
|
from ca_im_payable cip
|
||||||
left join ca_bm_supplier_info cbsi on cbsi.is_active = '1' and cbsi.id = cip.htmc
|
left join ca_bm_supplier_info cbsi on cbsi.is_active = '1' and cbsi.id = cip.htmc
|
||||||
left join ca_bm_goods_info cbgi on cbgi.is_active = '1' and cbgi.id = cip.spbh
|
left join ca_bm_goods_info cbgi on cbgi.is_active = '1' and cbgi.id = cip.spbh
|
||||||
|
|
@ -291,11 +304,15 @@
|
||||||
su.username as zdr,
|
su.username as zdr,
|
||||||
cip.spzy,
|
cip.spzy,
|
||||||
cip.htmc as htmcid,
|
cip.htmc as htmcid,
|
||||||
po.name as department
|
po.name as department,
|
||||||
|
cbpa.id as accountId,
|
||||||
|
cbpa.name as accountName,
|
||||||
|
cip.person_num as personNum
|
||||||
from ca_im_payable cip
|
from ca_im_payable cip
|
||||||
left join ca_bm_supplier_info cbsi on cbsi.is_active = '1' and cbsi.id = cip.htmc
|
left join ca_bm_supplier_info cbsi on cbsi.is_active = '1' and cbsi.id = cip.htmc
|
||||||
left join pm_organization po on po.id = cbsi.department and po.is_active = '1'
|
left join pm_organization po on po.id = cbsi.department and po.is_active = '1'
|
||||||
left join ca_bm_goods_info cbgi on cbgi.is_active = '1' and cbgi.id = cip.spbh
|
left join ca_bm_goods_info cbgi on cbgi.is_active = '1' and cbgi.id = cip.spbh
|
||||||
|
left join ca_bm_pay_account_info cbpa on cbpa.id = cip.account_id and cbgi.is_active = '1'
|
||||||
left join sys_user su on su.is_active = '1' and su.id = cip.zdr
|
left join sys_user su on su.is_active = '1' and su.id = cip.zdr
|
||||||
where cip.is_active = '1') a
|
where cip.is_active = '1') a
|
||||||
where '1' = '1'
|
where '1' = '1'
|
||||||
|
|
@ -317,6 +334,9 @@
|
||||||
<if test="params.startTime != null and params.startTime !=''and params.endTime != null and params.endTime !='' ">
|
<if test="params.startTime != null and params.startTime !=''and params.endTime != null and params.endTime !='' ">
|
||||||
and a.rq between #{params.startTime} and #{params.endTime}
|
and a.rq between #{params.startTime} and #{params.endTime}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="params.accountId != null and params.accountId !='' ">
|
||||||
|
and a.accountId = #{params.accountId}
|
||||||
|
</if>
|
||||||
ORDER BY a.rq asc
|
ORDER BY a.rq asc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
@ -735,6 +755,10 @@
|
||||||
select id
|
select id
|
||||||
from ca_bm_supplier_info where IS_ACTIVE = '1' and CONTRACT_OR_PRO_NAME = #{htmc}
|
from ca_bm_supplier_info where IS_ACTIVE = '1' and CONTRACT_OR_PRO_NAME = #{htmc}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getBankAccount" resultType="com.bonus.boot.manager.ca.bm.entity.PayAccountInfoBean">
|
||||||
|
select id,name
|
||||||
|
from ca_bm_pay_account_info where IS_ACTIVE = '1'
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -36,10 +36,11 @@
|
||||||
sl.operation_function,
|
sl.operation_function,
|
||||||
sl.operation_record,
|
sl.operation_record,
|
||||||
sl.operation_status,
|
sl.operation_status,
|
||||||
sl.createTime
|
sl.createTime,
|
||||||
|
su.username
|
||||||
FROM
|
FROM
|
||||||
sys_logs sl
|
sys_logs sl
|
||||||
|
LEFT JOIN sys_user su ON sl.userId = su.id
|
||||||
<where>
|
<where>
|
||||||
<if test="user.username != null and user.username != ''">
|
<if test="user.username != null and user.username != ''">
|
||||||
and (
|
and (
|
||||||
|
|
|
||||||
|
|
@ -71,10 +71,10 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertWagesDetails">
|
<insert id="insertWagesDetails">
|
||||||
insert into vw_wages_details (ZH, HM, JE, SJDKJE, ZT, ZS, CKH, TS, KHH, KHD, JBR, QWR, SFKZHM, SFKZH, YT, YT_SZ, YWCKH, LX, QDBZ,VW_ID,MONTH)
|
insert into vw_wages_details (ZH, HM, JE, SJDKJE, ZT, ZS, CKH, TS, KHH, KHD, JBR, QWR, SFKZHM, SFKZH, YT, YT_SZ, YWCKH, LX, QDBZ,VW_ID,MONTH,additionalData)
|
||||||
VALUES
|
VALUES
|
||||||
<foreach collection="list" item="bean" separator=",">
|
<foreach collection="list" item="bean" separator=",">
|
||||||
(#{bean.zh},#{bean.hm},#{bean.je},#{bean.sjdkje},#{bean.zt},#{bean.zs},#{bean.ckh},#{bean.ts},#{bean.khh},#{bean.khd},#{bean.jbr},#{bean.qwr},#{bean.sfkzhm},#{bean.sfkzh},#{bean.yt},#{bean.ytSz},#{bean.ywckh},#{bean.lx},#{bean.qdbz},#{bean.vwId},#{bean.month})
|
(#{bean.zh},#{bean.hm},#{bean.je},#{bean.sjdkje},#{bean.zt},#{bean.zs},#{bean.ckh},#{bean.ts},#{bean.khh},#{bean.khd},#{bean.jbr},#{bean.qwr},#{bean.sfkzhm},#{bean.sfkzh},#{bean.yt},#{bean.ytSz},#{bean.ywckh},#{bean.lx},#{bean.qdbz},#{bean.vwId},#{bean.month},#{bean.additionalData})
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|
@ -104,7 +104,8 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getWagesDetails" resultType="com.bonus.boot.manager.wages.entity.WagesDetailsBean">
|
<select id="getWagesDetails" resultType="com.bonus.boot.manager.wages.entity.WagesDetailsBean">
|
||||||
select vwd.id,vwd.zh, vwd.hm, vwd.je, vwd.sjdkje, vwd.zt, vwd.zs, vwd.ckh, vwd.ts, vwd.khh, vwd.khd, vwd.jbr, vwd.qwr, vwd.sfkzhm, vwd.sfkzh, vwd.yt, vwd.yt_sz, vwd.ywckh, vwd.lx, vwd.qdbz, vvd.ZQ, vvd.PZBH, vvd.zy as summary, vvd.zgldx as sub, vvd.fzgldx1 as project, vvd.fzgldx2 as company
|
select vwd.id,vwd.zh, vwd.hm, vwd.je, vwd.sjdkje, vwd.zt, vwd.zs, vwd.ckh, vwd.ts, vwd.khh, vwd.khd, vwd.jbr, vwd.qwr, vwd.sfkzhm, vwd.sfkzh, vwd.yt, vwd.yt_sz, vwd.ywckh, vwd.lx, vwd.qdbz, vvd.ZQ, vvd.PZBH, vvd.zy as summary, vvd.zgldx as sub, vvd.fzgldx1 as project, vvd.fzgldx2 as company,
|
||||||
|
vwd.additionalData
|
||||||
from vw_wages_details vwd
|
from vw_wages_details vwd
|
||||||
left join vw_voucher_details vvd on vvd.PZBH_SZ = vwd.YT_SZ
|
left join vw_voucher_details vvd on vvd.PZBH_SZ = vwd.YT_SZ
|
||||||
where vwd.VW_ID = #{id}
|
where vwd.VW_ID = #{id}
|
||||||
|
|
@ -125,7 +126,7 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="checkFile" resultType="com.bonus.boot.manager.wages.entity.WagesBean" parameterType="com.bonus.boot.manager.wages.entity.WagesBean">
|
<select id="checkFile" resultType="com.bonus.boot.manager.wages.entity.WagesBean" parameterType="com.bonus.boot.manager.wages.entity.WagesBean">
|
||||||
select ID from vw_voucher_wages where FILE_NAME = #{fileName}
|
select ID from vw_voucher_wages where FILE_NAME = #{fileName} AND IS_ACTIVE = '1'
|
||||||
</select>
|
</select>
|
||||||
<select id="checkCCBWages" resultType="com.bonus.boot.manager.wages.entity.CCBWagesDetailsBean">
|
<select id="checkCCBWages" resultType="com.bonus.boot.manager.wages.entity.CCBWagesDetailsBean">
|
||||||
select id from vw_wages_ccb_details where account_name = #{accountName} and account = #{account} and month =
|
select id from vw_wages_ccb_details where account_name = #{accountName} and account = #{account} and month =
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
vwd.sfkzhm, vwd.sfkzh, vwd.yt, vwd.ywckh, vwd.lx, vwd.qdbz,vwd.YT_SZ,
|
vwd.sfkzhm, vwd.sfkzh, vwd.yt, vwd.ywckh, vwd.lx, vwd.qdbz,vwd.YT_SZ,
|
||||||
vvw1.title, vvw1.file_name, vvw1.file_url, vvw2.file_name as voucherFileName, vvw2.file_url as
|
vvw1.title, vvw1.file_name, vvw1.file_url, vvw2.file_name as voucherFileName, vvw2.file_url as
|
||||||
voucherFileUrl,
|
voucherFileUrl,
|
||||||
vvd.zq, vvd.zy, vvd.zgldx, vvd.fzgldx1, vvd.fzgldx2
|
vvd.zq, vvd.zy, vvd.zgldx, vvd.fzgldx1, vvd.fzgldx2, vwd.additionalData
|
||||||
FROM vw_wages_details vwd
|
FROM vw_wages_details vwd
|
||||||
LEFT JOIN vw_voucher_wages vvw1 ON vvw1.ID = vwd.VW_ID
|
LEFT JOIN vw_voucher_wages vvw1 ON vvw1.ID = vwd.VW_ID
|
||||||
LEFT JOIN vw_voucher_details vvd ON vvd.PZBH_SZ = vwd.YT_SZ
|
LEFT JOIN vw_voucher_details vvd ON vvd.PZBH_SZ = vwd.YT_SZ
|
||||||
|
|
@ -89,7 +89,7 @@
|
||||||
<select id="getWagesDetails" resultType="com.bonus.boot.manager.wages.entity.WagesDetailsBean">
|
<select id="getWagesDetails" resultType="com.bonus.boot.manager.wages.entity.WagesDetailsBean">
|
||||||
select vwd.id,vwd.zh, vwd.hm, vwd.je, vwd.sjdkje, vwd.zt, vwd.zs, vwd.ckh, vwd.ts, vwd.khh, vwd.khd, vwd.jbr,
|
select vwd.id,vwd.zh, vwd.hm, vwd.je, vwd.sjdkje, vwd.zt, vwd.zs, vwd.ckh, vwd.ts, vwd.khh, vwd.khd, vwd.jbr,
|
||||||
vwd.qwr, vwd.sfkzhm, vwd.sfkzh, vwd.yt, vwd.yt_sz, vwd.ywckh, vwd.lx, vwd.qdbz, vvd.ZQ, vvd.PZBH, vvd.zy as
|
vwd.qwr, vwd.sfkzhm, vwd.sfkzh, vwd.yt, vwd.yt_sz, vwd.ywckh, vwd.lx, vwd.qdbz, vvd.ZQ, vvd.PZBH, vvd.zy as
|
||||||
summary, vvd.zgldx as sub, vvd.fzgldx1 as project, vvd.fzgldx2 as company
|
summary, vvd.zgldx as sub, vvd.fzgldx1 as project, vvd.fzgldx2 as company, vwd.additionalData
|
||||||
from vw_wages_details vwd
|
from vw_wages_details vwd
|
||||||
left join vw_voucher_details vvd on vvd.PZBH_SZ = vwd.YT_SZ
|
left join vw_voucher_details vvd on vvd.PZBH_SZ = vwd.YT_SZ
|
||||||
where 1=1
|
where 1=1
|
||||||
|
|
|
||||||
|
|
@ -52,12 +52,27 @@
|
||||||
<option value="">请选择</option>
|
<option value="">请选择</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-input-inline"style="float: left;width: 49.5%;margin-top: 2%;margin-left: 18%">
|
||||||
|
<label class="layui-form-label" style="width: 35%"><i class="tip-required" style="color: red;font-size: 20px">*</i> 付款账号:</label>
|
||||||
|
<select name="accountId" id="accountId" lay-verify="required|accountId" lay-search="">
|
||||||
|
<option value="">请选择</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
||||||
<label class="layui-form-label" style="width: 30%"><i class="tip-required" style="color: red;font-size: 20px">*</i> 金额:</label>
|
<label class="layui-form-label" style="width: 30%"><i class="tip-required" style="color: red;font-size: 20px">*</i> 金额:</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input style="width: 79%" type="text" name="je" id="je" maxlength="50" lay-verify="required|je" class="layui-input" >
|
<input style="width: 79%" type="text" name="je" id="je" maxlength="10" lay-verify="required|je" lay-search="" class="layui-input" >
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
||||||
|
<label class="layui-form-label" style="width: 30%"><i class="tip-required" style="color: red;font-size: 20px">*</i> 人次:</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input style="width: 79%" type="text" name="personNum" id="personNum" maxlength="6" lay-verify="required|personNum" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
||||||
<label class="layui-form-label" style="width: 30%"><i class="tip-required" style="color: red;font-size: 20px">*</i> 发票号码:</label>
|
<label class="layui-form-label" style="width: 30%"><i class="tip-required" style="color: red;font-size: 20px">*</i> 发票号码:</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
|
|
@ -67,7 +82,7 @@
|
||||||
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
||||||
<label class="layui-form-label" style="width: 30%"><i class="tip-required" style="color: red;font-size: 20px">*</i> 开票金额:</label>
|
<label class="layui-form-label" style="width: 30%"><i class="tip-required" style="color: red;font-size: 20px">*</i> 开票金额:</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input style="width: 79%" type="text" name="kpje" id="kpje" maxlength="50" lay-verify="required|kpje" class="layui-input">
|
<input style="width: 79%" type="text" name="kpje" id="kpje" maxlength="10" lay-verify="required|kpje" class="layui-input">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
||||||
|
|
@ -137,6 +152,7 @@
|
||||||
layui.form.render('select')
|
layui.form.render('select')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
getBankAccount("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -189,6 +205,29 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getBankAccount(id) {
|
||||||
|
$("#accountId").empty();
|
||||||
|
$.ajax({
|
||||||
|
url: ctxPath + '/payable/getBankAccount',
|
||||||
|
method: 'get',
|
||||||
|
success: function (data) {
|
||||||
|
var str = '';
|
||||||
|
if (data.length > 0) {
|
||||||
|
str += '<option value="">请选择或搜索关键字</option>';
|
||||||
|
for (var i = 0; i < data.length; i++) {
|
||||||
|
if (id == data[i].id) {
|
||||||
|
str += '<option selected value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
|
||||||
|
} else {
|
||||||
|
str += '<option value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$("#accountId").append(str);
|
||||||
|
layui.form.render('select')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
function spbh(spid) {
|
function spbh(spid) {
|
||||||
$("#spbh").empty();
|
$("#spbh").empty();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
|
@ -249,7 +288,9 @@
|
||||||
spbh: [/^(?!-1).*$/, '请选择商品名称'],
|
spbh: [/^(?!-1).*$/, '请选择商品名称'],
|
||||||
zdr: [/^(?!-1).*$/, '请选择制单人'],
|
zdr: [/^(?!-1).*$/, '请选择制单人'],
|
||||||
je: [/(^$)|^[0-9]+(\.[0-9]{1,2})?$/,'请输入正确金额,小数点后二位'],
|
je: [/(^$)|^[0-9]+(\.[0-9]{1,2})?$/,'请输入正确金额,小数点后二位'],
|
||||||
kpje: [/(^$)|^[0-9]+(\.[0-9]{1,2})?$/,'请输入正确开票金额,小数点后二位']
|
kpje: [/(^$)|^[0-9]+(\.[0-9]{1,2})?$/,'请输入正确开票金额,小数点后二位'],
|
||||||
|
personNum: [/^[1-9]\d{0,5}$/,"请输入1-999999之间的正整数"],
|
||||||
|
accountId: [/^(?!-1).*$/, '请选择银行账号']
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -294,6 +335,8 @@
|
||||||
gysbh(data.gysmc,data.htmc);
|
gysbh(data.gysmc,data.htmc);
|
||||||
//$("#gysmc").val(data.gysmc);
|
//$("#gysmc").val(data.gysmc);
|
||||||
spbh(data.spid);
|
spbh(data.spid);
|
||||||
|
getBankAccount(data.accountId);
|
||||||
|
$("#personNum").val(data.personNum);
|
||||||
//$("#spbh").val(data.spbh);
|
//$("#spbh").val(data.spbh);
|
||||||
$("#je").val(data.je);
|
$("#je").val(data.je);
|
||||||
$("#fphm").val(data.fphm);
|
$("#fphm").val(data.fphm);
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
<form class="layui-form" action="" method="post" onsubmit="return false">
|
<form class="layui-form" action="" method="post" onsubmit="return false">
|
||||||
<input type="hidden" id="id" name="id">
|
<input type="hidden" id="id" name="id">
|
||||||
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
||||||
<label class="layui-form-label" style="width: 30%"><i class="tip-required" style="color: red;font-size: 20px">*</i> 付款账户名称:</label>
|
<label class="layui-form-label" style="width: 30%"><i class="tip-required" style="color: red;font-size: 20px">*</i> 账户名称:</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input style="width: 85%" type="text" name="name" id="name" maxlength="50" lay-verify="required" class="layui-input">
|
<input style="width: 85%" type="text" name="name" id="name" maxlength="50" lay-verify="required" class="layui-input">
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -32,6 +32,27 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
||||||
|
<label class="layui-form-label" style="width: 30%">开户行:</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input style="width: 85%" type="text" name="openingBank" id="openingBank" maxlength="50" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-input-inline" style="float: left;width: 50%;margin-top: 2%;margin-left: 20%" >
|
||||||
|
<label class="layui-form-label" style="width: 30%">开户行地址:</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input style="width: 85%" type="text" name="openingBankAddress" id="openingBankAddress" maxlength="50" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-input-inline" style="float: left;width: 50%;margin-top: 2%;margin-left: 20%">
|
||||||
|
<label class="layui-form-label" style="width: 30%">开户日期:</label>
|
||||||
|
<div class="layui-input-inline" style="width: 59%">
|
||||||
|
<input type="text" class="layui-input" id="openingAccountDate" name="openingAccountDate" placeholder="yyyy-MM-dd" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%">
|
<div class="layui-input-inline"style="float: left;width: 50%;margin-top: 2%;margin-left: 20%">
|
||||||
<label class="layui-form-label" style="width: 30%">备注:</label>
|
<label class="layui-form-label" style="width: 30%">备注:</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
|
|
@ -59,6 +80,11 @@
|
||||||
layui.use(['table', 'layer', 'laydate', 'jquery', 'form'], function(){
|
layui.use(['table', 'layer', 'laydate', 'jquery', 'form'], function(){
|
||||||
var layer = layui.layer;
|
var layer = layui.layer;
|
||||||
form = layui.form;
|
form = layui.form;
|
||||||
|
var laydate = layui.laydate;
|
||||||
|
// 渲染
|
||||||
|
laydate.render({
|
||||||
|
elem: '#openingAccountDate'
|
||||||
|
});
|
||||||
initData();
|
initData();
|
||||||
form.render();
|
form.render();
|
||||||
});
|
});
|
||||||
|
|
@ -74,6 +100,9 @@
|
||||||
$("#name").val(data.name);
|
$("#name").val(data.name);
|
||||||
$("#accountNumber").val(data.accountNumber);
|
$("#accountNumber").val(data.accountNumber);
|
||||||
$("#remarks").val(data.remarks);
|
$("#remarks").val(data.remarks);
|
||||||
|
$("#openingBank").val(data.openingBank);
|
||||||
|
$("#openingBankAddress").val(data.openingBankAddress);
|
||||||
|
$("#openingAccountDate").val(data.openingAccountDate);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -90,10 +119,12 @@
|
||||||
}else{
|
}else{
|
||||||
formdata.id = id;
|
formdata.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
formdata.name = $("#name").val();
|
formdata.name = $("#name").val();
|
||||||
formdata.accountNumber = $("#accountNumber").val();
|
formdata.accountNumber = $("#accountNumber").val();
|
||||||
formdata.remarks = $("#remarks").val();
|
formdata.remarks = $("#remarks").val();
|
||||||
|
formdata.openingBank = $("#openingBank").val();
|
||||||
|
formdata.openingBankAddress = $("#openingBankAddress").val();
|
||||||
|
formdata.openingAccountDate = $("#openingAccountDate").val();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type : 'post',
|
type : 'post',
|
||||||
url : ctxPath + '/payAccountInfo',
|
url : ctxPath + '/payAccountInfo',
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,11 @@
|
||||||
.wrap {
|
.wrap {
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
.layui-input, .layui-textarea {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
@ -36,27 +41,33 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
<input id="htmc" type="text" class="layui-input" style="width: 200px" placeholder="请输入合同名称">
|
<input id="htmc" type="text" class="layui-input" style="width: 140px " placeholder="请输入合同名称">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
<input id="gysmc" type="text" class="layui-input" style="width: 200px" placeholder="请输入供应商名称">
|
<input id="gysmc" type="text" class="layui-input" style="width: 160px " placeholder="请输入供应商名称">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
<input id="spbh" type="text" class="layui-input" style="width: 200px" placeholder="请输入商品编号">
|
<input id="spbh" type="text" class="layui-input" style="width: 150px " placeholder="请输入商品编号">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
<input id="pzh" type="text" class="layui-input" style="width: 200px" placeholder="请输入单号(凭证号)">
|
<input id="pzh" type="text" class="layui-input" style="width: 180px " placeholder="请输入单号(凭证号)">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
<input id="zdr" type="text" class="layui-input" style="width: 200px" placeholder="请输入制单人">
|
<input id="zdr" type="text" class="layui-input" style="width: 150px" placeholder="请输入制单人">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-inline" >
|
||||||
|
<div class="layui-input-inline" style="width: 200px">
|
||||||
|
<select name="accountId" id="accountId" lay-search="">
|
||||||
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -140,6 +151,8 @@
|
||||||
format: 'yyyy-MM-dd'
|
format: 'yyyy-MM-dd'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
getBankAccount("");
|
||||||
|
|
||||||
table.render({
|
table.render({
|
||||||
elem: '#demo'
|
elem: '#demo'
|
||||||
, url: ctxPath + '/payable/getList' //数据接口
|
, url: ctxPath + '/payable/getList' //数据接口
|
||||||
|
|
@ -165,7 +178,9 @@
|
||||||
, {field: 'gysmc', width: 200, align: 'center',title:'往来单位',templet: '#gysmcView'}
|
, {field: 'gysmc', width: 200, align: 'center',title:'往来单位',templet: '#gysmcView'}
|
||||||
, {field: 'spbh', width: 200, align: 'center', title: '商品编号'}
|
, {field: 'spbh', width: 200, align: 'center', title: '商品编号'}
|
||||||
, {field: 'spmc', width: 200, align: 'center', title: '商品名称'}
|
, {field: 'spmc', width: 200, align: 'center', title: '商品名称'}
|
||||||
|
, {field: 'accountName', width: 200, align: 'center', title: '付款账号'}
|
||||||
, {field: 'je', width: 200, align: 'center', title: '金额'}
|
, {field: 'je', width: 200, align: 'center', title: '金额'}
|
||||||
|
, {field: 'personNum', width: 200, align: 'center', title: '人次'}
|
||||||
, {field: 'fphm', width: 200, align: 'center', title: '发票号码'}
|
, {field: 'fphm', width: 200, align: 'center', title: '发票号码'}
|
||||||
, {field: 'kpje', width: 200, align: 'center', title: '开票金额'}
|
, {field: 'kpje', width: 200, align: 'center', title: '开票金额'}
|
||||||
, {field: 'zdr', width: 200, align: 'center', title: '制单人'}
|
, {field: 'zdr', width: 200, align: 'center', title: '制单人'}
|
||||||
|
|
@ -215,6 +230,29 @@
|
||||||
openForms("","新增");
|
openForms("","新增");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getBankAccount(id) {
|
||||||
|
$("#accountId").empty();
|
||||||
|
$.ajax({
|
||||||
|
url: ctxPath + '/payable/getBankAccount',
|
||||||
|
method: 'get',
|
||||||
|
success: function (data) {
|
||||||
|
var str = '';
|
||||||
|
if (data.length > 0) {
|
||||||
|
str += '<option value="">付款账号</option>';
|
||||||
|
for (var i = 0; i < data.length; i++) {
|
||||||
|
if (id == data[i].id) {
|
||||||
|
str += '<option selected value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
|
||||||
|
} else {
|
||||||
|
str += '<option value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$("#accountId").append(str);
|
||||||
|
layui.form.render('select')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增功能
|
* 新增功能
|
||||||
*/
|
*/
|
||||||
|
|
@ -307,6 +345,7 @@
|
||||||
spbh :$('#spbh').val(),
|
spbh :$('#spbh').val(),
|
||||||
pzh :$('#pzh').val(),
|
pzh :$('#pzh').val(),
|
||||||
zdr :$('#zdr').val(),
|
zdr :$('#zdr').val(),
|
||||||
|
accountId :$('#accountId').val(),
|
||||||
startTime :$('#startTime').val(),
|
startTime :$('#startTime').val(),
|
||||||
endTime :$('#endTime').val()
|
endTime :$('#endTime').val()
|
||||||
} //设定异步数据接口的额外参数
|
} //设定异步数据接口的额外参数
|
||||||
|
|
@ -317,7 +356,7 @@
|
||||||
$("#exportBt").click(function () {
|
$("#exportBt").click(function () {
|
||||||
var token = localStorage.getItem("token");
|
var token = localStorage.getItem("token");
|
||||||
var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
|
var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
|
||||||
var url = ctxPath + "/payable/exp?htmc=" + $("#htmc").val().trim()+"&gysmc=" + $("#gysmc").val().trim()+ "&spbh=" + $("#spbh").val().trim()+"&pzh=" + $("#pzh").val().trim()+"&zdr=" + $("#zdr").val().trim()+"&startTime=" + $("#startTime").val().trim()+"&endTime=" + $("#endTime").val().trim()+"&token=" + token;
|
var url = ctxPath + "/payable/exp?htmc=" + $("#htmc").val().trim()+"&gysmc=" + $("#gysmc").val().trim()+ "&spbh=" + $("#spbh").val().trim()+"&pzh=" + $("#pzh").val().trim()+"&zdr=" + $("#zdr").val().trim()+"&accountId=" + $("#accountId").val().trim()+"&startTime=" + $("#startTime").val().trim()+"&endTime=" + $("#endTime").val().trim()+"&token=" + token;
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
xhr.open("get", url, true);
|
xhr.open("get", url, true);
|
||||||
xhr.responseType = "blob"; // 转换流
|
xhr.responseType = "blob"; // 转换流
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,11 @@
|
||||||
placeholder="请输入账户名称">
|
placeholder="请输入账户名称">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-inline">
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input id="openingAccountDate" name="openingAccountDate" type="text" class="layui-input" style="border: 1px solid #D2D2D2; width: 100%" readonly placeholder="开户日期">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<button id="searchBt" class="layui-btn" permission="sys:pay:query"
|
<button id="searchBt" class="layui-btn" permission="sys:pay:query"
|
||||||
style="margin-top: -0.3%; margin-left: 15px;">
|
style="margin-top: -0.3%; margin-left: 15px;">
|
||||||
搜索
|
搜索
|
||||||
|
|
@ -97,6 +102,13 @@
|
||||||
form.render();
|
form.render();
|
||||||
form.verify({});
|
form.verify({});
|
||||||
|
|
||||||
|
var laydate = layui.laydate;
|
||||||
|
// 渲染
|
||||||
|
laydate.render({
|
||||||
|
elem: '#openingAccountDate'
|
||||||
|
,type: 'month'
|
||||||
|
});
|
||||||
|
|
||||||
table.render({
|
table.render({
|
||||||
elem: '#demo'
|
elem: '#demo'
|
||||||
, url: ctxPath + '/payAccountInfo/getList' //数据接口
|
, url: ctxPath + '/payAccountInfo/getList' //数据接口
|
||||||
|
|
@ -104,17 +116,21 @@
|
||||||
, toolbar: true //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
|
, toolbar: true //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
|
||||||
, defaultToolbar: []
|
, defaultToolbar: []
|
||||||
, where: {
|
, where: {
|
||||||
name: $('#name').val()
|
name: $('#name').val(),
|
||||||
|
openingAccountDate: $('#openingAccountDate').val()
|
||||||
} //post请求必须加where ,post请求需要的参数
|
} //post请求必须加where ,post请求需要的参数
|
||||||
, cellMinWidth: 80
|
, cellMinWidth: 80
|
||||||
, cols: [[ //表头
|
, cols: [[ //表头
|
||||||
{field: 'number', width: 100, title: '序号', align: 'center', type: 'numbers'}
|
{field: 'number', width: 100, title: '序号', align: 'center', type: 'numbers'}
|
||||||
, {field: 'name', align: 'center', title: '付款账户名称'}
|
, {field: 'name', align: 'center', title: '账户名称'}
|
||||||
, {
|
, {
|
||||||
field: 'accountNumber', align: 'center', title: '账户', templet: function (d) {
|
field: 'accountNumber', align: 'center', title: '账户', templet: function (d) {
|
||||||
return maskAccountNumber(d.accountNumber);
|
return maskAccountNumber(d.accountNumber);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
, {field: 'openingBank', align: 'center', title: '开户行'}
|
||||||
|
, {field: 'openingBankAddress', align: 'center', title: '开户行地址'}
|
||||||
|
, {field: 'openingAccountDate', align: 'center', title: '开户时间'}
|
||||||
, {field: 'remarks', align: 'center', title: '备注'}
|
, {field: 'remarks', align: 'center', title: '备注'}
|
||||||
, {field: 'czyName', align: 'center', title: '操作人'}
|
, {field: 'czyName', align: 'center', title: '操作人'}
|
||||||
, {field: 'czsj', align: 'center', title: '操作时间'}
|
, {field: 'czsj', align: 'center', title: '操作时间'}
|
||||||
|
|
@ -190,7 +206,8 @@
|
||||||
, method: 'post' //方式默认是get
|
, method: 'post' //方式默认是get
|
||||||
, page: true
|
, page: true
|
||||||
, where: {
|
, where: {
|
||||||
name: $('#name').val()
|
name: $('#name').val(),
|
||||||
|
openingAccountDate: $('#openingAccountDate').val()
|
||||||
} //设定异步数据接口的额外参数
|
} //设定异步数据接口的额外参数
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
@ -198,7 +215,7 @@
|
||||||
$("#exportBt").click(function () {
|
$("#exportBt").click(function () {
|
||||||
var token = localStorage.getItem("token");
|
var token = localStorage.getItem("token");
|
||||||
var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
|
var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
|
||||||
var url = ctxPath + "/payAccountInfo/exp?name=" + $("#name").val().trim() + "&token=" + token;
|
var url = ctxPath + "/payAccountInfo/exp?name=" + $("#name").val().trim() + "&openingAccountDate=" + $("#openingAccountDate").val().trim() + "&token=" + token;
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
xhr.open("get", url, true);
|
xhr.open("get", url, true);
|
||||||
xhr.responseType = "blob"; // 转换流
|
xhr.responseType = "blob"; // 转换流
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,7 @@
|
||||||
uploadInst.config.elem.next()[0].value = '';
|
uploadInst.config.elem.next()[0].value = '';
|
||||||
|
|
||||||
obj.preview(function(index, file, result){
|
obj.preview(function(index, file, result){
|
||||||
|
$('#fileName').html(file.name);
|
||||||
i++;
|
i++;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@
|
||||||
<div class="layui-inline" style="float: right;">
|
<div class="layui-inline" style="float: right;">
|
||||||
<button type="button" class="layui-btn" onclick="downloadVoucher()">下载凭证模板</button>
|
<button type="button" class="layui-btn" onclick="downloadVoucher()">下载凭证模板</button>
|
||||||
<button type="button" class="layui-btn" onclick="downloadWages()">下载工资册模板</button>
|
<button type="button" class="layui-btn" onclick="downloadWages()">下载工资册模板</button>
|
||||||
|
<button type="button" class="layui-btn" onclick="downloadNewWages()">下载工资册模板(新)</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -190,6 +191,13 @@
|
||||||
function downloadWages() {
|
function downloadWages() {
|
||||||
window.open(ctxPath + "/download/download?filename=招商银行工资导入模板.xlsx")
|
window.open(ctxPath + "/download/download?filename=招商银行工资导入模板.xlsx")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载工资册模板(新)
|
||||||
|
* */
|
||||||
|
function downloadNewWages() {
|
||||||
|
window.open(ctxPath + "/download/download?filename=zh_model.xlsx")
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -48,6 +48,7 @@
|
||||||
<div class="layui-inline" style="float: right;">
|
<div class="layui-inline" style="float: right;">
|
||||||
<button type="button" class="layui-btn" onclick="downloadVoucher()">下载凭证模板</button>
|
<button type="button" class="layui-btn" onclick="downloadVoucher()">下载凭证模板</button>
|
||||||
<button type="button" class="layui-btn" onclick="downloadWages()">下载工资册模板</button>
|
<button type="button" class="layui-btn" onclick="downloadWages()">下载工资册模板</button>
|
||||||
|
<button type="button" class="layui-btn" onclick="downloadNewWages()" style="display: none">下载工资册模板(贵阳)</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -190,6 +191,14 @@
|
||||||
function downloadWages() {
|
function downloadWages() {
|
||||||
window.open(ctxPath + "/download/download?filename=建设银行工资导入模板.xlsx")
|
window.open(ctxPath + "/download/download?filename=建设银行工资导入模板.xlsx")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载工资册模板(贵阳)
|
||||||
|
* */
|
||||||
|
function downloadNewWages() {
|
||||||
|
window.open(ctxPath + "/download/download?filename=jh_gy_gzc.xlsx")
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -164,6 +164,20 @@
|
||||||
, {field: 'ywckh', width: 200, align: 'center', title: '业务参考号'}
|
, {field: 'ywckh', width: 200, align: 'center', title: '业务参考号'}
|
||||||
, {field: 'lx', width: 200, align: 'center', title: '类型'}
|
, {field: 'lx', width: 200, align: 'center', title: '类型'}
|
||||||
, {field: 'qdbz', width: 200, align: 'center', title: '渠道标志'}
|
, {field: 'qdbz', width: 200, align: 'center', title: '渠道标志'}
|
||||||
|
, {field: 'additionalData', width: 200, align: 'center', title: '额外数据',templet: function (d) {
|
||||||
|
const additionalData = d.additionalData;
|
||||||
|
if (additionalData != null && additionalData !== '' && additionalData !== 'null') {
|
||||||
|
var additionalDataArr = additionalData.split(';');
|
||||||
|
var additionalDataHtml = '';
|
||||||
|
for (var i = 0; i < additionalDataArr.length; i++) {
|
||||||
|
additionalDataHtml += additionalDataArr[i] + '<br>';
|
||||||
|
}
|
||||||
|
return additionalDataHtml;
|
||||||
|
} else {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
, {width: 200, align: 'center',title:'凭证附件', templet: '#voucher'}
|
, {width: 200, align: 'center',title:'凭证附件', templet: '#voucher'}
|
||||||
, {width: 200, align: 'center',title:'工资附件', templet: '#wages'}
|
, {width: 200, align: 'center',title:'工资附件', templet: '#wages'}
|
||||||
]]
|
]]
|
||||||
|
|
|
||||||
|
|
@ -81,13 +81,16 @@
|
||||||
{field:'ano', width:80, title: '序号' ,templet:function(res){
|
{field:'ano', width:80, title: '序号' ,templet:function(res){
|
||||||
return res.LAY_INDEX;
|
return res.LAY_INDEX;
|
||||||
}}
|
}}
|
||||||
,{field: 'userid', width: 190, title: '用户名'}
|
,{field: 'username', width: 190, title: '用户名'}
|
||||||
,{field: 'isApp', title: '操作子系统'}
|
,{field: 'isApp', title: '操作子系统'}
|
||||||
,{field: 'module', width:190, title: '操作模块'}
|
,{field: 'module', width:190, title: '操作模块'}
|
||||||
,{field: 'operationFunction', title: '操作功能'}
|
// ,{field: 'operationFunction', title: '操作功能'}
|
||||||
,{field: 'operationRecord', title: '操作记录'}
|
// ,{field: 'operationRecord', title: '操作记录'}
|
||||||
,{field: 'createtime', title: '操作时间'}
|
,{field: 'createtime', title: '操作时间'}
|
||||||
,{field: 'operationStatus', title: '操作状态'}
|
,{field: 'operationStatus', title: '操作状态',
|
||||||
|
templet: function (d) {
|
||||||
|
return '成功';
|
||||||
|
}}
|
||||||
]],
|
]],
|
||||||
id : 'menuTable'
|
id : 'menuTable'
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue