Browse Source

报工增加字段

qingyang_zhang 3 tháng trước cách đây
mục cha
commit
1d40eb4c2f

+ 8 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/PersonMapper.java

@@ -23,4 +23,12 @@ public interface PersonMapper {
      Map<String,String> getPersonByJobNo(@Param("jobNo")String jobNo);
      Map<String,String> getPersonByPersonId(@Param("id")String id);
 
+     Map<String,String> getPersonAndProjectByUserId(@Param("userid")String userid,@Param("projectId")String projectId);
+
+     Map<String,String> getPersonAndProjectByOpenId(@Param("openid")String openid,@Param("projectId")String projectId);
+
+     Map<String,String> getPersonAndProjectByJobNo(@Param("jobNo")String jobNo,@Param("projectId")String projectId);
+     Map<String,String> getPersonAndProjectByPersonId(@Param("id")String id,@Param("projectId")String projectId);
+     Map<String,String> getProjectManagementInfoBYId(@Param("id")String id,@Param("personId")String personId);
+
 }

+ 106 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/PersonMapper.xml

@@ -72,4 +72,110 @@
         left join T_org_position pos on pos.fid= pop.FPRIMARYPOSITIONID
         where p.fid=#{id}
     </select>
+
+    <!--
+CT_PRO_MemberManagement
+
+CFEMPLOYEEID
+项目角色
+CFPROJECTROLEID
+项目类别
+CFPTYPEID
+项目管理
+CFPROJECTMANAGEMENID
+是否状态
+CFSTATE
+-->
+
+    <select id="getPersonAndProjectByUserId" resultType="java.util.Map" parameterType="String">
+        select p.fid "id",p.fnumber "personNumber",p.fname_l2 "personName",
+        TO_CHAR(NVL(pp2.FEnterDate, ''), 'YYYY-MM-DD') "enterDate",
+        btype.fname_l2 "btypeName",btype.fid "btypeId",
+        pp.fid "userID",pp2.FControlUnitID "controlUnitID",pp2.FHrOrgUnitID "hrOrgUnitID",
+        pop.FPersonDep "adminOrgId",pop.FPRIMARYPOSITIONID "positionId",
+        adminOrg.fname_l2 "adminOrgName",pos.fName_l2 "positionName",
+        pos.fnumber "positionNumber",pp.fNumber "userNumber",
+        mm.CFPTYPEID "ptypeId", mm.CFPROJECTROLEID "projectRoleId",mm.CFPROJECTMANAGEMENID "projectManagemenId"
+        from t_bd_person p
+        left join t_pm_user pp on pp.fpersonid=p.fid
+        left join T_HR_EMPLABORRELATION pp2 on pp2.FPersonID=p.fid
+        left join T_HR_BDEmployeeType btype on btype.fid=pp2.FLaborRelationStateID
+        left join T_HR_PersonPosition pop on pop.fpersonid=p.fid
+        left join T_org_admin adminOrg on adminOrg.fid= pop.FPersonDep
+        left join T_org_position pos on pos.fid= pop.FPRIMARYPOSITIONID
+        left join CT_PRO_MemberManagement mm on mm.CFPROJECTMANAGEMENID=#{projectId}
+        and mm.CFEMPLOYEEID=p.fid and mm.CFSTATE=1
+        where pp.fid=#{userid}
+    </select>
+
+    <select id="getPersonAndProjectByOpenId" resultType="java.util.Map" parameterType="String">
+        select p.fid "id",p.fnumber "personNumber",p.fname_l2 "personName",
+        TO_CHAR(NVL(pp2.FEnterDate, ''), 'YYYY-MM-DD') "enterDate",
+        btype.fname_l2 "btypeName",btype.fid "btypeId",
+        pp.fid "userID",pp2.FControlUnitID "controlUnitID",pp2.FHrOrgUnitID "hrOrgUnitID",
+        pop.FPersonDep "adminOrgId",pop.FPRIMARYPOSITIONID "positionId",
+        adminOrg.fname_l2 "adminOrgName",pos.fName_l2 "positionName",
+        pos.fnumber "positionNumber",pp.fNumber "userNumber",
+        mm.CFPTYPEID "ptypeId", mm.CFPROJECTROLEID "projectRoleId",mm.CFPROJECTMANAGEMENID "projectManagemenId"
+        from t_bd_person p
+        left join t_pm_user pp on pp.fpersonid=p.fid
+        left join T_HR_EMPLABORRELATION pp2 on pp2.FPersonID=p.fid
+        left join T_HR_BDEmployeeType btype on btype.fid=pp2.FLaborRelationStateID
+        left join T_HR_PersonPosition pop on pop.fpersonid=p.fid
+        left join T_org_admin adminOrg on adminOrg.fid= pop.FPersonDep
+        left join T_org_position pos on pos.fid= pop.FPRIMARYPOSITIONID
+        left join CT_PRO_MemberManagement mm on mm.CFPROJECTMANAGEMENID=#{projectId}
+        and mm.CFEMPLOYEEID=p.fid and mm.CFSTATE=1
+        where pp.fopenid=#{openid}
+    </select>
+
+    <select id="getPersonAndProjectByJobNo" resultType="java.util.Map" parameterType="String">
+        select p.fid "id",p.fnumber "personNumber",p.fname_l2 "personName",
+        TO_CHAR(NVL(pp2.FEnterDate, ''), 'YYYY-MM-DD') "enterDate",
+        btype.fname_l2 "btypeName",btype.fid "btypeId",
+        pp.fid "userID",pp2.FControlUnitID "controlUnitID",pp2.FHrOrgUnitID "hrOrgUnitID",
+        pop.FPersonDep "adminOrgId",pop.FPRIMARYPOSITIONID "positionId",
+        adminOrg.fname_l2 "adminOrgName",pos.fName_l2 "positionName",
+        pos.fnumber "positionNumber",pp.fNumber "userNumber",
+        mm.CFPTYPEID "ptypeId", mm.CFPROJECTROLEID "projectRoleId",mm.CFPROJECTMANAGEMENID "projectManagemenId"
+        from t_bd_person p
+        left join t_pm_user pp on pp.fpersonid=p.fid
+        left join T_HR_EMPLABORRELATION pp2 on pp2.FPersonID=p.fid
+        left join T_HR_BDEmployeeType btype on btype.fid=pp2.FLaborRelationStateID
+        left join T_HR_PersonPosition pop on pop.fpersonid=p.fid
+        left join T_org_admin adminOrg on adminOrg.fid= pop.FPersonDep
+        left join T_org_position pos on pos.fid= pop.FPRIMARYPOSITIONID
+        left join CT_PRO_MemberManagement mm on mm.CFPROJECTMANAGEMENID=#{projectId}
+        and mm.CFEMPLOYEEID=p.fid and mm.CFSTATE=1
+        where p.fnumber=#{jobNo}
+    </select>
+    <select id="getPersonAndProjectByPersonId" resultType="java.util.Map" parameterType="String">
+        select p.fid "id",p.fnumber "personNumber",p.fname_l2 "personName",
+        TO_CHAR(NVL(pp2.FEnterDate, ''), 'YYYY-MM-DD') "enterDate",
+        btype.fname_l2 "btypeName",btype.fid "btypeId",
+        pp.fid "userID",pp2.FControlUnitID "controlUnitID",pp2.FHrOrgUnitID "hrOrgUnitID",
+        pop.FPersonDep "adminOrgId",pop.FPRIMARYPOSITIONID "positionId",
+        adminOrg.fname_l2 "adminOrgName",pos.fName_l2 "positionName",
+        pos.fnumber "positionNumber",pp.fNumber "userNumber",
+        mm.CFPTYPEID "ptypeId", mm.CFPROJECTROLEID "projectRoleId",mm.CFPROJECTMANAGEMENID "projectManagemenId"
+        from t_bd_person p
+        left join t_pm_user pp on pp.fpersonid=p.fid
+        left join T_HR_EMPLABORRELATION pp2 on pp2.FPersonID=p.fid
+        left join T_HR_BDEmployeeType btype on btype.fid=pp2.FLaborRelationStateID
+        left join T_HR_PersonPosition pop on pop.fpersonid=p.fid
+        left join T_org_admin adminOrg on adminOrg.fid= pop.FPersonDep
+        left join T_org_position pos on pos.fid= pop.FPRIMARYPOSITIONID
+        left join CT_PRO_MemberManagement mm on mm.CFPROJECTMANAGEMENID=#{projectId}
+        and mm.CFEMPLOYEEID=p.fid and mm.CFSTATE=1
+        where p.fid=#{id}
+    </select>
+    <select id="getProjectManagementInfoBYId" resultType="java.util.Map" parameterType="String">
+        select p.fid "id",p.fnumber "number",p.CFProjectName "projectName",
+        mm.CFPTYPEID "ptypeId", mm.CFPROJECTROLEID "projectRoleId"
+        from CT_PRO_ProjectManagement p
+        left join CT_PRO_MemberManagement mm on mm.CFPROJECTMANAGEMENID=p.fid and mm.CFSTATE=1
+        and mm.CFEMPLOYEEID=#{personId}
+        where p.fid=#{id}
+    </select>
+
 </mapper>

+ 9 - 2
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/PersonWorkMapper.xml

@@ -122,6 +122,8 @@
         </if>
         group by whr.fbillState
     </select>
+
+
     <insert id="insertBill" parameterType="java.util.List" >
         insert
         into CT_PRO_WorkHoursReport(
@@ -129,7 +131,9 @@
         FBillState,FNumber,FBizDate,
         FCreatorID,FCreateTime,FLastUpdateUserID,
         FLastUpdateTime, FControlUnitID,FID,
-        CFDataSource,CFFillingStartDate,CFFillingEndDate,FDESCRIPTION
+        CFDataSource,CFFillingStartDate,CFFillingEndDate,
+        FDESCRIPTION,
+        CFPERSONID,CFPROJECTTYPEID,CFPROJECTROLEID,CFWORKINGHOURS
         )
         <foreach collection="billList" item="item" index="index" separator="UNION ALL">
             SELECT
@@ -137,7 +141,10 @@
             #{item.billState}, #{item.number},  SYSDATE,
             #{item.creator}, SYSDATE, #{item.lastUpdateUser},
             SYSDATE, #{item.CU}, #{item.id},
-            'employeeReport', to_date(#{item.fillingStartDate},'YYYY-MM-DD'), to_date(#{item.fillingEndDate},'YYYY-MM-DD'),#{item.jobContent}
+            'employeeReport', to_date(#{item.fillingStartDate},'YYYY-MM-DD'), to_date(#{item.fillingEndDate},'YYYY-MM-DD'),
+            #{item.jobContent},
+            #{item.personId}, #{item.ptypeId}, #{item.projectRoleId},
+            #{item.WorkingHours}
             FROM dual
         </foreach>
 

+ 10 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/PersonService.java

@@ -19,4 +19,14 @@ public interface PersonService {
 
    Map<String,String> getPersonByJobNo(String jobNo);
    Map<String,String> getPersonByPersonId(String openid);
+
+   Map<String, String> getPersonAndProjectByUserId(String userid, String projectId);
+
+   Map<String, String> getPersonAndProjectByOpenId(String openid, String projectId);
+
+   Map<String, String> getPersonAndProjectByJobNo(String jobNo, String projectId);
+
+   Map<String, String> getPersonAndProjectByPersonId(String id, String projectId);
+
+   Map<String, String> getProjectManagementInfoBYId(String id, String personId);
 }

+ 21 - 1
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/PersonServiceImpl.java

@@ -6,7 +6,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.Collections;
 import java.util.Map;
 
 /**
@@ -42,5 +41,26 @@ public class PersonServiceImpl implements PersonService {
     public Map<String, String> getPersonByPersonId(String id) {
         return personMapper.getPersonByPersonId(id);
     }
+    @Override
+    public Map<String, String> getPersonAndProjectByUserId(String userid, String projectId) {
+        return personMapper.getPersonAndProjectByUserId(userid,projectId);
+    }
+
+    @Override
+    public Map<String, String> getPersonAndProjectByOpenId(String openid, String projectId) {
+        return personMapper.getPersonAndProjectByOpenId(openid,projectId);
+    }
 
+    @Override
+    public Map<String, String> getPersonAndProjectByJobNo(String jobNo, String projectId) {
+        return personMapper.getPersonAndProjectByJobNo(jobNo,projectId);
+    }
+    @Override
+    public Map<String, String> getPersonAndProjectByPersonId(String id, String projectId) {
+        return personMapper.getPersonAndProjectByPersonId(id,projectId);
+    }
+    @Override
+    public Map<String, String> getProjectManagementInfoBYId(String id, String personId) {
+        return personMapper.getProjectManagementInfoBYId(id,personId);
+    }
 }

+ 8 - 3
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/PersonWorkServiceImpl.java

@@ -105,8 +105,8 @@ public class PersonWorkServiceImpl implements PersonWorkService {
                 BigDecimal Hour = new BigDecimal(workingHours);
                 Hours += Hour.intValue();
                 String projectId = jobWorkEntry.getProjectId();
-                List<Map<String, String>> pros = projectMapper.getProjectManagementInfoBYId(projectId);
-                if (pros.size() <= 0) {
+                Map<String, String> pros = personService.getProjectManagementInfoBYId(projectId, person.get("id"));
+                if (null==pros&&pros.isEmpty()) {
                     throw new Exception("没有找到项目,请检查");
                 }
                 String number = SnowflakeUtils.getInstance().getSnowflake().nextIdStr();
@@ -134,12 +134,16 @@ public class PersonWorkServiceImpl implements PersonWorkService {
                 billMap.put("adminOrg", person.get("adminOrgId"));
                 billMap.put("hrOrgUnit", person.get("hrOrgUnitID"));
                 billMap.put("billState", "0");
+                billMap.put("personId", person.get("id"));
+                billMap.put("ptypeId", pros.get("ptypeId"));
+                billMap.put("projectRoleId", pros.get("projectRoleId"));
                 billMap.put("number", number);
                 billMap.put("CU", person.get("controlUnitID"));
                 Date createTime = new Date();
                 billMap.put("creator", person.get("userID"));
                 billMap.put("lastUpdateUser", person.get("userID"));
                 billMap.put("jobContent", jobWorkEntry.getJobContent());
+                BigDecimal WorkingHoursSum = BigDecimal.ZERO;
                 for (int i = begin; i <= end; i++) {
                     Map<String, Object> objectMap = Maps.newHashMap();
                     String iday = "01";
@@ -161,8 +165,9 @@ public class PersonWorkServiceImpl implements PersonWorkService {
                     objectMap.put("notes", "");
                     objectMap.put("seq", i);
                     workList.add(objectMap);
-
+                    //WorkingHoursSum=WorkingHoursSum.add(Hour);
                 }
+                billMap.put("WorkingHours", Hour);
                 billList.add(billMap);
             }
 

+ 7 - 0
app/workSheetSystem/src/test/java/com/qy/worksheetsystem/Test.java

@@ -41,6 +41,13 @@ public class Test {
         String token2 = JWTUtil.encrypt("VfSso6eBS9ynvnYoaDu39YDvfe0=,"+System.currentTimeMillis(),"htyshr");
         System.out.println(JWTUtil.decrypt(token2,"htyshr"));
         System.out.println(token2);
+        System.out.println("dev___________________________________________________________________________________________________________");
+
+
+        String tokenDev = JWTUtil.encrypt("4xsDVJMpSpevWaakRPxvyoDvfe0=,"+System.currentTimeMillis(),"HTYSHRTEST");
+        System.out.println(JWTUtil.decrypt(tokenDev,"HTYSHRTEST"));
+        System.out.println(tokenDev);
+
 //        String token = JWT.create()
 //                .withClaim("number", "Y0000034")
 //                .withExpiresAt(date)