Ver Fonte

提交问题处理

qingyang_zhang há 7 meses atrás
pai
commit
c4e865d0c2

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

@@ -21,8 +21,10 @@
         select whre.CFEmployeeID,whre.CFdata,sum(whre.CFWorkingHours) workHours
         from
         CT_PRO_WorkHoursReportEntry whre
+        left join CT_PRO_WorkHoursReport whr on whr.fid=whre.FPARENTID
         where whre.CFEmployeeID=#{employeeID}
         and whre.FPARENTID != #{id}
+        and whr.CFDATASOURCE='employeeReport'
         group by whre.CFData,whre.CFEmployeeID) hre on hre.CFdata=item.FDate
         WHERE
         item.FDate BETWEEN to_date(#{startDate},'YYYY-MM-DD')
@@ -44,7 +46,9 @@
         select whre.CFEmployeeID,whre.CFdata,sum(whre.CFWorkingHours) workHours
         from
         CT_PRO_WorkHoursReportEntry whre
+        left join CT_PRO_WorkHoursReport whr on whr.fid=whre.FPARENTID
         where whre.CFEmployeeID=#{employeeID}
+        and whr.CFDATASOURCE='employeeReport'
         group by whre.CFData,whre.CFEmployeeID) hre on hre.CFdata=item.FDate
         WHERE
         item.FDate BETWEEN to_date(#{startDate},'YYYY-MM-DD')
@@ -62,6 +66,7 @@
         left join CT_PRO_ProjectManagement pm on pm.FID=whr.CFAffiliatedProjec
         left join t_bd_person p on hre.CFEmployeeID=p.FID
         where p.fnumber=#{number}
+        and whr.CFDATASOURCE='employeeReport'
         and  hre.CfData BETWEEN to_date(#{beginTime},'YYYY-MM-DD')
         AND  to_date(#{endTime},'YYYY-MM-DD')
         <if test="state==true">
@@ -86,6 +91,7 @@
         left join CT_PRO_ProjectManagement pm on pm.FID=whr.CFAffiliatedProjec
         left join t_bd_person p on hre.CFEmployeeID=p.FID
         where p.fnumber=#{number}
+        and whr.CFDATASOURCE='employeeReport'
         and  hre.CfData BETWEEN to_date(#{beginTime},'YYYY-MM-DD')
         AND  to_date(#{endTime},'YYYY-MM-DD')
         <if test="state==true">
@@ -103,6 +109,7 @@
         left join CT_PRO_ProjectManagement pm on pm.FID=whr.CFAffiliatedProjec
         left join t_bd_person p on hre.CFEmployeeID=p.FID
         where p.fnumber=#{number}
+        and whr.CFDATASOURCE='employeeReport'
         and  hre.CfData BETWEEN to_date(#{beginTime},'YYYY-MM-DD')
         AND  to_date(#{endTime},'YYYY-MM-DD')
         <if test="state==true">
@@ -183,6 +190,7 @@
         left join CT_PRO_ProjectManagement pm on pm.FID=whr.CFAffiliatedProjec
         left join t_bd_person p on hre.CFEmployeeID=p.FID
         where whr.fid =#{id}
+        and whr.CFDATASOURCE='employeeReport'
     </select>
     <delete id="deleteWork" parameterType="String">
         delete CT_PRO_WorkHoursReport where fid =#{id}

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

@@ -54,7 +54,8 @@ public class PersonWorkServiceImpl implements PersonWorkService {
     private String url;
     @Value("${HR.ais.serviceName}")
     private String serviceName;
-
+    @Value("${HR.ais.codingRuleService}")
+    private String codingRuleService;
     @Override
     @Transactional
     public Map<String,Object> insertWork(Map<String,Object> param){
@@ -72,7 +73,7 @@ public class PersonWorkServiceImpl implements PersonWorkService {
         try {
             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
 
-
+            OSFWSClient client = new OSFWSClient();
             Integer Hours = 0;
             for (WorkHoursReportEntry jobWorkEntry : jobWork.getEntries()) {
                 String workingHours = jobWorkEntry.getWorkingHours();
@@ -84,9 +85,19 @@ public class PersonWorkServiceImpl implements PersonWorkService {
                     throw new Exception("没有找到项目,请检查");
                 }
                 String number = SnowflakeUtils.getInstance().getSnowflake().nextIdStr();
+                Map<String,Object> map = Maps.newHashMap();
+                String str = client.proceedOSF(url,codingRuleService,map);
+                if(StrUtil.isNotBlank(str)) {
+                    if (JSONUtil.isTypeJSON(str)) {
+                        JSONObject j = JSONUtil.parseObj(str);
+                        String code = j.getStr("code");
+                        if ("200".equals(code)) {
+                            number = j.getStr("number");
+                        }
+                    }
+                }
 
                 Map<String, Object> billMap = new HashMap<>();
-
                 String billID = personWorkMapper.selectBillKey(new Long(number));
                 billMap.put("id", billID);
                 billMap.put("affiliatedProject", projectId);

+ 1 - 0
app/workSheetSystem/src/main/resources/application.yml

@@ -93,6 +93,7 @@ HR:
     effective: 300000
     url: https://172.20.1.210:8080/shr
     serviceName: workHoursReportService
+    codingRuleService: codingRuleService
 #企业微信
 weixin:
   corpsecret: