Forráskód Böngészése

Merge branch 'master' of http://114.55.67.98:8070/Natural_p1/zjugis_OA

songxy 9 hónapja
szülő
commit
2211054120

+ 42 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/commoncost/event/CommonCostEvent.java

@@ -39,6 +39,7 @@ import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicReference;
 
 import static com.zjugis.business.constants.FlowStatusConstants.*;
 import static com.zjugis.framework.common.util.collection.CollectionUtils.convertSet;
@@ -579,6 +580,47 @@ public class CommonCostEvent extends BaseController {
         }
     }
 
+
+    @PostMapping("/specialProject")
+    public String specialProject(@ParamModel Map flowInstance, @ParamModel Map flowDirectionInstance, @ParamModel Map previousActivityInstance, @ParamModel Map previousGatewayInstance, @ParamModel Map nextActivityTemplate, @ParamModel Map nextGatewayInstance) {
+        try {
+            String flowInstanceId = flowInstance.get("id").toString();
+            CommonCostDO entity = commonCostService.findByInstanceId(flowInstanceId);
+            List<CommonCostDetailDO> detailList = commonCostDetailService.getListByCommonCostId(entity.getId());
+            AtomicReference<String> flag = new AtomicReference<>("false");
+            detailList.forEach(x -> {
+                Project project = projectService.selectById(x.getProjectId());
+                if (project.getId().equals("31414c5bef38ca7eb9ce31612e84e8e8") || project.getId().equals("3ce706b5a67bb175929cda0117c11620")) {
+                    flag.set("true");
+                    return ;
+                }
+            });
+            return flag.get();
+        } catch (Exception ex) {
+            return error(ex.getMessage(), ErrorCode.DEFAULT);
+        }
+    }
+
+    @PostMapping("/not-specialProject")
+    public String notSpecialProject(@ParamModel Map flowInstance, @ParamModel Map flowDirectionInstance, @ParamModel Map previousActivityInstance, @ParamModel Map previousGatewayInstance, @ParamModel Map nextActivityTemplate, @ParamModel Map nextGatewayInstance) {
+        try {
+            String flowInstanceId = flowInstance.get("id").toString();
+            CommonCostDO entity = commonCostService.findByInstanceId(flowInstanceId);
+            List<CommonCostDetailDO> detailList = commonCostDetailService.getListByCommonCostId(entity.getId());
+            AtomicReference<String> flag = new AtomicReference<>("true");
+            detailList.forEach(x -> {
+                Project project = projectService.selectById(x.getProjectId());
+                if (project.getId().equals("31414c5bef38ca7eb9ce31612e84e8e8") || project.getId().equals("3ce706b5a67bb175929cda0117c11620")) {
+                    flag.set("false");
+                    return ;
+                }
+            });
+            return flag.get();
+        } catch (Exception ex) {
+            return error(ex.getMessage(), ErrorCode.DEFAULT);
+        }
+    }
+
     @PostMapping("/to-dept-manager")
     public String toDeptManager(String flowInstanceId) {
         try {

+ 3 - 2
zjugis-business/src/main/java/com/zjugis/business/flow/contract/event/ContractEvent.java

@@ -331,9 +331,10 @@ public class ContractEvent extends BaseController {
         try {
             if (StringUtils.isNotBlank(flowInstanceId)) {
                 Contract entity = contractService.selectByInstanceId(flowInstanceId);
+                Project project = projectService.selectById(entity.getProjectId());
                 List<Map<String, String>> userMaps = new ArrayList<>();
-                if(StringUtils.isNotBlank(entity.getAreaManager())){
-                    CommonResult<AdminUserRespDTO> userRes = adminUserApi.getUser(entity.getAreaManager());
+                if(StringUtils.isNotBlank(project.getXsryId())){
+                    CommonResult<AdminUserRespDTO> userRes = adminUserApi.getUser(project.getXsryId());
                     AdminUserRespDTO user = userRes.getCheckedData();
                     CommonResult<DeptRespDTO> deptRes  = deptApi.getDept(user.getDeptId());
                     DeptRespDTO dept = deptRes.getCheckedData();

+ 33 - 3
zjugis-business/src/main/java/com/zjugis/business/flow/travelcost/event/TravelCostEvent.java

@@ -108,7 +108,7 @@ public class TravelCostEvent extends BaseController {
                 entity.setFlowStatus(FLOW_FINISHED);
                 entity.setFlowFinishtime(LocalDateTime.now());
                 travelCostService.updateTravelCostEntity(TravelCostConvert.INSTANCE.convert(entity));
-                projectCostService.updateTravelCost(entity.getTotalAmount(),entity.getProjectId());
+                projectCostService.updateTravelCost(entity.getTotalAmount(), entity.getProjectId());
                 projectService.calcProject(entity.getProjectId());
                 return ok("true");
             } else {
@@ -447,6 +447,36 @@ public class TravelCostEvent extends BaseController {
         }
     }
 
+    @PostMapping("/specialProject")
+    public String specialProject(@ParamModel Map flowInstance, @ParamModel Map flowDirectionInstance, @ParamModel Map previousActivityInstance, @ParamModel Map previousGatewayInstance, @ParamModel Map nextActivityTemplate, @ParamModel Map nextGatewayInstance) {
+        try {
+            String flowInstanceId = flowInstance.get("id").toString();
+            TravelCostDO entity = travelCostService.findByInstanceId(flowInstanceId);
+            Project project = projectService.selectById(entity.getProjectId());
+            if (project.getId().equals("31414c5bef38ca7eb9ce31612e84e8e8") || project.getId().equals("3ce706b5a67bb175929cda0117c11620")) {
+                return "true";
+            }
+            return "false";
+        } catch (Exception ex) {
+            return error(ex.getMessage(), ErrorCode.DEFAULT);
+        }
+    }
+
+    @PostMapping("/not-specialProject")
+    public String notSpecialProject(@ParamModel Map flowInstance, @ParamModel Map flowDirectionInstance, @ParamModel Map previousActivityInstance, @ParamModel Map previousGatewayInstance, @ParamModel Map nextActivityTemplate, @ParamModel Map nextGatewayInstance) {
+        try {
+            String flowInstanceId = flowInstance.get("id").toString();
+            TravelCostDO entity = travelCostService.findByInstanceId(flowInstanceId);
+            Project project = projectService.selectById(entity.getProjectId());
+            if (project.getId().equals("31414c5bef38ca7eb9ce31612e84e8e8") || project.getId().equals("3ce706b5a67bb175929cda0117c11620")) {
+                return "false";
+            }
+            return "true";
+        } catch (Exception ex) {
+            return error(ex.getMessage(), ErrorCode.DEFAULT);
+        }
+    }
+
     @PostMapping("/to-project-dept-manager")
     public String toProjectDeptManager(String flowInstanceId) {
         try {
@@ -454,10 +484,10 @@ public class TravelCostEvent extends BaseController {
                 TravelCostDO entity = travelCostService.findByInstanceId(flowInstanceId);
                 Project project = projectService.selectById(entity.getProjectId());
                 List<Map<String, String>> userMaps = new ArrayList<>();
-                if(project.getId().equals("31414c5bef38ca7eb9ce31612e84e8e8") || project.getId().equals("3ce706b5a67bb175929cda0117c11620") ){
+                if (project.getId().equals("31414c5bef38ca7eb9ce31612e84e8e8") || project.getId().equals("3ce706b5a67bb175929cda0117c11620")) {
                     //卓一瑞
                     HashMap<String, String> map = new HashMap<>();
-                    map.put("id","d05dc4f4-ead4-4925-9aaa-0c4d3bc470b6");
+                    map.put("id", "d05dc4f4-ead4-4925-9aaa-0c4d3bc470b6");
                     userMaps.add(map);
                     return ok(userMaps);
                 }

+ 31 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/event/UseMoneyEvent.java

@@ -15,6 +15,7 @@ import com.zjugis.business.flow.commoncost.entity.CommonCostDetailDO;
 import com.zjugis.business.flow.contractSub.service.FlowContractSubService;
 import com.zjugis.business.flow.outsourcePurchase.dao.OutsourcePurchaseDao;
 import com.zjugis.business.flow.outsourcePurchase.entity.OutsourcePurchaseDO;
+import com.zjugis.business.flow.travelcost.entity.TravelCostDO;
 import com.zjugis.business.flow.usemoney.entity.UseMoneyDO;
 import com.zjugis.business.flow.usemoney.entity.UseMoneyDetailDO;
 import com.zjugis.business.flow.usemoney.service.UseMoneyDetailService;
@@ -935,4 +936,34 @@ public class UseMoneyEvent extends BaseController {
             throw new BusinessException("执行事件出错,请联系管理员!");
         }
     }
+
+    @PostMapping("/specialProject")
+    public String specialProject(@ParamModel Map flowInstance, @ParamModel Map flowDirectionInstance, @ParamModel Map previousActivityInstance, @ParamModel Map previousGatewayInstance, @ParamModel Map nextActivityTemplate, @ParamModel Map nextGatewayInstance) {
+        try {
+            String flowInstanceId = flowInstance.get("id").toString();
+            UseMoneyDO entity = useMoneyService.findByInstanceId(flowInstanceId);
+            Project project = projectService.selectById(entity.getProjectId());
+            if (project.getId().equals("31414c5bef38ca7eb9ce31612e84e8e8") || project.getId().equals("3ce706b5a67bb175929cda0117c11620")) {
+                return "true";
+            }
+            return "false";
+        } catch (Exception ex) {
+            return error(ex.getMessage(), ErrorCode.DEFAULT);
+        }
+    }
+
+    @PostMapping("/not-specialProject")
+    public String notSpecialProject(@ParamModel Map flowInstance, @ParamModel Map flowDirectionInstance, @ParamModel Map previousActivityInstance, @ParamModel Map previousGatewayInstance, @ParamModel Map nextActivityTemplate, @ParamModel Map nextGatewayInstance) {
+        try {
+            String flowInstanceId = flowInstance.get("id").toString();
+            UseMoneyDO entity = useMoneyService.findByInstanceId(flowInstanceId);
+            Project project = projectService.selectById(entity.getProjectId());
+            if (project.getId().equals("31414c5bef38ca7eb9ce31612e84e8e8") || project.getId().equals("3ce706b5a67bb175929cda0117c11620")) {
+                return "false";
+            }
+            return "true";
+        } catch (Exception ex) {
+            return error(ex.getMessage(), ErrorCode.DEFAULT);
+        }
+    }
 }

+ 42 - 24
zjugis-business/src/main/resources/templates/Leave/js/index.js

@@ -21,6 +21,7 @@
                 } else {
                     attendanceType.style = 'display:none'
                 }
+                whereIsTimes()
             }
         });
         // z.ui.date("[name='createReqVO$createTime']").setValue(getDate());
@@ -445,31 +446,48 @@
                 leaveTimeList.push(mealName);
             }
         })
-        z.ui.ajax({
-            type: "post",
-            url: "/Leave/getLeaveDays",
-            data: JSON.stringify(leaveTimeList),
-            contentType: "application/json",
-            success: function (res) {
-                console.log(res)
-                let totalMin = res.data;
-                let totalHours = totalMin / 60;
-                let totalDays = Math.floor(totalHours/7.5);
-                let subHours = totalHours%7.5;
-                let leaveDaysText = '';
-                if(totalDays>0){
-                    leaveDaysText += totalDays + '天'
-                }
-                if(subHours>0){
-                    leaveDaysText += subHours + '小时'
-                }
-                $("[name='createReqVO$leaveHours']").val(totalHours);
-                z.ui.input("[name='createReqVO$leaveDays']").setValue(leaveDaysText);
-            },
-            error: function () {
-                z.ui.alertWarning("计算请假天数异常,请联系管理员!")
+        if (attendanceIndex === '14') {
+            let timeDiff = 0;
+            leaveTimeList.forEach(leaveTime =>{
+                timeDiff += Math.abs(new Date(leaveTime.endTime).getTime()-new Date(leaveTime.startTime).getTime())
+            })
+            // 计算天数
+            let totalDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
+            let totalHours = Math.floor(totalDays * 7.5);
+            let leaveDaysText = '';
+            if(totalDays>0){
+                leaveDaysText += totalDays + '天'
             }
-        })
+            $("[name='createReqVO$leaveHours']").val(totalHours);
+            z.ui.input("[name='createReqVO$leaveDays']").setValue(leaveDaysText);
+        }else {
+            z.ui.ajax({
+                type: "post",
+                url: "/Leave/getLeaveDays",
+                data: JSON.stringify(leaveTimeList),
+                contentType: "application/json",
+                success: function (res) {
+                    console.log(res)
+                    let totalMin = res.data;
+                    let totalHours = totalMin / 60;
+                    let totalDays = Math.floor(totalHours/7.5);
+                    let subHours = totalHours%7.5;
+                    let leaveDaysText = '';
+                    if(totalDays>0){
+                        leaveDaysText += totalDays + '天'
+                    }
+                    if(subHours>0){
+                        leaveDaysText += subHours + '小时'
+                    }
+                    $("[name='createReqVO$leaveHours']").val(totalHours);
+                    z.ui.input("[name='createReqVO$leaveDays']").setValue(leaveDaysText);
+                },
+                error: function () {
+                    z.ui.alertWarning("计算请假天数异常,请联系管理员!")
+                }
+            })
+        }
+
     }
 
     function buildQjsjSeq() {

+ 2 - 1
zjugis-module-system/zjugis-module-system-biz/src/main/java/com/zjugis/module/system/dal/mysql/dept/UserPostMapper.java

@@ -5,6 +5,7 @@ import com.zjugis.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.zjugis.module.system.dal.dataobject.dept.UserPostDO;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.Collection;
 import java.util.List;
@@ -30,5 +31,5 @@ public interface UserPostMapper extends BaseMapperX<UserPostDO> {
         delete(Wrappers.lambdaUpdate(UserPostDO.class).eq(UserPostDO::getUserId, userId));
     }
 
-    List<UserPostDO> selectListByPostCodes(Collection<String> postCodes);
+    List<UserPostDO> selectListByPostCodes(@Param("postCodes") Collection<String> postCodes);
 }