diff --git a/src/main/java/com/bonus/boot/manager/ca/bm/entity/PayAccountInfoBean.java b/src/main/java/com/bonus/boot/manager/ca/bm/entity/PayAccountInfoBean.java index 85f7fb2..6fc33c4 100644 --- a/src/main/java/com/bonus/boot/manager/ca/bm/entity/PayAccountInfoBean.java +++ b/src/main/java/com/bonus/boot/manager/ca/bm/entity/PayAccountInfoBean.java @@ -16,4 +16,28 @@ public class PayAccountInfoBean { */ String accountNumber; + /** + * 账户名 + */ + String accountName; + + /** + * 农民工工资代发账户 + */ + String specialAccountSuffix; + + /** + * 专户属地 + */ + String accountTerritory; + + /** + * 开户行 + */ + String openingBank; + + /** + * 开户行地址 + */ + String openingBankAddress; } diff --git a/src/main/java/com/bonus/boot/manager/ca/bm/service/impl/PayAccountInfoServiceImpl.java b/src/main/java/com/bonus/boot/manager/ca/bm/service/impl/PayAccountInfoServiceImpl.java index 434bace..f371283 100644 --- a/src/main/java/com/bonus/boot/manager/ca/bm/service/impl/PayAccountInfoServiceImpl.java +++ b/src/main/java/com/bonus/boot/manager/ca/bm/service/impl/PayAccountInfoServiceImpl.java @@ -93,30 +93,37 @@ public class PayAccountInfoServiceImpl implements PayAccountInfoService { } // 导出标题 ExcelWriter writer = cn.hutool.poi.excel.ExcelUtil.getWriter(true); - writer.merge(5, fileName,false); + writer.merge(7, fileName,false); // 合并二级表头 writer.writeCellValue(0,1,"序号"); writer.setColumnWidth(0, 8); - writer.writeCellValue(1,1,"付款账户名称"); + writer.writeCellValue(1,1,"付账户名称"); writer.setColumnWidth(1, 25); writer.writeCellValue(2,1,"账户"); writer.setColumnWidth(2, 35); - writer.writeCellValue(3,1,"备注"); + writer.writeCellValue(3,1,"开户行"); writer.setColumnWidth(3, 35); - writer.writeCellValue(4,1,"操作人"); - writer.setColumnWidth(4, 10); - writer.writeCellValue(5,1,"操作时间"); - writer.setColumnWidth(5, 25); + writer.writeCellValue(4,1,"开户行地址"); + writer.setColumnWidth(4, 35); + writer.writeCellValue(5,1,"备注"); + writer.setColumnWidth(5, 35); + writer.writeCellValue(6,1,"操作人"); + writer.setColumnWidth(6, 10); + writer.writeCellValue(7,1,"操作时间"); + writer.setColumnWidth(7, 25); + // 设置表头高度、单元格宽度 writer.setRowHeight(0, 35); for (int i = 0; i < list.size(); i++) { writer.writeCellValue(0, 2 + i, i + 1); 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(3, 2 + i, list.get(i).getRemarks()==null?"":list.get(i).getRemarks()); - writer.writeCellValue(4, 2 + i, list.get(i).getCzyName()==null?"":list.get(i).getCzyName()); - writer.writeCellValue(5, 2 + i, list.get(i).getCzsj()==null?"":list.get(i).getCzsj()); + writer.writeCellValue(3, 2 + i, list.get(i).getOpeningBank()==null?"":list.get(i).getOpeningBank()); + writer.writeCellValue(4, 2 + i, list.get(i).getOpeningBankAddress()==null?"":list.get(i).getOpeningBankAddress()); + writer.writeCellValue(5, 2 + i, list.get(i).getRemarks()==null?"":list.get(i).getRemarks()); + writer.writeCellValue(6, 2 + i, list.get(i).getCzyName()==null?"":list.get(i).getCzyName()); + writer.writeCellValue(7, 2 + i, list.get(i).getCzsj()==null?"":list.get(i).getCzsj()); writer.setRowHeight(2 + i, 35); } response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); diff --git a/src/main/java/com/bonus/boot/manager/manager/utils/ImportNoPhotoExcelHelper.java b/src/main/java/com/bonus/boot/manager/manager/utils/ImportNoPhotoExcelHelper.java index ba46be7..9e994f1 100644 --- a/src/main/java/com/bonus/boot/manager/manager/utils/ImportNoPhotoExcelHelper.java +++ b/src/main/java/com/bonus/boot/manager/manager/utils/ImportNoPhotoExcelHelper.java @@ -123,7 +123,7 @@ public class ImportNoPhotoExcelHelper { case "CareerBean": return colNum == 12; case "WagesDetailsBean": - return colNum == 19; + return colNum >= 18; case "VoucherDetailsBean": return colNum == 28; case "CCBWagesDetailsBean": @@ -351,7 +351,8 @@ public class ImportNoPhotoExcelHelper { obj.put("suggest", row.getCell(11).getStringCellValue()); break; case "WagesDetailsBean": - setExcleTString(19, row, 0); + int dynamicColumnCount = row.getLastCellNum(); + setExcleTString(dynamicColumnCount, row, 0); if (row.getCell(0) != null) obj.put("zh", row.getCell(0).getStringCellValue()); if (row.getCell(1) != null) @@ -388,8 +389,24 @@ public class ImportNoPhotoExcelHelper { obj.put("lx", row.getCell(16).getStringCellValue()); if (row.getCell(17) != null) obj.put("qdbz", row.getCell(17).getStringCellValue()); - if (row.getCell(18) != null) - obj.put("hnbz", row.getCell(18).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()); + } break; case "CCBWagesDetailsBean": setExcleTString(12, row, -1); diff --git a/src/main/java/com/bonus/boot/manager/wages/entity/WagesDetailsBean.java b/src/main/java/com/bonus/boot/manager/wages/entity/WagesDetailsBean.java index b54a76a..7cb938a 100644 --- a/src/main/java/com/bonus/boot/manager/wages/entity/WagesDetailsBean.java +++ b/src/main/java/com/bonus/boot/manager/wages/entity/WagesDetailsBean.java @@ -58,4 +58,6 @@ public class WagesDetailsBean { private String cbi; private String zc; + private String additionalData; + } diff --git a/src/main/java/com/bonus/boot/manager/wages/service/impl/WagesServiceImpl.java b/src/main/java/com/bonus/boot/manager/wages/service/impl/WagesServiceImpl.java index 808777a..cb457b1 100644 --- a/src/main/java/com/bonus/boot/manager/wages/service/impl/WagesServiceImpl.java +++ b/src/main/java/com/bonus/boot/manager/wages/service/impl/WagesServiceImpl.java @@ -108,10 +108,10 @@ public class WagesServiceImpl implements WagesService { lstError = lstError + "第" + obj.getString("rowNo") + "行,用途不能为空;"; continue; } - if (StringUtils.isBlank(ywckh)) { - lstError = lstError + "第" + obj.getString("rowNo") + "行,业务参考号不能为空;"; - continue; - } +// if (StringUtils.isBlank(ywckh)) { +// lstError = lstError + "第" + obj.getString("rowNo") + "行,业务参考号不能为空;"; +// continue; +// } WagesDetailsBean bean = new WagesDetailsBean(); bean.setMonth(month); @@ -156,6 +156,7 @@ public class WagesServiceImpl implements WagesService { bean.setYwckh(ywckh); bean.setLx(obj.getString("lx")); bean.setQdbz(obj.getString("qdbz")); + bean.setAdditionalData(obj.getString("additionalData")); list.add(bean); } }else { @@ -433,6 +434,8 @@ public class WagesServiceImpl implements WagesService { writer.setColumnWidth(23, 25); writer.writeCellValue(24,1,"渠道标志"); writer.setColumnWidth(24, 25); + writer.writeCellValue(25,1,"额外数据"); + writer.setColumnWidth(25, 25); // 设置表头高度、单元格宽度 writer.setRowHeight(0, 35); 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(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(25, 2 + i, list.get(i).getAdditionalData() == null ? "" : list.get(i).getAdditionalData().replace("; ", "\n")); writer.setRowHeight(2 + i, 35); } response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); diff --git a/src/main/java/com/bonus/boot/manager/wages/service/impl/WagesStaticsServiceImpl.java b/src/main/java/com/bonus/boot/manager/wages/service/impl/WagesStaticsServiceImpl.java index 3430fd0..754ade5 100644 --- a/src/main/java/com/bonus/boot/manager/wages/service/impl/WagesStaticsServiceImpl.java +++ b/src/main/java/com/bonus/boot/manager/wages/service/impl/WagesStaticsServiceImpl.java @@ -113,6 +113,8 @@ public class WagesStaticsServiceImpl implements WagesStaticsService { writer.setColumnWidth(23, 25); writer.writeCellValue(24,1,"渠道标志"); writer.setColumnWidth(24, 25); + writer.writeCellValue(25,1,"额外数据"); + writer.setColumnWidth(25, 25); // 设置表头高度、单元格宽度 writer.setRowHeight(0, 35); 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(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(25, 2 + i, list.get(i).getAdditionalData() == null ? "" : list.get(i).getAdditionalData().replace("; ", "\n")); + writer.setRowHeight(2 + i, 35); } response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 0a4cc19..0f417b2 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,4 +1,4 @@ -server.port=2002 +server.port=20003 #????·?? server.servlet.context-path=/yncw #mysql????????? @@ -26,8 +26,8 @@ mybatis.configuration.map-underscore-to-camel-case=true #spring.redis.password= spring.redis.host=192.168.0.14 -spring.redis.port=2001 -spring.redis.password=Dszbns@Redis123! +spring.redis.port=2004 +spring.redis.password=Plzbns@Redis123! # ??? logging.config=classpath:logback-boot.xml log.level.root=info diff --git a/src/main/resources/download/招商银行工资导入模板.xlsx b/src/main/resources/download/招商银行工资导入模板.xlsx index d6b615f..e81f798 100644 Binary files a/src/main/resources/download/招商银行工资导入模板.xlsx and b/src/main/resources/download/招商银行工资导入模板.xlsx differ diff --git a/src/main/resources/mappers/ca/PayAccountInfoMapper.xml b/src/main/resources/mappers/ca/PayAccountInfoMapper.xml index 3d8dc7d..daf1e3c 100644 --- a/src/main/resources/mappers/ca/PayAccountInfoMapper.xml +++ b/src/main/resources/mappers/ca/PayAccountInfoMapper.xml @@ -4,13 +4,14 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - insert into ca_bm_pay_account_info (name,remark,oper_user,oper_time,is_active, account_number) - values (#{name},#{remarks},#{czy},now(),'1', #{accountNumber}) + insert into ca_bm_pay_account_info (name,remark,oper_user,oper_time,is_active, account_number,opening_bank,opening_bank_address) + values (#{name},#{remarks},#{czy},now(),'1', #{accountNumber},#{openingBank},#{openingBankAddress}) 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} where id = #{id} @@ -30,15 +31,16 @@ - 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 - (#{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}) @@ -104,7 +104,8 @@ 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 + summary, vvd.zgldx as sub, vvd.fzgldx1 as project, vvd.fzgldx2 as company, vwd.additionalData from vw_wages_details vwd left join vw_voucher_details vvd on vvd.PZBH_SZ = vwd.YT_SZ where 1=1 diff --git a/src/main/resources/static/pages/finance/addPaymentAccount.html b/src/main/resources/static/pages/finance/addPaymentAccount.html index 7296af8..6c03027 100644 --- a/src/main/resources/static/pages/finance/addPaymentAccount.html +++ b/src/main/resources/static/pages/finance/addPaymentAccount.html @@ -19,7 +19,7 @@
- +
@@ -32,6 +32,20 @@
+
+ +
+ +
+
+ +
+ +
+ +
+
+
@@ -74,6 +88,8 @@ $("#name").val(data.name); $("#accountNumber").val(data.accountNumber); $("#remarks").val(data.remarks); + $("#openingBank").val(data.openingBank); + $("#openingBankAddress").val(data.openingBankAddress); } }); } @@ -94,6 +110,8 @@ formdata.name = $("#name").val(); formdata.accountNumber = $("#accountNumber").val(); formdata.remarks = $("#remarks").val(); + formdata.openingBank = $("#openingBank").val(); + formdata.openingBankAddress = $("#openingBankAddress").val(); $.ajax({ type : 'post', url : ctxPath + '/payAccountInfo', diff --git a/src/main/resources/static/pages/finance/paymentAccount.html b/src/main/resources/static/pages/finance/paymentAccount.html index b921248..396b604 100644 --- a/src/main/resources/static/pages/finance/paymentAccount.html +++ b/src/main/resources/static/pages/finance/paymentAccount.html @@ -48,7 +48,7 @@ 添加
@@ -109,12 +109,14 @@ , cellMinWidth: 80 , cols: [[ //表头 {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) { return maskAccountNumber(d.accountNumber); } } + , {field: 'openingBank', align: 'center', title: '开户行'} + , {field: 'openingBankAddress', align: 'center', title: '开户行地址'} , {field: 'remarks', align: 'center', title: '备注'} , {field: 'czyName', align: 'center', title: '操作人'} , {field: 'czsj', align: 'center', title: '操作时间'} diff --git a/src/main/resources/static/pages/wages/wagesStaticsList.html b/src/main/resources/static/pages/wages/wagesStaticsList.html index 4758f5e..9ec1eba 100644 --- a/src/main/resources/static/pages/wages/wagesStaticsList.html +++ b/src/main/resources/static/pages/wages/wagesStaticsList.html @@ -164,6 +164,20 @@ , {field: 'ywckh', width: 200, align: 'center', title: '业务参考号'} , {field: 'lx', 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] + '
'; + } + return additionalDataHtml; + } else { + return ''; + } + + }} , {width: 200, align: 'center',title:'凭证附件', templet: '#voucher'} , {width: 200, align: 'center',title:'工资附件', templet: '#wages'} ]]