浏览代码

项目的成本查看,计算已发生预算
车间管家外调人员的互检审核人为工长

seyason 1 年之前
父节点
当前提交
bc2379b007

+ 21 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectCurrentcostController.java

@@ -2,11 +2,11 @@ package com.management.platform.controller;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.management.platform.entity.ExpenseMainType;
+import com.management.platform.entity.ExpenseSheet;
 import com.management.platform.entity.ProjectBasecostSetting;
 import com.management.platform.entity.ProjectCurrentcost;
-import com.management.platform.mapper.ProjectBasecostSettingMapper;
-import com.management.platform.mapper.ProjectCurrentcostMapper;
-import com.management.platform.mapper.ReportMapper;
+import com.management.platform.mapper.*;
 import com.management.platform.service.ProjectCurrentcostService;
 import com.management.platform.util.HttpRespMsg;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -35,6 +35,10 @@ public class ProjectCurrentcostController {
     private ReportMapper reportMapper;
     @Resource
     ProjectBasecostSettingMapper projectBasecostSettingMapper;
+    @Resource
+    ExpenseMainTypeMapper expenseMainTypeMapper;
+    @Resource
+    ExpenseItemMapper expenseItemMapper;
 
     @RequestMapping("/get")
     public HttpRespMsg get(Integer companyId, Integer projectId) {
@@ -45,6 +49,8 @@ public class ProjectCurrentcostController {
         projectIds.add(projectId);
         List<Map<String, Object>> projectCost = reportMapper.getOneProjectBaseCost(projectId);
 
+        //设置了成本预算项的费用类型
+        List<ExpenseMainType> mainTypeList = expenseMainTypeMapper.selectList(new QueryWrapper<ExpenseMainType>().eq("company_id", companyId).isNotNull("basecost_setting_id"));
         //设置alarmType类型, 实际成本
         projectCurrentcosts.forEach(cur->{
             Optional<ProjectBasecostSetting> first = basecostSettingList.stream().filter(base -> base.getId().equals(cur.getBaseId())).findFirst();
@@ -59,12 +65,19 @@ public class ProjectCurrentcostController {
                     break;
                 }
             }
+            //费用报销对应的预算
+            if (cur.getAlarmType() == null) {
+                List<ExpenseMainType> expenseTypeFindList = mainTypeList.stream().filter(main -> cur.getBaseId().equals(main.getBasecostSettingId())).collect(Collectors.toList());
+                if (expenseTypeFindList.size() > 0) {
+                    double sum = 0;
+                    for (ExpenseMainType type : expenseTypeFindList) {
+                        int expenseTypeId = type.getId();
+                        sum += expenseItemMapper.selectExpenseByProject(null, null, projectId, expenseTypeId);
+                    }
+                    cur.setRealCost(sum);
+                }
+            }
         });
-
-//        double cost = reportMapper.getOneProjectCost(projectId);
-//        HashMap map = new HashMap();
-//        map.put("list", projectCurrentcosts);
-//        map.put("reportCost", cost);
         msg.data = projectCurrentcosts;
         return msg;
     }

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ExpenseItemMapper.java

@@ -18,6 +18,6 @@ import java.util.Map;
 public interface ExpenseItemMapper extends BaseMapper<ExpenseItem> {
     List<ExpenseItemVO> getUserExpenseDetail(Integer projectId);
 
-    Double selectExpenseByProject(String startDate, String endDate, Integer projectId);
+    Double selectExpenseByProject(String startDate, String endDate, Integer projectId, Integer type);
     Double selectSumAmountByProjectAndType(Integer projectId, Integer type);
 }

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

@@ -10485,7 +10485,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     public HttpRespMsg timeCostAndExpenseByProject(HttpServletRequest request, String startDate, String endDate, Integer projectId) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         Map<String, Object> map = reportMapper.selectCostTimeByProject(startDate, endDate, projectId);
-        Double expense = expenseItemMapper.selectExpenseByProject(startDate, endDate, projectId);
+        Double expense = expenseItemMapper.selectExpenseByProject(startDate, endDate, projectId, null);
         map.put("expense",expense);
         httpRespMsg.data = map;
         return httpRespMsg;

+ 3 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ExpenseItemMapper.xml

@@ -58,6 +58,9 @@
         </if>
         and expense_item.amount is not null
         and expense_sheet.status = 0
+        <if test="type!=null">
+            and expense_sheet.type = #{type}
+        </if>
     </select>
 
     <select id="selectSumAmountByProjectAndType" resultType="java.lang.Double">

+ 11 - 3
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -196,9 +196,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             user.setPassword(null);
             userList.add(user);
         } else if (checkType == 1) {
-            List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", user.getCompanyId()));
-            List<Integer> deptIncludeSubDeptIds = departmentService.getDeptIncludeSubDeptIds(deptId, allDeptList);
-            userList = userMapper.selectList(new QueryWrapper<User>().select("id, name, corpwx_userid").in("department_id", deptIncludeSubDeptIds));
+            //当前人员如果不在该计划部门下面,属于外调的,那他的审核人应该是该部门的主要负责人(工长)
+            if (!deptId.equals(user.getDepartmentId())) {
+                Department department = departmentMapper.selectById(deptId);
+                Integer superiorId = department.getSuperiorId();
+                User targetUser = userMapper.selectOne(new QueryWrapper<User>().select("id, name, corpwx_userid").eq("id", superiorId));
+                userList.add(targetUser);
+            } else {
+                List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", user.getCompanyId()));
+                List<Integer> deptIncludeSubDeptIds = departmentService.getDeptIncludeSubDeptIds(deptId, allDeptList);
+                userList = userMapper.selectList(new QueryWrapper<User>().select("id, name, corpwx_userid").in("department_id", deptIncludeSubDeptIds));
+            }
         } else if (checkType == 2) {
             List<DepartmentOtherManager> otherManagers = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("department_id", deptId));
             Department curDept = departmentMapper.selectById(deptId);

+ 14 - 7
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/application-prod.yml

@@ -1,5 +1,5 @@
 server:
-  port: 10010
+  port: 10030
   tomcat:
     uri-encoding: utf-8
     max-http-form-post-size: -1
@@ -13,7 +13,7 @@ spring:
       max-request-size: 100MB
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.100.37.243:7644/man_hour_manager?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
+    url: jdbc:mysql://47.100.37.243:7644/man_workshop?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
     username: root
     password: Ziyu20141026!@@
     hikari:
@@ -82,16 +82,22 @@ mybatis:
   mapper-locations: mappers/*Mapper.xml
 #####配置图片上传路径####
 upload:
-  path: /www/staticproject/timesheet/upload/
-
+  path: /www/staticproject/workshop/upload/
 
 
+referer:
+  refererDomain:
+    - localhost
+    - mobworkshop.ttkuaiban.com
+    - workshop.ttkuaiban.com
+suitId: wwd4d6f94f7bff4d66
+suitSecret: oQot8m-a3Sx2itfry7PDQBsl563l0ukcFQ0y83djHzo
 ##actuator健康检查配置
 management:
   security:
     enabled:false:
   server:
-    port: 10011
+    port: 10031
   #  endpoints:
   #    web:
   #      exposure:
@@ -103,11 +109,12 @@ management:
 
 configEnv:
   isDev: false
+  isPrivateDeploy: false
 # SFTP上传配置
 sftp:
-  isEnabled: true
+  isEnabled: false
   server: 101.132.166.205
   port: 22022
-  remoteDir: /bkup/timesheet
+  remoteDir: /bkup/workshop
   user: root
   password: Huoshi@2022

+ 3 - 3
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/application.yml

@@ -122,7 +122,7 @@ management:
   security:
     enabled:false:
   server:
-    port: 10092
+    port: 10093
 #  endpoints:
 #    web:
 #      exposure:
@@ -149,8 +149,8 @@ suitId: ww4e237fd6abb635af
 suitSecret: 1ApL6LIB4Z0v7wBrKTUNmJrerRWV3gEQWBlYOm8Kijw
 #平台作为服务商的参数
 corpId: wwf11426cf618e1703
-token: Mhi7ehNX61UN4MB7PHnC
-encodingAesKey: PHVMkME1XMrImmGJZ4OZJxSysI7hFEhtDDUQrlHAfIS
+token: PfYEl7HOkXQLXXd5RpAYv2QAZBN
+encodingAesKey: 8DdeJrkKk9t3N5tCWuWqB7hat5W4O68SMi2KH5opwU6
 providerSecret: wlwGIUXskWKsNtCfKUsAfJ6ueba55rZnqZvcC-rUM6nQ-LnRDyYgISQ2BO-UlL_A
 
 configEnv: