qingyang_zhang 5 miesięcy temu
rodzic
commit
40ef764e32

+ 25 - 7
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/PersonWorkController.java

@@ -179,7 +179,7 @@ public class PersonWorkController {
                 objectMap = personWorkService.insertWork(map);
             }
             if ((boolean)objectMap.get("code")) {
-                if ("2".equals(jobWork.getState())) {
+                if (2==(jobWork.getState())) {
                     List<Map<String, Object>> billList = (List<Map<String, Object>>) objectMap.get("billList");
                     for (Map<String, Object> stringObjectMap : billList) {
                         String id = (String) stringObjectMap.get("id");
@@ -262,19 +262,37 @@ public class PersonWorkController {
         String action = jobWork.getAction();
 
         if("delete".equals(action)){
-            int i = personWorkService.deleteWork(number,jobWork.getId());
+            Map<String,Object> map = personWorkService.deleteWorkToMap(number,jobWork.getId());
+            int i = (int) map.get("code");
+            String msg = (String) map.get("msg");
             if(i<1){
-                return MessageResult.error("删除失败");
+                if(StrUtil.isBlank(msg)){
+                    result = MessageResult.fail("删除失败");
+                }else {
+                    result = MessageResult.fail(msg);
+                }
             }
         }else if("revoke".equals(action)){
-            int i = personWorkService.revocaWork(number,jobWork.getId());
+            Map<String,Object> map =personWorkService.revocaWorkToMap(number,jobWork.getId());
+            int i = (int) map.get("code");
+            String msg = (String) map.get("msg");
             if(i<1) {
-                result = MessageResult.fail("撤回失败");
+                if(StrUtil.isBlank(msg)){
+                    result = MessageResult.fail("撤回失败");
+                }else {
+                    result = MessageResult.fail(msg);
+                }
             }
         }else if("commit".equals(action)){
-            int i = personWorkService.submitWork(number,jobWork.getId());
+            Map<String,Object> map =personWorkService.submitWorkToMap(number,jobWork.getId());
+            int i = (int) map.get("code");
+            String msg = (String) map.get("msg");
             if(i<1) {
-                result = MessageResult.fail("提交失败");
+                if(StrUtil.isBlank(msg)){
+                    result = MessageResult.fail("提交失败");
+                }else {
+                    result = MessageResult.fail(msg);
+                }
             }
         }else {
             result=MessageResult.fail("没有找到方法");

+ 9 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/PersonWorkService.java

@@ -35,4 +35,13 @@ public interface PersonWorkService {
 
     @Transactional
     int revocaWork(String number, String id);
+
+    @Transactional
+    public Map<String,Object> deleteWorkToMap(String number, String id);
+
+    @Transactional
+    public Map<String,Object> submitWorkToMap(String number, String id);
+
+    @Transactional
+    public Map<String,Object> revocaWorkToMap(String number, String id);
 }

+ 72 - 6
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/PersonWorkServiceImpl.java

@@ -79,7 +79,10 @@ 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){
+                    throw new Exception("没有找到项目,请检查");
+                }
                 String number = SnowflakeUtils.getInstance().getSnowflake().nextIdStr();
 
                 Map<String, Object> billMap = new HashMap<>();
@@ -141,7 +144,7 @@ public class PersonWorkServiceImpl implements PersonWorkService {
     }
 
     @Override
-    public List<Map<String, Object>> getAvailableDateInfoById(String number,String id, String startDate, String endDate) {
+    public List<Map<String, Object>> getAvailableDateInfoById(String number, String id, String startDate, String endDate) {
         Map<String,String> person = personService.getPersonByJobNo(number);
         List<Map<String,Object>> list = personWorkMapper.getAvailableDateInfoById(person.get("id"),id,startDate,endDate);
         for(Map<String,Object> map : list){
@@ -243,12 +246,75 @@ public class PersonWorkServiceImpl implements PersonWorkService {
         map.put("status","2");//  单据id
         String str = client.proceedOSF(url,serviceName,map);
         if(StrUtil.isNotBlank(str)){
-            JSONObject j = JSONUtil.parseObj(str);
-            String code = j.getStr("code");
-            if("200".equals(code)){
-                return 1;
+            try {
+                if(JSONUtil.isTypeJSON(str)) {
+                    JSONObject j = JSONUtil.parseObj(str);
+                    String code = j.getStr("code");
+                    if ("200".equals(code)) {
+                        return 1;
+                    }
+                }else {
+                    return 0;
+                }
+            }catch (Exception e){
+                log.error(e.getMessage(),e);
             }
         }
         return 0;
     }
+    @Override
+    @Transactional
+    public Map<String,Object> deleteWorkToMap(String number, String id){
+        int x =personWorkMapper.deleteWorkEntry(id);
+        int i =personWorkMapper.deleteWork(id);
+        Map<String,Object> map = Maps.newHashMap();
+        map.put("code",(i>0?1:0));
+        map.put("work",i);
+        map.put("workEntry",x);
+        return map;
+    }
+    @Override
+    @Transactional
+    public Map<String,Object> submitWorkToMap(String number, String id){
+        OSFWSClient client = new OSFWSClient();
+        Map<String,Object> map = Maps.newHashMap();
+        map.put("billId",id);//  单据id
+        map.put("status","1");//  单据id
+        String str = client.proceedOSF(url,serviceName,map);
+        map.put("code",0);
+        if(StrUtil.isNotBlank(str)){
+            if(JSONUtil.isTypeJSON(str)) {
+                JSONObject j = JSONUtil.parseObj(str);
+                String code = j.getStr("code");
+                if ("200".equals(code)) {
+                    map.put("code", 1);
+                }
+            }else {
+                map.put("msg", str);
+            }
+        }
+        return map;
+    }
+    @Override
+    @Transactional
+    public Map<String,Object> revocaWorkToMap(String number, String id){
+        OSFWSClient client = new OSFWSClient();
+        Map<String,Object> map = Maps.newHashMap();
+        map.put("billId",id);//  单据id
+        map.put("status","2");//  单据id
+        String str = client.proceedOSF(url,serviceName,map);
+        map.put("code",0);
+        if(StrUtil.isNotBlank(str)) {
+            if (JSONUtil.isTypeJSON(str)) {
+                JSONObject j = JSONUtil.parseObj(str);
+                String code = j.getStr("code");
+                if ("200".equals(code)) {
+                    map.put("code", 1);
+                }
+            }else {
+                map.put("msg", str);
+            }
+        }
+        return map;
+    }
 }

+ 18 - 9
websrc/com/kingdee/eas/hr/project/handler/MemberManagementEditHandler.java

@@ -15,6 +15,7 @@ import com.kingdee.eas.hr.project.*;
 import com.kingdee.shr.base.syssetting.context.SHRContext;
 import com.kingdee.shr.base.syssetting.exception.SHRWebException;
 
+import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
 import com.kingdee.shr.base.syssetting.web.handler.EditHandler;
 
 import org.apache.commons.lang3.StringUtils;
@@ -25,7 +26,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.text.MessageFormat;
 import java.util.Map;
 
-/** 椤圭洰鎴愬憳绠$悊琛ㄥ崟
+/** 项目成员管理表单
  * @BelongsProject: dataImpExp820
  * @BelongsPackage: com.kingdee.eas.hr.project.handler
  * @Author: lhbj
@@ -40,20 +41,28 @@ public class MemberManagementEditHandler extends EditHandler {
         Context ctx = SHRContext.getInstance().getContext();
         MemberManagementInfo management = (MemberManagementInfo) model;
         ProjectRoleInfo projectRole = management.getProjectRole();
+
         PersonInfo personInfo = management.getEmployee();
         ProjectTypeInfo pType = management.getPtype();
         ProjectManagementInfo projectManagement = management.getProjectManagement();
 
-        pType.getId();
-
-        FilterInfo filterInfo = new FilterInfo();
-        filterInfo.getFilterItems().add(new FilterItemInfo("projectManagement.id", projectManagement.getId().toString(), CompareType.EQUALS));
-        filterInfo.getFilterItems().add(new FilterItemInfo("ptype.id", projectRole.getId().toString(), CompareType.EQUALS));
-        filterInfo.getFilterItems().add(new FilterItemInfo("projectRole.id", pType.getId().toString(), CompareType.EQUALS));
-        filterInfo.getFilterItems().add(new FilterItemInfo("ptype.number", pTypeNumber, CompareType.NOTEQUALS));
         try {
+            projectRole= ProjectRoleFactory.getLocalInstance(ctx).getProjectRoleInfo(new ObjectUuidPK(projectRole.getId()));
+            pType= ProjectTypeFactory.getLocalInstance(ctx).getProjectTypeInfo(new ObjectUuidPK(pType.getId()));
+            FilterInfo filterInfo = new FilterInfo();
+            filterInfo.getFilterItems().add(new FilterItemInfo("projectManagement.id", projectManagement.getId().toString(), CompareType.EQUALS));
+            filterInfo.getFilterItems().add(new FilterItemInfo("projectRole.id", projectRole.getId().toString(), CompareType.EQUALS));
+
+            FilterInfo filterInfo2 = new FilterInfo();
+            filterInfo2.getFilterItems().add(new FilterItemInfo("ptype.id", pType.getId().toString(), CompareType.EQUALS));
+            FilterInfo filterInfo3 = new FilterInfo();
+            filterInfo3.getFilterItems().add(new FilterItemInfo("ptype.number", pTypeNumber, CompareType.NOTEQUALS));
+
+            filterInfo2.mergeFilter(filterInfo3,"or");
+            filterInfo.mergeFilter(filterInfo2,"and");
+
             if(MemberManagementFactory.getLocalInstance(ctx).exists(filterInfo)){
-                throw new SHRWebException("宸茬粡瀛樺湪椤圭洰绫诲埆锛�"+pType.getName()+",椤圭洰瑙掕壊锛�"+projectRole.getName()+"鐨勬垚鍛樹簡");
+                throw new ShrWebBizException("已经存在项目类别:"+pType.getName()+",项目角色:"+projectRole.getName()+"的成员了");
             }
         } catch (BOSException e) {
             throw new RuntimeException(e);