Pārlūkot izejas kodu

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

cs 2 gadi atpakaļ
vecāks
revīzija
a081e65e1b

+ 6 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -22,6 +22,8 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.DecimalFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
@@ -822,8 +824,11 @@ public class ReportController {
                     return httpRespMsg;
                 } else if (report.getOvertimeHours() > report.getWorkingTime()) {
                     HttpRespMsg httpRespMsg = new HttpRespMsg();
+                    DecimalFormat decimalFormat = new DecimalFormat("0.0");
+                    decimalFormat.setRoundingMode(RoundingMode.HALF_UP);
                     //httpRespMsg.setError("加班时长("+report.getOvertimeHours()+"h)不能超过工作时长("+report.getWorkingTime()+"h)");
-                    httpRespMsg.setError(MessageUtils.message("profession.OvertimeHoursError",report.getOvertimeHours(),report.getWorkingTime()));
+                    httpRespMsg.setError(MessageUtils.message("profession.OvertimeHoursError",decimalFormat.format(report.getOvertimeHours()),
+                            decimalFormat.format(report.getWorkingTime())));
                     return httpRespMsg;
                 }
             }

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -25,6 +25,7 @@ import org.springframework.web.client.RestTemplate;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -724,6 +725,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
 //            Map<String, Object> finalMap = new HashMap<>();
 //            List<Map<String, Object>> finalList = new ArrayList<>();
             DecimalFormat df = new DecimalFormat("#0.00");
+            df.setRoundingMode(RoundingMode.HALF_UP);
             List<List<String>> dataList = new ArrayList<List<String>>();
             List<String> titleList =new ArrayList<>();
             //titleList.add("人员");

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java

@@ -30,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.math.RoundingMode;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
@@ -2079,6 +2080,7 @@ public class DingDingServiceImpl implements DingDingService {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         JSONObject json = JSONObject.parseObject(quotaListResponse.getBody());
         DecimalFormat df = new DecimalFormat("#0.00");
+        df.setRoundingMode(RoundingMode.HALF_UP);
         if (json.getInteger("errcode") == 0) {
             JSONObject result = json.getJSONObject("result");
             JSONArray leaveQuotas = result.getJSONArray("leave_quotas");

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectAddcostRecordServiceImpl.java

@@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.math.RoundingMode;
 import java.text.DecimalFormat;
 import java.util.HashMap;
 import java.util.List;
@@ -52,6 +53,7 @@ public class ProjectAddcostRecordServiceImpl extends ServiceImpl<ProjectAddcostR
         List<ProjectAddcostItem> list = JSONArray.parseArray(itemList, ProjectAddcostItem.class);
         List<ProjectCurrentcost> curList = projectCurrentcostMapper.selectList(new QueryWrapper<ProjectCurrentcost>().eq("project_id", item.getProjectId()));
         DecimalFormat df = new DecimalFormat("#.00");
+        df.setRoundingMode(RoundingMode.HALF_UP);
         //校验,当前下拨的不能超过剩余可下拨金额
         List<ProjectBasecost> totalCost = projectBasecostMapper.selectList(new QueryWrapper<ProjectBasecost>().eq("project_id", item.getProjectId()));
         for (ProjectAddcostItem addItem : list) {

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -46,6 +46,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.sql.Timestamp;
 import java.text.DecimalFormat;
 import java.text.NumberFormat;
@@ -2720,6 +2721,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             });
         }
         DecimalFormat decimalFormat = new DecimalFormat("#0.0");
+        decimalFormat.setRoundingMode(RoundingMode.HALF_UP);
         //加完标题再增加数据行
         record.forEach(r->{
             List<String> data = new ArrayList<>();
@@ -2913,6 +2915,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             }
             String total = totalMoneyCost.toString();
             DecimalFormat df = new DecimalFormat("#0.0");
+            df.setRoundingMode(RoundingMode.HALF_UP);
             //合计
             List<String> sumRow = new ArrayList<String>();
             //sumRow.add("合计");
@@ -4642,6 +4645,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<ProjectLevel> projectLevelList = projectLevelMapper.selectList(new QueryWrapper<ProjectLevel>().eq("company_id", user.getCompanyId()));
         DateTimeFormatter sdf =DateTimeFormatter.ofPattern("yyyy-MM-dd");
         DecimalFormat df = new DecimalFormat("##0.0#");
+        df.setRoundingMode(RoundingMode.HALF_UP);
         //获取项目子表 数据
         List<Integer> collect = projectVOList.stream().distinct().map(pv -> pv.getId()).collect(Collectors.toList());
         //防止空数据
@@ -5347,7 +5351,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             }
         }
         DecimalFormat df = new DecimalFormat("#0.00");
+        df.setRoundingMode(RoundingMode.HALF_UP);
         DecimalFormat df2 = new DecimalFormat("#0");
+        df2.setRoundingMode(RoundingMode.HALF_UP);
         for (HashMap project : projectList) {
             List<String> data = new ArrayList<>();
             data.add((String)project.get("projectCode"));

+ 0 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -4461,7 +4461,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         List<Map> userCorpwxTimeMapList = userCorpwxTimeMapper.selectByAsk(companyId,startDate,endDate);
 
         //请假人员名单
-
         DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         LocalDate localStart = LocalDate.parse(startDate, dtf);

+ 3 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -1170,13 +1170,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 }
             } else {
                 //修改
-                if (!StringUtils.isEmpty(phone) && userMapper.selectList(new QueryWrapper<User>().eq("phone", phone).ne("id", targetId)).size() > 0) {
+                if (!StringUtils.isEmpty(phone) && userMapper.selectCount(new QueryWrapper<User>().eq("phone", phone).ne("id", targetId)) > 0) {
                     //httpRespMsg.setError("该电话号码已存在");
                     httpRespMsg.setError(MessageUtils.message("register.phoneError"));
                     return httpRespMsg;
                 }
                 //检查本公司内工号是否重复
-                if (!StringUtils.isEmpty(jobNumber) && userMapper.selectList(new QueryWrapper<User>().eq("company_id", creator.getCompanyId()).eq("job_number", jobNumber).ne("id", targetId)).size() > 0) {
+                if (!StringUtils.isEmpty(jobNumber) && userMapper.selectCount(new QueryWrapper<User>().eq("company_id", creator.getCompanyId()).eq("job_number", jobNumber).ne("id", targetId)) > 0) {
                     //httpRespMsg.setError("该工号已存在");
                     httpRespMsg.setError(MessageUtils.message("register.jobNoExist"));
                     return httpRespMsg;
@@ -1219,6 +1219,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                         .setPlate4(plate4)
                         .setPlate5(plate5)
                         .setJobNumber(jobNumber));
+
                 if (salaryChange) {
                     UserSalary userSalary = UserSalary.copyFromUser(oldUser);
                     userSalaryMapper.insert(userSalary);

+ 8 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/CodeUtil.java

@@ -1,5 +1,7 @@
 package com.management.platform.util;
 
+import java.math.RoundingMode;
+import java.text.DecimalFormat;
 import java.util.Random;
 
 /**
@@ -32,4 +34,10 @@ public class CodeUtil {
         }
         return msg;
     }
+
+    public static void main(String[] args) {
+        double temp = 1.45;
+        DecimalFormat decimalFormat = new DecimalFormat("0.#");
+        System.out.println(decimalFormat.format(temp));
+    }
 }

+ 27 - 34
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/WorkDayCalculateUtils.java

@@ -244,43 +244,36 @@ public class WorkDayCalculateUtils {
 
     public static boolean isWorkDay(LocalDate date) {
         int year = date.getYear();
-        try {
-            String dateStr = dateTimeFormatter.format(date);
-            Date d = simpleDateFormat.parse(dateStr);
-            boolean isWeekend = date.getDayOfWeek() == DayOfWeek.SATURDAY || date.getDayOfWeek() == DayOfWeek.SUNDAY;
-            if (isWeekend) {
-                //判断周末是否是特殊工作日
-                HashMap<String, String[]> map = YEAR_DEFINE.get(year + "");
-                if (map == null) {
-                    //特殊日期年份尚未录入,周末不算是工作日
-                    return false;
-                }
-                String[] list = map.get(KEY_SPECIAL_WORK_DAYS);
-                if (isInArray(dateStr, list)) {
-                    //存在特殊工作日
-                    return true;
-                } else {
-                    return false;
-                }
+        String dateStr = dateTimeFormatter.format(date);
+        boolean isWeekend = date.getDayOfWeek() == DayOfWeek.SATURDAY || date.getDayOfWeek() == DayOfWeek.SUNDAY;
+        if (isWeekend) {
+            //判断周末是否是特殊工作日
+            HashMap<String, String[]> map = YEAR_DEFINE.get(year + "");
+            if (map == null) {
+                //特殊日期年份尚未录入,周末不算是工作日
+                return false;
+            }
+            String[] list = map.get(KEY_SPECIAL_WORK_DAYS);
+            if (isInArray(dateStr, list)) {
+                //存在特殊工作日
+                return true;
             } else {
-                //判断常规周一到周五,是否是特殊节假日
-                HashMap<String, String[]> map = YEAR_DEFINE.get(year+"");
-                if (map == null) {
-                    //特殊日期年份尚未录入,工作日正常上班
-                    return true;
-                }
-                String[] list = map.get(KEY_SPECIAL_REST_DAYS);
-                if (isInArray(dateStr, list)) {
-                    return false;
-                } else {
-                    return true;
-                }
+                return false;
+            }
+        } else {
+            //判断常规周一到周五,是否是特殊节假日
+            HashMap<String, String[]> map = YEAR_DEFINE.get(year+"");
+            if (map == null) {
+                //特殊日期年份尚未录入,工作日正常上班
+                return true;
+            }
+            String[] list = map.get(KEY_SPECIAL_REST_DAYS);
+            if (isInArray(dateStr, list)) {
+                return false;
+            } else {
+                return true;
             }
-        } catch (ParseException e) {
-            e.printStackTrace();
-            System.out.println(e.getMessage());
         }
-        return true;
     }
 
 

+ 12 - 8
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -1031,7 +1031,7 @@
                 
             </el-form>
             <div slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="exportUserTime" style="width:100%;" :loading="listLoading">{{$t('export.export')}}</el-button>
+                <el-button type="primary" @click="exportUserTime" style="width:100%;" >{{$t('export.export')}}</el-button>
             </div>
         </el-dialog>
         <!--人员列表 -->
@@ -1189,7 +1189,7 @@
               
               <!-- 222 -->
             </div>
-            <div v-if="user.userNameNeedTranslate != 1">
+            <div>
                 <el-input style="float:left;width:22%" v-model="searchKeyword" class="input-with-select" :placeholder="$t('defaultText.pleaseEnterNametoSearch')" clearable="true" size="small">
                     <el-button slot="append" @click="searchScreen(0)" icon="el-icon-search"></el-button>
                 </el-input>
@@ -1359,7 +1359,7 @@
               <el-button size="small" @click="getThisWeek()">{{$t('time.nextWeek')}}</el-button>
               
             </div>
-            <div v-if="user.userNameNeedTranslate != 1">
+            <div>
                 <el-input style="float:left;width:22%" v-model="searchKeyword" class="input-with-select" :placeholder="$t('defaultText.pleaseEnterNametoSearch')" clearable="true" size="small">
                     <el-button slot="append" @click="searchScreen(1)" icon="el-icon-search"></el-button>
                 </el-input>
@@ -1987,7 +1987,7 @@
         },
         methods: {
             test(){
-                // console.log('test',this.workForm.domains);
+                console.log('test',this.workForm.domains);
             },
             getHour(s1, s2) {
                 var reDate = /\d{4}-\d{1,2}-\d{1,2} /;
@@ -2607,7 +2607,9 @@
                 var newIndex = index+1;
                 var itemDomain = {
                         projectId: this.workForm.domains[index].projectId,
-                        workingTime: this.reportTimeType.type == 3?(leftProgress*this.reportTimeType.allday/100).toFixed(1):"",
+                        workingTime: this.reportTimeType.type == 3?(leftProgress*this.reportTimeType.allday/100).toFixed(1):(
+                            this.reportTimeType.type==2?"":(this.reportTimeType.allday).toFixed(1)
+                        ),
                         content: "",
                         progress:leftProgress,
                         state:2,//2-表示待提交
@@ -4412,7 +4414,7 @@
                                 domains: [{
                                     id: null,
                                     projectId: "",
-                                    workingTime: this.reportTimeType.type==3?(this.reportTimeType.allday).toFixed(1):"",
+                                    workingTime: this.reportTimeType.type==2?"":(this.reportTimeType.allday).toFixed(1),
                                     content: "",
                                     progress:100,
                                     state: 2,
@@ -4509,7 +4511,7 @@
                                 domains: [{
                                     id: null,
                                     projectId: "",
-                                    workingTime: this.reportTimeType.type==3?(this.reportTimeType.allday).toFixed(1):"",
+                                    workingTime: this.reportTimeType.type==2?"":(this.reportTimeType.allday).toFixed(1),
                                     content: "",
                                     progress:100,
                                     state: 2,
@@ -5497,7 +5499,9 @@
                 }
                 var addItem = {
                         projectId: "",
-                        workingTime: this.reportTimeType.type == 3?(leftProgress*this.reportTimeType.allday/100).toFixed(1):"",
+                        workingTime: this.reportTimeType.type == 3?(leftProgress*this.reportTimeType.allday/100).toFixed(1):(
+                            this.reportTimeType.type==2?"":(this.reportTimeType.allday).toFixed(1)
+                        ),
                         content: "",
                         progress:leftProgress,
                         state:2,//2-表示待提交

+ 1 - 0
fhKeeper/formulahousekeeper/timesheet_h5/src/views/expense/details.vue

@@ -373,6 +373,7 @@ export default {
         },
         deleteInvoice(index){
             this.invoiceList.splice(index,1)
+            this.editForm.ticketNum = this.invoiceList.length
             this.uploader.splice(index,1)
         },
         inProjectChange(value,key){