From a4bb4895f1b79702ae075b616f8a86aa9fe96d20 Mon Sep 17 00:00:00 2001 From: lSun <15893999301@qq.com> Date: Fri, 6 Dec 2024 19:58:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=85=E9=81=93bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/bmw/basic/dao/OwnerDao.java | 2 +- .../bmw/basic/service/OwnerServiceImpl.java | 8 +++-- .../bmw/person/entity/BasePersonBean.java | 3 ++ .../person/service/BasePersonServiceImp.java | 8 +++++ .../service/SalaryStatServiceImpl.java | 8 +++-- .../service/IntegratedQueryServiceImpl.java | 12 +++++-- .../ViolationBlackListServiceImpl.java | 2 +- .../resources/mapper/basic/OwnerMapper.xml | 2 ++ .../mapper/person/BasePersonMapper.xml | 4 +-- .../mapper/salary/SalaryBookFillMapper.xml | 2 ++ .../css/work/indexScreen/indexScreen.css | 2 +- .../static/downloads/人员库_导入模板.xlsx | Bin 14579 -> 14873 bytes .../resources/static/img/fileIcon/overlap.png | Bin 0 -> 11356 bytes .../js/work/ProjectManage/ownerManage.js | 4 +-- .../js/work/ProjectManage/ownerManageForm.js | 3 +- .../js/work/SubManage/certificateFrom.js | 31 ++++++++---------- .../js/work/SubManage/certificateManage.js | 4 ++- .../js/work/SubManage/subBlackImport.js | 6 ++++ .../js/work/SubManage/subBlackManage.js | 2 +- .../work/SubManage/subCertificateTypeFrom.js | 6 ++++ .../js/work/team/PersonByAttentionList.js | 2 -- .../AttendanceMachine/personEntryFrom.html | 7 ++-- .../AttendanceMachine/personEntryFrom.js | 9 ++--- .../AttendanceMachine/personEntryUpd.html | 7 ++-- .../AttendanceMachine/personEntryUpd.js | 3 +- .../AttendanceMachine/personEntryView.html | 3 +- .../AttendanceMachine/personEntryView.js | 2 +- .../work/ProjectManage/OwnerManageForm.html | 2 +- .../pages/work/SubManage/CertificateForm.html | 4 +-- .../pages/work/SubManage/SubBlackForm.html | 4 +-- .../pages/work/SubManage/SubBlackImport.html | 2 +- .../pages/work/indexScreen/indexScreen.html | 5 +++ .../upload/service/AttachmentService.java | 4 +-- 33 files changed, 102 insertions(+), 61 deletions(-) create mode 100644 modules/bmw/src/main/resources/static/img/fileIcon/overlap.png diff --git a/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/OwnerDao.java b/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/OwnerDao.java index 43a4edd..77e570b 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/OwnerDao.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/OwnerDao.java @@ -32,7 +32,7 @@ public interface OwnerDao { /*** 根据id查询信息* */ OwnerBean getOwnerById(String id); - int getOwnerByName(@Param("name") String name,@Param("ownerName") String ownerName); + int getOwnerByName(@Param("name") String name,@Param("ownerName") String ownerName,@Param("ownerPhone") String ownerPhone); Integer importData(@Param("list") List list); diff --git a/modules/bmw/src/main/java/com/bonus/bmw/basic/service/OwnerServiceImpl.java b/modules/bmw/src/main/java/com/bonus/bmw/basic/service/OwnerServiceImpl.java index f80bf62..0f6ff34 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/basic/service/OwnerServiceImpl.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/basic/service/OwnerServiceImpl.java @@ -32,7 +32,7 @@ public class OwnerServiceImpl implements OwnerService { if (StringUtils.isEmpty(bean.getName())){ return R.fail(null,"添加失败,缺少业主单位名称"); }else{ - int dis = dao.getOwnerByName(bean.getName(),bean.getOwnerName()); + int dis = dao.getOwnerByName(bean.getName(),bean.getOwnerName(),bean.getOwnerPhone()); if (dis > 0){ System.out.println("添加失败,已存在重复的业主单位"); return R.fail(null,"添加失败,已存在重复的业主单位"); @@ -49,7 +49,7 @@ public class OwnerServiceImpl implements OwnerService { if (StringUtils.isEmpty(bean.getName())){ return R.fail(null,"修改失败,缺少业主单位名称"); }else{ - int dis = dao.getOwnerByName(bean.getName(),bean.getOwnerName()); + int dis = dao.getOwnerByName(bean.getName(),bean.getOwnerName(),bean.getOwnerPhone()); if (dis >= 1){ System.out.println("修改失败,已存在重复的业主单位"); return R.fail(null,"修改失败,已存在重复的业主单位"); @@ -83,6 +83,10 @@ public class OwnerServiceImpl implements OwnerService { }else if(bean.getOwnerPhone()==null || bean.getOwnerPhone().length()<1){ return "第" + (i+1) + "行联系方式为空,导入失败"; } + int dis = dao.getOwnerByName(bean.getName(),bean.getOwnerName(),bean.getOwnerPhone()); + if (dis > 0){ + return "第" + (i+1) + "行添加失败,已存在重复的业主单位,导入失败"; + } } Integer result = dao.importData(list); if (result != null && result > 0){ diff --git a/modules/bmw/src/main/java/com/bonus/bmw/person/entity/BasePersonBean.java b/modules/bmw/src/main/java/com/bonus/bmw/person/entity/BasePersonBean.java index a984043..087b633 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/person/entity/BasePersonBean.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/person/entity/BasePersonBean.java @@ -246,4 +246,7 @@ public class BasePersonBean { private List idNumberList; + @Excel(name = "务工类型 * ",required = true) + private String employmentTypes;//关键信息 务工类型 + } diff --git a/modules/bmw/src/main/java/com/bonus/bmw/person/service/BasePersonServiceImp.java b/modules/bmw/src/main/java/com/bonus/bmw/person/service/BasePersonServiceImp.java index c86fe09..5f7fc06 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/person/service/BasePersonServiceImp.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/person/service/BasePersonServiceImp.java @@ -223,6 +223,14 @@ public class BasePersonServiceImp implements BasePersonService{ if (u != null || b != null) { throw new IllegalArgumentException(c.getIdNumber() + "已存在或为黑名单"); } + + if(c.getEmploymentTypes().equals("本地务工(兰坪)")){ + c.setEmploymentTypes("0"); + }else if(c.getEmploymentTypes().equals("外地务工")){ + c.setEmploymentTypes("1"); + }else{ + throw new IllegalArgumentException(c.getEmploymentTypes()+"务工类型无法正确匹配,请正确填写!"); + } }); return list; } diff --git a/modules/bmw/src/main/java/com/bonus/bmw/salarystat/service/SalaryStatServiceImpl.java b/modules/bmw/src/main/java/com/bonus/bmw/salarystat/service/SalaryStatServiceImpl.java index e3e27b2..be23bd9 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/salarystat/service/SalaryStatServiceImpl.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/salarystat/service/SalaryStatServiceImpl.java @@ -460,8 +460,12 @@ public class SalaryStatServiceImpl implements SalaryStatService{ str[1], "1")); }); list.forEach(c->{ - c.setAttNum(String.valueOf(personSubContractList.stream().filter(k -> c.getSubContractId().equals(k.getContractId())). - mapToDouble(k -> Double.parseDouble(k.getAttDayNum())).sum())); + if(c.getPayMonth().equals("无发放")){ + c.setAttNum("0"); + }else{ + c.setAttNum(String.valueOf(personSubContractList.stream().filter(k -> c.getSubContractId().equals(k.getContractId())). + mapToDouble(k -> Double.parseDouble(k.getAttDayNum())).sum())); + } int grantSalaryNum = personSubContractList.stream().filter(k -> c.getSubContractId().equals(k.getContractId())). mapToInt(k -> salaryStatDao.selectSalaryByIdNumber(k.getIdNumber(), (String) request.getParams().get("startMonth"))).sum(); c.setGrantSalaryNum(grantSalaryNum + ""); diff --git a/modules/bmw/src/main/java/com/bonus/bmw/team/service/IntegratedQueryServiceImpl.java b/modules/bmw/src/main/java/com/bonus/bmw/team/service/IntegratedQueryServiceImpl.java index fd2dbcb..f066537 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/team/service/IntegratedQueryServiceImpl.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/team/service/IntegratedQueryServiceImpl.java @@ -249,9 +249,15 @@ public class IntegratedQueryServiceImpl implements IntegratedQueryService{ //计算考勤率 //1.0计算入场考勤率 if (punchCardBean.getEinPersonNum() > 0) { - double result = HighPrecisionUtil.divide(punchCardBean.getAttPersonNum(),punchCardBean.getEinPersonNum(),4); - String inPlaceAttRate = HighPrecisionUtil.multiply(result, 100,4)+"%"; - punchCardBean.setInPlaceAttRate(inPlaceAttRate); + if(punchCardBean.getAttPersonNum().equals(0)){ + punchCardBean.setInPlaceAttRate("0.00%"); + }else if(punchCardBean.getEinPersonNum().equals(0)){ + punchCardBean.setInPlaceAttRate("0.00%"); + }else{ + double result = HighPrecisionUtil.divide(punchCardBean.getAttPersonNum(),punchCardBean.getEinPersonNum(),4); + String inPlaceAttRate = HighPrecisionUtil.multiply(result, 100,4)+"%"; + punchCardBean.setInPlaceAttRate(inPlaceAttRate); + } } //2.0计算日计划考勤率 if (punchCardBean.getPlanPersonNum() > 0) { diff --git a/modules/bmw/src/main/java/com/bonus/bmw/whiteBlackList/service/ViolationBlackListServiceImpl.java b/modules/bmw/src/main/java/com/bonus/bmw/whiteBlackList/service/ViolationBlackListServiceImpl.java index 543c223..c959542 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/whiteBlackList/service/ViolationBlackListServiceImpl.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/whiteBlackList/service/ViolationBlackListServiceImpl.java @@ -232,7 +232,7 @@ public class ViolationBlackListServiceImpl implements ViolationBlackListService } // 导出标题 ExcelWriter writer = ExcelUtil.getWriter(true); - writer.merge(8, "违章黑名单"); + writer.merge(7, "违章黑名单"); writer.write(rows, true); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); try { diff --git a/modules/bmw/src/main/resources/mapper/basic/OwnerMapper.xml b/modules/bmw/src/main/resources/mapper/basic/OwnerMapper.xml index fdfbf58..2111311 100644 --- a/modules/bmw/src/main/resources/mapper/basic/OwnerMapper.xml +++ b/modules/bmw/src/main/resources/mapper/basic/OwnerMapper.xml @@ -48,6 +48,7 @@ owner_phone like concat('%', #{params.keyWord}, '%') or `name` like concat('%', #{params.keyWord}, '%')) + GROUP BY update_time desc limit #{offset},#{limit} @@ -71,5 +72,6 @@ where is_active = '1' and `name` = #{name} and owner_name = #{ownerName} + and owner_phone = #{ownerPhone} \ No newline at end of file diff --git a/modules/bmw/src/main/resources/mapper/person/BasePersonMapper.xml b/modules/bmw/src/main/resources/mapper/person/BasePersonMapper.xml index 5da238c..0ea68c0 100644 --- a/modules/bmw/src/main/resources/mapper/person/BasePersonMapper.xml +++ b/modules/bmw/src/main/resources/mapper/person/BasePersonMapper.xml @@ -10,7 +10,7 @@ `sign_date`, `expiry_date`, `phone`, `cultrue`, `political_outlook`, `address_phone`, `post_id`, `person_type`, `worker_skill`, - `important_person`, `urgent_person`, `urgent_person_phone`) + `important_person`, `urgent_person`, `urgent_person_phone`,employment_type) values (#{params.idNumber},#{params.name},#{params.sex},#{params.ethnic}, @@ -18,7 +18,7 @@ #{params.signDate},#{params.expiryDate},#{params.phone}, #{params.cultrue},#{params.politicalOutlook},#{params.addressPhone}, #{params.postId}, #{params.personType},#{params.workerSkill},#{params.importantPerson}, - #{params.urgentPerson},#{params.urgentPersonPhone}) + #{params.urgentPerson},#{params.urgentPersonPhone},#{params.employmentTypes}) diff --git a/modules/bmw/src/main/resources/mapper/salary/SalaryBookFillMapper.xml b/modules/bmw/src/main/resources/mapper/salary/SalaryBookFillMapper.xml index 8910690..4f042b8 100644 --- a/modules/bmw/src/main/resources/mapper/salary/SalaryBookFillMapper.xml +++ b/modules/bmw/src/main/resources/mapper/salary/SalaryBookFillMapper.xml @@ -267,6 +267,7 @@ sbud.remark FROM salary_book_upload_details AS sbud WHERE sbud.salary_id = #{params.id} + and sbud.bank_number is not null AND sbud.bank_number!="" and sbud.bank_name is not null AND sbud.bank_name !="" and sbud.`name` like concat('%', #{params.keyWord}, '%') @@ -277,6 +278,7 @@ SELECT count(*) FROM salary_book_upload_details AS sbud WHERE sbud.salary_id = #{params.id} + and sbud.bank_number is not null AND sbud.bank_number!="" and sbud.bank_name is not null AND sbud.bank_name !="" and sbud.`name` like concat('%', #{params.keyWord}, '%') diff --git a/modules/bmw/src/main/resources/static/css/work/indexScreen/indexScreen.css b/modules/bmw/src/main/resources/static/css/work/indexScreen/indexScreen.css index 4c28e18..396cf67 100644 --- a/modules/bmw/src/main/resources/static/css/work/indexScreen/indexScreen.css +++ b/modules/bmw/src/main/resources/static/css/work/indexScreen/indexScreen.css @@ -537,7 +537,7 @@ html { background-color: #FDECD9; } #proInformationLevel{ - width: 40%; + width: 35%; } #proInformationLevel > .layui-row{ margin-top: 28px; diff --git a/modules/bmw/src/main/resources/static/downloads/人员库_导入模板.xlsx b/modules/bmw/src/main/resources/static/downloads/人员库_导入模板.xlsx index 5be10902a6cb2cc8e8ac7c23c0a83ce7fa54a0da..0ef997c607e34a0b3b0d747086cb869eb202f65b 100644 GIT binary patch delta 9855 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 F{|E9eeh>fv delta 9580 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 diff --git a/modules/bmw/src/main/resources/static/img/fileIcon/overlap.png b/modules/bmw/src/main/resources/static/img/fileIcon/overlap.png new file mode 100644 index 0000000000000000000000000000000000000000..d63fe450bf37633d35ff5d2af193a222ed4b4f8f GIT binary patch literal 11356 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�=NG9>aJZOhh0NL4o(srOdj9B3> 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 fhnK3jUm_2K^m|8?a* literal 0 HcmV?d00001 diff --git a/modules/bmw/src/main/resources/static/js/work/ProjectManage/ownerManage.js b/modules/bmw/src/main/resources/static/js/work/ProjectManage/ownerManage.js index 672fa03..f4cba25 100644 --- a/modules/bmw/src/main/resources/static/js/work/ProjectManage/ownerManage.js +++ b/modules/bmw/src/main/resources/static/js/work/ProjectManage/ownerManage.js @@ -158,7 +158,7 @@ function view(id) { //新增 function addPorject() { var height = '350px'; - var width = '450px'; + var width = '480px'; var index = layer.open({ title: ['新增', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, @@ -193,7 +193,7 @@ function edit(id) { dataType: 'json', success: function (data) { var height = '350px'; - var width = '450px'; + var width = '480px'; var index = layer.open({ title: ['修改', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], type: 2, diff --git a/modules/bmw/src/main/resources/static/js/work/ProjectManage/ownerManageForm.js b/modules/bmw/src/main/resources/static/js/work/ProjectManage/ownerManageForm.js index b702a09..711a7a8 100644 --- a/modules/bmw/src/main/resources/static/js/work/ProjectManage/ownerManageForm.js +++ b/modules/bmw/src/main/resources/static/js/work/ProjectManage/ownerManageForm.js @@ -63,6 +63,7 @@ function addProject(formData) { if (data.msg.indexOf("成功") != -1) { top.layer.close(addLoadingMsg); //再执行关闭 parent.layer.msg('保存成功', {icon: 1, time: 2000}); + setTimeout("reloading()", 2100); // parent.layer.closeAll(); } else if (data.msg.indexOf("失败") != -1) { top.layer.close(addLoadingMsg); //再执行关闭 @@ -71,7 +72,7 @@ function addProject(formData) { } else { top.layer.close(addLoadingMsg); //再执行关闭 parent.layer.msg(data.msg, {icon: 2, time: 2000}); - parent.layer.closeAll(); + // parent.layer.closeAll(); } }, error: function (XMLHttpRequest, textStatus, e) { diff --git a/modules/bmw/src/main/resources/static/js/work/SubManage/certificateFrom.js b/modules/bmw/src/main/resources/static/js/work/SubManage/certificateFrom.js index bbb09f6..d25c73e 100644 --- a/modules/bmw/src/main/resources/static/js/work/SubManage/certificateFrom.js +++ b/modules/bmw/src/main/resources/static/js/work/SubManage/certificateFrom.js @@ -25,27 +25,22 @@ $(function () { } // 验证成功后才会执行下面的操作 form.on('submit(formDemo)', function (data) { + var subId = $("#subId").val(); + if (subId == '' || subId == null){ + layer.msg('请选择分包名称', {icon: 2, time: 1500}) + return false; + } var id = $("#id").val(); if (id == '' || id == null) { - if (!$('#path')[0].files[0]) { - layer.msg("请上传文件!"); - return false; // 阻止表单提交 - }else{ - // 加载提示 - addLoadingMsg = top.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']}); - uploadFile(); - addProject(data); // 新增 - } + // 加载提示 + addLoadingMsg = top.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']}); + uploadFile(); + addProject(data); // 新增 }else { - if(filePath === null || filePath === ''){ - layer.msg("请上传文件!"); - return false; // 阻止表单提交 - }else{ - // 加载提示 - addLoadingMsg = top.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']}); - uploadFile(); - updateInfo(data); - } + // 加载提示 + addLoadingMsg = top.layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']}); + uploadFile(); + updateInfo(data); } }); diff --git a/modules/bmw/src/main/resources/static/js/work/SubManage/certificateManage.js b/modules/bmw/src/main/resources/static/js/work/SubManage/certificateManage.js index bf19565..901c81d 100644 --- a/modules/bmw/src/main/resources/static/js/work/SubManage/certificateManage.js +++ b/modules/bmw/src/main/resources/static/js/work/SubManage/certificateManage.js @@ -112,9 +112,11 @@ function init() { var html = ""; if (path != null && path.indexOf("http") != -1){ html = "查看" - }else{ + }else if(path != null){ let rePath = fileUrl + "/" + path; html = "查看" + }else{ + html = "未上传" } return html; } diff --git a/modules/bmw/src/main/resources/static/js/work/SubManage/subBlackImport.js b/modules/bmw/src/main/resources/static/js/work/SubManage/subBlackImport.js index 264fcbb..44e95e2 100644 --- a/modules/bmw/src/main/resources/static/js/work/SubManage/subBlackImport.js +++ b/modules/bmw/src/main/resources/static/js/work/SubManage/subBlackImport.js @@ -19,6 +19,12 @@ $(function () { //批量-导入 function addInfo(formData) { + var fileInput = document.getElementById('file'); + if (fileInput.files.length === 0) { + // 如果没有选择文件,则弹出提示框 + layer.msg('请选择要上传的文件', {icon: 5}); + return false; + } var fileData = new FormData(); fileData.append('file', $('#file')[0].files[0]); // 加载提示 diff --git a/modules/bmw/src/main/resources/static/js/work/SubManage/subBlackManage.js b/modules/bmw/src/main/resources/static/js/work/SubManage/subBlackManage.js index f89fae6..ffe9a4a 100644 --- a/modules/bmw/src/main/resources/static/js/work/SubManage/subBlackManage.js +++ b/modules/bmw/src/main/resources/static/js/work/SubManage/subBlackManage.js @@ -186,7 +186,7 @@ function buttonDel(id, permission, pers) { // 导入 function fileImport(){ - var height = '150px'; + var height = '180px'; var width = '350px'; var index = layer.open({ title: ['导入', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], diff --git a/modules/bmw/src/main/resources/static/js/work/SubManage/subCertificateTypeFrom.js b/modules/bmw/src/main/resources/static/js/work/SubManage/subCertificateTypeFrom.js index 2c944c8..b56f575 100644 --- a/modules/bmw/src/main/resources/static/js/work/SubManage/subCertificateTypeFrom.js +++ b/modules/bmw/src/main/resources/static/js/work/SubManage/subCertificateTypeFrom.js @@ -47,6 +47,9 @@ function addProject(formData) { layer.alert(data.msg,{icon:1},()=>{ reloading(); }) + setTimeout(function () { + reloading(); + }, 2000); }else{ layer.alert(data.msg,{icon:2}) } @@ -77,6 +80,9 @@ function updateInfo(formData) { layer.alert(data.msg,{icon: 1},()=>{ reloading() }) + setTimeout(function () { + reloading(); + }, 2000); }else{ layer.alert(data.msg,{icon: 2}) } diff --git a/modules/bmw/src/main/resources/static/js/work/team/PersonByAttentionList.js b/modules/bmw/src/main/resources/static/js/work/team/PersonByAttentionList.js index 0c1dc12..7208e6b 100644 --- a/modules/bmw/src/main/resources/static/js/work/team/PersonByAttentionList.js +++ b/modules/bmw/src/main/resources/static/js/work/team/PersonByAttentionList.js @@ -129,8 +129,6 @@ function init() { html += ""; } return html; - - return html; }, width: "8%" }, { diff --git a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.html b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.html index f42ddb5..3077751 100644 --- a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.html +++ b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.html @@ -118,7 +118,7 @@ -
+
@@ -337,8 +337,7 @@
- +
diff --git a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.js b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.js index c37490b..049c424 100644 --- a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.js +++ b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryFrom.js @@ -549,9 +549,9 @@ function baseInformationRequired(){ success: function (data) { if(data.code != '200'){ layer.alert(data.msg,{icon: 0}); - if(data.msg === idNumber + '已存在'){ - updateView(idNumber); - } + // if(data.msg === idNumber + '已存在'){ + // updateView(idNumber); + // } state = false; } } @@ -1517,6 +1517,7 @@ function addPerson(data, loadingMsg) { setTimeout(function() { layer.close(loadingMsg); // 关闭提示层 parent.layer.closeAll(); + window.parent.location.reload(); }, 5000); } else { layer.alert(data.msg); @@ -1553,7 +1554,7 @@ function getHoliday(value){ for (let i = 0; i < resultObj.length; i++) { let obj = { name : resultObj[i], - value : -1, + value : resultObj[i], selected : true }; values.push(obj); diff --git a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.html b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.html index 04090ee..0e26281 100644 --- a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.html +++ b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.html @@ -102,7 +102,7 @@
-
+
@@ -311,8 +311,7 @@
- +
diff --git a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.js b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.js index 240caea..02ff23e 100644 --- a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.js +++ b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.js @@ -1394,6 +1394,7 @@ function addPerson(data, loadingMsg) { setTimeout(function() { layer.close(loadingMsg); // 关闭提示层 parent.layer.closeAll(); + window.parent.location.reload(); }, 5000); // parent.layer.closeAll(); } else { @@ -1645,7 +1646,7 @@ function getHoliday(value){ for (let i = 0; i < resultObj.length; i++) { let obj = { name : resultObj[i], - value : -1, + value : resultObj[i], selected : true }; values.push(obj); diff --git a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryView.html b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryView.html index abc2915..9b333f9 100644 --- a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryView.html +++ b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryView.html @@ -295,8 +295,7 @@
- +
diff --git a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryView.js b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryView.js index 6912671..3164fd7 100644 --- a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryView.js +++ b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryView.js @@ -374,7 +374,7 @@ function getHoliday(value){ for (let i = 0; i < resultObj.length; i++) { let obj = { name : resultObj[i], - value : -1, + value : resultObj[i], selected : true }; values.push(obj); diff --git a/modules/bmw/src/main/resources/static/pages/work/ProjectManage/OwnerManageForm.html b/modules/bmw/src/main/resources/static/pages/work/ProjectManage/OwnerManageForm.html index 1f1fa32..ce711f6 100644 --- a/modules/bmw/src/main/resources/static/pages/work/ProjectManage/OwnerManageForm.html +++ b/modules/bmw/src/main/resources/static/pages/work/ProjectManage/OwnerManageForm.html @@ -54,7 +54,7 @@
- +
diff --git a/modules/bmw/src/main/resources/static/pages/work/SubManage/CertificateForm.html b/modules/bmw/src/main/resources/static/pages/work/SubManage/CertificateForm.html index fc08b7a..af3369e 100644 --- a/modules/bmw/src/main/resources/static/pages/work/SubManage/CertificateForm.html +++ b/modules/bmw/src/main/resources/static/pages/work/SubManage/CertificateForm.html @@ -48,7 +48,7 @@
-
@@ -72,7 +72,7 @@
- +
diff --git a/modules/bmw/src/main/resources/static/pages/work/SubManage/SubBlackForm.html b/modules/bmw/src/main/resources/static/pages/work/SubManage/SubBlackForm.html index d30b5e1..209a577 100644 --- a/modules/bmw/src/main/resources/static/pages/work/SubManage/SubBlackForm.html +++ b/modules/bmw/src/main/resources/static/pages/work/SubManage/SubBlackForm.html @@ -66,12 +66,12 @@
- +
- + diff --git a/modules/bmw/src/main/resources/static/pages/work/SubManage/SubBlackImport.html b/modules/bmw/src/main/resources/static/pages/work/SubManage/SubBlackImport.html index 58474d6..4f71a41 100644 --- a/modules/bmw/src/main/resources/static/pages/work/SubManage/SubBlackImport.html +++ b/modules/bmw/src/main/resources/static/pages/work/SubManage/SubBlackImport.html @@ -17,7 +17,7 @@
- + + +
+ + 项目参建单位项目数量排名TOP5 +
diff --git a/modules/file/src/main/java/com/bonus/file/upload/service/AttachmentService.java b/modules/file/src/main/java/com/bonus/file/upload/service/AttachmentService.java index 46d3f01..92a64a8 100644 --- a/modules/file/src/main/java/com/bonus/file/upload/service/AttachmentService.java +++ b/modules/file/src/main/java/com/bonus/file/upload/service/AttachmentService.java @@ -59,7 +59,7 @@ public class AttachmentService { if(os.toLowerCase().startsWith("win")){ //windows的目录 - imageFiles="D://yn/real_name/" + photoType + "/"; + imageFiles="E://yn/real_name/" + photoType + "/"; } String year = DateUtils.getNowYear(); String month = DateUtils.getNowMonths(); @@ -112,7 +112,7 @@ public class AttachmentService { String os = System.getProperty("os.name"); if(os.toLowerCase().startsWith("win")){ //windows的目录 - imageFiles="D://yn/real_name/" + photoType + "/"; + imageFiles="E://yn/real_name/" + photoType + "/"; } String year = DateUtils.getNowYear(); String month = DateUtils.getNowMonths();