瀏覽代碼

e签宝更新修改

zqy 3 周之前
父節點
當前提交
33b9e6bdee

+ 48 - 15
js/addon/custom/js/eSign/ESignGlobalStatusOverviewList.js

@@ -1,14 +1,46 @@
+var personClear = 0;
 shr.defineClass("shr.esign.ESignGlobalStatusOverviewList", shr.framework.List, {
+
     initalizeDOM: function () {
         var _self = this;
 
         shr.esign.ESignGlobalStatusOverviewList.superClass.initalizeDOM.call(this);
-        if(_self.initData&&_self.initData.custom_params){
+        if (_self.initData && _self.initData.custom_params) {
+        }
+        $("#person").shrPromptBox({
+            onchange: function (e,data) {
+                var previous = data.previous;
+                var current = data.current;
+                if(current){
+                    var selectedIds = _self.getSelectedIds();
+                    try{
+                        shr.showConfirm("纭�畾娣诲姞鍛樺伐鍚楋紵", function () {
+                            top.Messenger().hideAll();
+                            _self.doRemoteWithBatchAction({
+                                method: 'addPerson',
+                                billId: selectedIds,
+                                personId:current.id,
+                            });
+                        });
+                    }finally {
+                        setTimeout(()=>{$("#person").shrPromptBox("setValue",null);},500);
+                    }
+                }
+            },
+        });
+    },
+    /**
+     *娣诲姞鍛樺伐
+     */
+    addPersonAction: function () {
+        var _self = this;
+        var selectedIds = this.getSelectedIds();
+        if (selectedIds) {
+            $("#person").parent().next().click();
         }
-
     },
     /**
-     *撤销签署流程
+     *鎾ら攢绛剧讲娴佺▼
      */
     revoke_by_fileAction: function () {
         var _self = this;
@@ -18,8 +50,9 @@ shr.defineClass("shr.esign.ESignGlobalStatusOverviewList", shr.framework.List, {
             billId: selectedIds
         });
     },
+
     /**
-     *基于文件发起签署
+     *鍩轰簬鏂囦欢鍙戣捣绛剧讲
      */
     create_by_fileAction: function () {
         var _self = this;
@@ -30,7 +63,7 @@ shr.defineClass("shr.esign.ESignGlobalStatusOverviewList", shr.framework.List, {
         });
     },
     /**
-     *催签流程中签署人
+     *鍌��娴佺▼涓��缃蹭汉
      */
     urge_by_fileAction: function () {
         var _self = this;
@@ -42,7 +75,7 @@ shr.defineClass("shr.esign.ESignGlobalStatusOverviewList", shr.framework.List, {
         });
     },
     /**
-     *  审批
+     *  瀹℃壒
      */
     previewAction: function () {
         var _self = this;
@@ -52,21 +85,21 @@ shr.defineClass("shr.esign.ESignGlobalStatusOverviewList", shr.framework.List, {
         _self.doRemoteWithBatchAction({
             method: 'preview',
             billId: selectedIds,
-            success:function (response){
-                if(response){
-                    setTimeout(()=>{
+            success: function (response) {
+                if (response) {
+                    setTimeout(() => {
                         _self.reloadPage({
                             uipk: "com.kingdee.eas.custom.esign.app.ESignGlobalStatusOverview.view",
                             billId: selectedIds,
                             method: 'view'
                         });
-                    },500);
+                    }, 500);
                 }
             }
         });
     },
     /**
-     *  审批
+     *  瀹℃壒
      */
     syncAttachmentsAction: function () {
         var _self = this;
@@ -78,7 +111,7 @@ shr.defineClass("shr.esign.ESignGlobalStatusOverviewList", shr.framework.List, {
         });
     },
     /**
-     *  同步签署状态
+     *  鍚屾�绛剧讲鐘舵€�
      */
     detail_sign_fieldsAction: function () {
         var _self = this;
@@ -90,13 +123,13 @@ shr.defineClass("shr.esign.ESignGlobalStatusOverviewList", shr.framework.List, {
         });
     },
     /**
-     * 执行远程服务端方法,适用于有批量操作的远程调用
+     * 鎵ц�杩滅▼鏈嶅姟绔�柟娉曪紝閫傜敤浜庢湁鎵归噺鎿嶄綔鐨勮繙绋嬭皟鐢�
      */
     doRemoteWithBatchAction: function (param) {
         var _self = this;
         var data = param;
         data = $.extend(_self.prepareParam(), data);
-        data = $.extend({ permItemId: shr.getCurrentPagePermItemId() }, data);
+        data = $.extend({permItemId: shr.getCurrentPagePermItemId()}, data);
         var func = data.func;
         var success = param.success;
         delete data.func;
@@ -131,7 +164,7 @@ shr.defineClass("shr.esign.ESignGlobalStatusOverviewList", shr.framework.List, {
                         },
 
                         closeCallback: function () {
-                            // 这里需要存一下是否全部成功的标识
+                            // 杩欓噷闇€瑕佸瓨涓€涓嬫槸鍚﹀叏閮ㄦ垚鍔熺殑鏍囪瘑
                             sessionStorage.setItem('deleteSuccess', batchTipsData.failureCount ? 0 : 1);
                             _self.reloadGrid();
                         }

+ 63 - 0
websrc/com/kingdee/eas/custom/esign/handler/ESignGlobalStatusOverviewListHandler.java

@@ -794,4 +794,67 @@ public class ESignGlobalStatusOverviewListHandler extends ListHandler {
 
         }
     }
+    /**
+     * 添加员工
+     *
+     * @param request
+     * @param response
+     * @param modelMap
+     * @return
+     * @throws SHRWebException
+     */
+    public String addPersonAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException {
+        BatchMessageTipsHeader batchMessageTipsHeader = new BatchMessageTipsHeader();
+        String billId = this.getBillId(request);
+        String personId =request.getParameter("personId");
+
+        String revokeReason = request.getParameter("revokeReason");
+        int failure = 0;
+        int success = 0;
+
+        String[] billIds = billId.split(",");
+        try {
+//
+            boolean isSess = true;
+            IESignGlobalStatusOverview globalStatusOverview = ESignGlobalStatusOverviewFactory.getLocalInstance(this.getCtx());
+            SelectorItemCollection selectorItemCollection = new SelectorItemCollection();
+            selectorItemCollection.add(new SelectorItemInfo("id"));
+            selectorItemCollection.add(new SelectorItemInfo("person.id"));
+            selectorItemCollection.add(new SelectorItemInfo("Fiesign"));
+
+            for(String string : billIds){
+                ESignGlobalStatusOverviewInfo info = globalStatusOverview.getESignGlobalStatusOverviewInfo(new ObjectUuidPK(string));
+
+                boolean Fiesign = info.getBoolean("Fiesign");
+
+                if (Fiesign) {
+                    PersonInfo personInfo = new PersonInfo();
+                    personInfo.setId(BOSUuid.read(personId));
+                    info.setPerson(personInfo);
+                    globalStatusOverview.save(info);
+                    BatchMessageTipsBody body = new BatchMessageTipsBody();
+                    body.setMuitTipsState(Boolean.TRUE);
+                    body.setMuitTipsMessage("成功!");
+                    body.setId(string);
+                    batchMessageTipsHeader.addResult(body);
+                    success++;
+                }else {
+                    BatchMessageTipsBody body = new BatchMessageTipsBody();
+                    body.setMuitTipsState(Boolean.FALSE);
+                    body.setMuitTipsMessage("只能修改e签宝发起的");
+                    body.setId(string);
+                    batchMessageTipsHeader.addResult(body);
+                    isSess = false;
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ShrWebBizException(e);
+        }
+        batchMessageTipsHeader.setBillId(billId);
+        batchMessageTipsHeader.setFailureCount((billIds.length-success));
+        batchMessageTipsHeader.setSuccessCount(success);
+        this.writeSuccessData(batchMessageTipsHeader);
+        return null;
+    }
 }

+ 11 - 1
websrc/com/kingdee/eas/custom/esign/osf/Create_by_fileOSFService.java

@@ -1125,6 +1125,7 @@ public class Create_by_fileOSFService implements IHRMsfService {
                                 for (int x = 0; x < signs.size(); x++) {
                                     JSONObject sign = signs.getJSONObject(x);
                                     JSONObject orgSignerInfo = sign.getJSONObject("orgSignerInfo");
+
                                     if (null != orgSignerInfo) {
                                         String signName = orgSignerInfo.getString("signName");
                                         if (participantFlag.equals(signName)) {
@@ -1137,6 +1138,7 @@ public class Create_by_fileOSFService implements IHRMsfService {
                                                 if (null != normalSignField) {
                                                     JSONArray designatedSealIds = normalSignField.getJSONArray("designatedSealIds");
                                                     //Ìí¼ÓÓ¡ÕÂ
+                                                    sealOwnerId=orgSignerInfo.getString("sealId");
                                                     if (StringUtils.isNotBlank(sealOwnerId)) {
                                                         for (int j = 0; j < designatedSealIds.size(); j++) {
                                                             JSONObject designated = designatedSealIds.getJSONObject(j);
@@ -1144,7 +1146,6 @@ public class Create_by_fileOSFService implements IHRMsfService {
                                                             String dorgId = designated.getString("orgId");
                                                             if (sealId.equals(sealOwnerId)) {
                                                                 orgParticipant.put("sealOwnerId", dorgId);
-
                                                             }
                                                         }
                                                     }
@@ -1198,10 +1199,19 @@ public class Create_by_fileOSFService implements IHRMsfService {
             p.remove("components");
 
         }
+        JSONArray copiers = signInfo.getJSONArray("copiers");
+        for (int i = 0; i < copiers.size(); i++) {
+            JSONObject copierPsnInfo = (JSONObject) copiers.get(i);
+            JSONObject p = new JSONObject();
+            p.put("copierPsnInfo",copierPsnInfo);
+            addCopiers.add(p);
+        }
         for (int i = 0; i < addCopiers.size(); i++) {
             JSONObject copier = (JSONObject) addCopiers.get(i);
             JSONObject p = (JSONObject) copier.get("copierPsnInfo");
             p.remove("psnId");
+            p.remove("f7Data");
+            p.remove("signName");
         }
         participants_addCopiers.put("participants", participants);
         participants_addCopiers.put("addCopiers", addCopiers);

+ 3 - 2
websrc/com/kingdee/eas/custom/esign/osf/EsignFlowListOSFService.java

@@ -336,6 +336,7 @@ public class EsignFlowListOSFService implements IHRMsfService {
         nowInfo.setEsignName(EsignConfigEnum.sign_flow_list);
         nowInfo.setRequestParams(signFlowInfo.toJSONString());
         nowInfo.setFiesign(true);
+
         nowInfo.setSendStatus(SendStatusEnum.SUCCESS);
         JSONArray signers = signFlowInfo.getJSONArray("signers");
         for (int x = 0; x < signers.size(); x++) {
@@ -367,7 +368,7 @@ public class EsignFlowListOSFService implements IHRMsfService {
                 }
             }
         }
-        if (null != nowInfo.getPerson()) {
+        //if (null != nowInfo.getPerson()) {
             IObjectPK pk = overview.addnew(nowInfo);
             ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(1);
             scheduledThreadPoolExecutor.schedule(() -> {
@@ -384,7 +385,7 @@ public class EsignFlowListOSFService implements IHRMsfService {
                     throwables.printStackTrace();
                 }
             }, 1, TimeUnit.MINUTES);
-        }
+        //}
     }