Selaa lähdekoodia

调度计划优化

zhouger 6 kuukautta sitten
vanhempi
säilyke
3617f5f9db

+ 12 - 172
src/main/java/sys/sc/formplugin/TestPlugin.java

@@ -138,7 +138,9 @@ public class TestPlugin  extends AbstractListPlugin {
                         //不存在这条数据则新增一条到data中
                         data = new DynamicObject(dynamicObjectType);
                         for (int i = 0; i < selector.size(); i++) {
-                            data.set(selector.get(i), fields[i]);
+                            if (!fields[i].isEmpty()) {
+                                data.set(selector.get(i), fields[i]);
+                            }
                         }
                         Date now = new Date();
                         data.set("nckd_createdate", now);
@@ -581,11 +583,13 @@ public class TestPlugin  extends AbstractListPlugin {
         }
         //生成数据
         else if ("scsj".equals(e.getOperateKey())) {//从文件读取数据插入基础资料
-            try {
-                generateDataFile(getFileUrl("organduserurl"));
-            } catch (IOException ex) {
-                throw new RuntimeException(ex);
-            }
+            generateDataFile(filePath);
+//            try {
+//                generateDataFile(getFileUrl("organduserurl"));
+//
+//            } catch (IOException ex) {
+//                throw new RuntimeException(ex);
+//            }
         }
         //减值数据,导入数据先删除旧的数据
         if ("jzsj".equals(e.getOperateKey()))
@@ -799,172 +803,8 @@ public class TestPlugin  extends AbstractListPlugin {
         //获取linux服务器连接
         if ("connect".equals(e.getOperateKey()))
         {
-            //更新人员
-            // 从 nckd_basicdata 表中获取所有人员数据,假设通过某个条件查找
-            DynamicObject[] personDataArray = BusinessDataServiceHelper.load(
-                    "nckd_basicdata",
-                    "id,nckd_employeeid,nckd_name,nckd_gender,nckd_nl,nckd_zzmm,nckd_zgxl,nckd_orgidname,nckd_orgidcode,nckd_posidname,nckd_posidcode,nckd_yggxlb,nckd_status,nckd_sjh",
-                    null
-            );
-            if (personDataArray == null || personDataArray.length == 0) {
-                this.getView().showMessage("未从 nckd_basicdata 表中获取到任何人员数据!");
-                return;
-            }
-            String msg="";
-            for (DynamicObject personData : personDataArray) {
-                //获取id
-                String id=personData.getString("id");
-                // 获取工号
-                String gonghao = personData.getString("nckd_employeeid");
-                if (gonghao == null || gonghao.isEmpty()) {
-                    continue;
-                }
-                //获取姓名
-                String empname=personData.getString("");
-                // 查询用户是否已存在
-                DynamicObject existingUser = BusinessDataServiceHelper.loadSingle(
-                        "bos_user", new QFilter[]{new QFilter("number", "=", gonghao)}
-                );
-                // 用户已存在,进行数据更新
-                if (existingUser != null) {
-                    //初始化
-                    boolean isUpdated = false;
-                    // 比较并更新性别
-                    Object newGender = personData.get("nckd_gender");
-                    if (!newGender.equals(existingUser.get("gender"))) {
-                        existingUser.set("gender", newGender);
-                        isUpdated = true;
-                    }
-                    // 比较并更新手机号
-                    Object newPhone = personData.get("nckd_sjh");
-                    if (!newPhone.equals(existingUser.get("phone"))) {
-                        existingUser.set("phone", newPhone);
-                        isUpdated = true;
-                    }
-                    //更新部门和岗位
-                    DynamicObjectCollection existingDeptEntries = existingUser.getDynamicObjectCollection("entryentity");
-                    //人员部门分录
-                    DynamicObject existingDeptEntry = existingDeptEntries.isEmpty() ? null : existingDeptEntries.get(0);
-                    // 获取新的部门信息
-                    String deptCode = personData.getString("nckd_orgidcode");
-                    DynamicObject newOrgInfo = BusinessDataServiceHelper.loadSingle(
-                            "bos_adminorg", new QFilter[]{new QFilter("number", "=", deptCode)}
-                    );
-                    boolean deptUpdated = false;
-                    if (newOrgInfo != null) {
-                        if (existingDeptEntry == null) {
-                            // 如果没有现有部门分录,则添加新的部门分录
-                            existingDeptEntry = existingDeptEntries.addNew();
-                            deptUpdated = true;
-                        }
-                        // 比较并更新部门信息
-                        if (!deptCode.equals(existingDeptEntry.get("dpt.number"))) {
-                            existingDeptEntry.set("dpt", newOrgInfo);
-                            deptUpdated = true;
-                        }
-                        // 更新组织结构
-                        DynamicObjectCollection structureInfoCollection = newOrgInfo.getDynamicObjectCollection("structure");
-                        if (structureInfoCollection != null && !structureInfoCollection.isEmpty()) {
-                            DynamicObject structureInfo = structureInfoCollection.get(0);
-                            if(existingDeptEntry.getDynamicObject("orgstructure")!=null){
-                                if (!structureInfo.getPkValue().equals(existingDeptEntry.getDynamicObject("orgstructure").getPkValue())) {
-                                    existingDeptEntry.set("orgstructure", structureInfo.getPkValue());
-                                    deptUpdated = true;
-                                }
-                            }else{
-                                existingDeptEntry.set("orgstructure", structureInfo.getPkValue());
-                                deptUpdated = true;
-                            }
-                        }
-                        // 标记是否需要保存
-                        if (deptUpdated) {
-                            isUpdated = true;
-                        }
-                    } else {
-                        this.getView().showMessage("未找到部门编码为 " + deptCode + " 的部门信息!");
-                    }
-                    // 获取新的岗位信息
-                    String postName = personData.getString("nckd_posidname");
-                    if (!postName.equals(existingDeptEntry.getString("position"))) {
-                        existingDeptEntry.set("position", postName);
-                        isUpdated = true;
-                    }
-                    // 如果有更新则保存
-                    if (isUpdated) {
-                        SaveServiceHelper.save(new DynamicObject[]{existingUser});
-                        msg+="工号为 " + gonghao + " 的用户信息已更新!";
-                    }
-                } else {
-                    // 用户不存在,创建新用户
-                    DynamicObjectType userType = EntityMetadataCache.getDataEntityType("bos_user");
-                    DynamicObject userinfo = new DynamicObject(userType);
-                    ORM impl = ORM.create();
-                    userinfo.set("id", impl.genLongId("bos_user"));
-                    userinfo.set("number", gonghao);
-                    // 设置其他字段
-                    userinfo.set("gender", personData.get("nckd_gender"));
-                    //人员手机号
-                    userinfo.set("phone", personData.get("nckd_sjh"));
-                    // 设置其他固定字段
-                    userinfo.set("startdate", new Date());
-                    Calendar c = Calendar.getInstance();
-                    c.set(Calendar.YEAR, 2999);
-                    userinfo.set("enddate", c.getTime());
-                    userinfo.set("masterid", userinfo.get("id"));
-                    userinfo.set("enable", 1);
-                    userinfo.set("status", "C");
-                    userinfo.set("password", "8HrquJnZfyOkmmHkpGLXfg==");
-                    userinfo.set("isregisted", "1");
-                    userinfo.set("isactived", "1");
-                    userinfo.set("pswstrategy", "338333884850648064");
-                    userinfo.set("psweffectivedate", new Date());
-                    userinfo.set("useenddate", c.getTime());
-                    // 设置姓名和拼音
-                    String name = personData.getString("nckd_name");
-                    userinfo.set("name", name);
-                    String fullPinyin = UserOperationUtils.getFullSpellByName(name);
-                    String simplePinyin = UserOperationUtils.getFirstSpellByName(name);
-                    userinfo.set("fullpinyin", fullPinyin);
-                    userinfo.set("simplepinyin", simplePinyin);
-                    // 设置用户名
-                    String username = UserOperationUtils.getUserNameByFormatedFullPinyin(
-                            (long) userinfo.getPkValue(), fullPinyin, null
-                    );
-                    userinfo.set("username", username);
-                    // 创建部门分录
-                    DynamicObjectCollection bmflList = userinfo.getDynamicObjectCollection("entryentity");
-                    DynamicObject bumeninfo = bmflList.addNew();
-                    // 获取部门编码并在 bos_adminorg 表中查找部门信息
-                    String deptCode = personData.getString("nckd_orgidcode");
-                    DynamicObject orginfo = BusinessDataServiceHelper.loadSingle(
-                            "bos_adminorg", new QFilter[]{new QFilter("number", "=", deptCode)}
-                    );
-                    if (orginfo != null) {
-                        bumeninfo.set("dpt", orginfo);
-                        // 获取组织的分录集合 structure 的第一条数据
-                        DynamicObjectCollection structureInfoCollection = orginfo.getDynamicObjectCollection("structure");
-                        if (structureInfoCollection != null && !structureInfoCollection.isEmpty()) {
-                            DynamicObject structureInfo = structureInfoCollection.get(0); // 获取第一条结构信息
-                            bumeninfo.set("orgstructure", structureInfo.getPkValue());
-                        } else {
-                            this.getView().showMessage("部门编码为 " + deptCode + " 的部门缺少组织结构信息,跳过该记录。");
-                        }
-                    }
-                    String postName = personData.getString("nckd_posidname");;
-                    bumeninfo.set("position", postName);
-                    //所在岗位名称
-                    String positionnumber = personData.getString("nckd_posidname");;
-                    bumeninfo.set("post", positionnumber);
-                    // 保存新用户信息
-                    SaveServiceHelper.save(new DynamicObject[]{userinfo});
-                    msg+="工号为 " + gonghao + " 的用户已创建!";
-                }
-            }
-            if("".equals(msg)){
-                this.getView().showMessage("没有需要更新或新增的人员");
-            }else{
-                this.getView().showMessage(msg);
-            }
+            generateDataFile(filePath);
+
         }
 
     }

+ 0 - 3
src/main/java/sys/sc/opplugin/utils/SftpClient.java

@@ -45,18 +45,15 @@ public class SftpClient {
         InputStream inputStream = sftpChannel.get(remoteFilePath);
         return inputStream;
     }
-
     //上传文件到服务器路径,
     public void fileCreat(String localFilePath,String remoteFilePath) throws SftpException {
         //本地服务器传到服务器文件
         sftpChannel.put(localFilePath,remoteFilePath);
     }
-
     //创建文件夹
     public void creatDir(String path) throws SftpException {
         sftpChannel.mkdir(path);
     }
-
     // 断开连接
     public void disconnect() {
         if (sftpChannel != null && sftpChannel.isConnected()) {

+ 1 - 1
src/main/java/sys/sc/task/UpdateBankDailyTask.java

@@ -90,7 +90,7 @@ public class UpdateBankDailyTask extends AbstractTask {
                     //去掉换行符|$|
                     line = line.replace(endsign, "");
                     //空格符号,根据这个符号分割
-                    String[] fields = line.split(splitsign);
+                    String[] fields = line.split(splitsign,-1);
                     //如果获取的数据行不等于预设字段的行,则跳过这行数据
 //                        if (fields.length != selector.size()) {
 //                            continue;

+ 4 - 4
src/main/java/sys/sc/task/UpdateDataDailyTask.java

@@ -104,11 +104,11 @@ public class UpdateDataDailyTask extends AbstractTask {
                     //去掉换行符|$|
                     line = line.replace(endsign, "");
                     //空格符号,根据这个符号分割
-                    String[] fields = line.split(splitsign);
+                    String[] fields = line.split(splitsign,-1);
                     //如果获取的数据行不等于预设字段的行,则跳过这行数据
-                    if (fields.length != selector.size()) {
-                        continue;
-                    }
+//                    if (fields.length != selector.size()) {
+//                        continue;
+//                    }
                     //获取工号
                     String gonghao = fields[0];
                     boolean isUpdated = false;

+ 5 - 10
src/main/java/sys/sc/task/UpdateImpairmentDailyTask.java

@@ -78,11 +78,11 @@ public class UpdateImpairmentDailyTask extends AbstractTask {
                     //去掉换行符|$|
                     line = line.replace(endsign, "");
                     //空格符号,根据这个符号分割
-                    String[] fields = line.split(splitsign);
+                    String[] fields = line.split(splitsign,-1);
                     //如果获取的数据行不等于预设字段的行,则跳过这行数据
-                    if (fields.length != selector.size()) {
-                        continue;
-                    }
+//                    if (fields.length != selector.size()) {
+//                        continue;
+//                    }
                     //获取单据号
                     String dubil_id = fields[0];
                     DynamicObject data;
@@ -106,13 +106,8 @@ public class UpdateImpairmentDailyTask extends AbstractTask {
                 //转换list为DynamicObject类型
                 SaveServiceHelper.save(dynamicObjectType,dynamicObjectlist);
             }
-            QFilter qFilter=new QFilter("nckd_isdelete",QCP.equals,true);
             //删除所有的数据,再新增
-            for (DynamicObject existingDatum : existingData) {
-                existingDatum.set("nckd_isdelete", true);
-            }
-            SaveServiceHelper.save(existingData);
-            DeleteServiceHelper.delete(dynamicObjectType.getName(),new QFilter[]{qFilter});
+            DeleteServiceHelper.delete(dynamicObjectType.getName(),null);
             log.info("-----------------------减值数据已成功保存---------------------");
             custSave(dynamicObjectlist);
             log.info("------------------------客户数据已成功保存----------------------");