Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
		
						commit
						f05be78785
					
				| 
						 | 
				
			
			@ -144,14 +144,14 @@ public class ReimbursementAccountTypePlugin extends AbstractBillPlugIn implement
 | 
			
		|||
            //费用项目
 | 
			
		||||
            String billFormId = ((BillView) this.getView()).getFormId();//单据标识
 | 
			
		||||
            DynamicObject costCompany = (DynamicObject) this.getModel().getValue("costcompany");//费用承担公司
 | 
			
		||||
            DynamicObject costDept = (DynamicObject) this.getModel().getValue("costdept");//费用承担部门
 | 
			
		||||
            long costCompanyId = costCompany.getLong("id");//费用承担公司id
 | 
			
		||||
            long userid = Long.parseLong(RequestContext.get().getUserId());//当前用户id
 | 
			
		||||
            String userMainJob = UserServiceHelper.getUserMainJob(userid);//获取用户默认主职位
 | 
			
		||||
            if (!OrgCheckUtils.isKS(costCompanyId)) {
 | 
			
		||||
                //不是矿山不进入下面逻辑
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            DynamicObject costDept = (DynamicObject) this.getModel().getValue("costdept");//费用承担部门
 | 
			
		||||
            long userid = Long.parseLong(RequestContext.get().getUserId());//当前用户id
 | 
			
		||||
            String userMainJob = UserServiceHelper.getUserMainJob(userid);//获取用户默认主职位
 | 
			
		||||
            ChangeData changeData = e.getChangeSet()[0];
 | 
			
		||||
            int rowIndex = changeData.getRowIndex();//所选行
 | 
			
		||||
            DynamicObjectCollection entryEntityCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("expenseentryentity");//分录
 | 
			
		||||
| 
						 | 
				
			
			@ -173,7 +173,7 @@ public class ReimbursementAccountTypePlugin extends AbstractBillPlugIn implement
 | 
			
		|||
                }
 | 
			
		||||
                QFilter filter = new QFilter("zcgj_entryentity.zcgj_fee", QCP.equals, expenseItemId).and("zcgj_biztype", QCP.equals, typeKey);
 | 
			
		||||
                DynamicObjectCollection AccountFeeCollection = QueryServiceHelper.query("zcgj_accountfee",
 | 
			
		||||
                        "zcgj_entryentity.zcgj_accounttype", new QFilter[]{filter});//费用与科目分类
 | 
			
		||||
                        "zcgj_entryentity.zcgj_accounttype", new QFilter[]{filter});//费用与科目分类单
 | 
			
		||||
 | 
			
		||||
                if (AccountFeeCollection != null && AccountFeeCollection.size() == 1) {
 | 
			
		||||
                    //费用与科目分类中费用项目与科目分类为一对一的关系,直接获取科目分类赋值
 | 
			
		||||
| 
						 | 
				
			
			@ -182,16 +182,16 @@ public class ReimbursementAccountTypePlugin extends AbstractBillPlugIn implement
 | 
			
		|||
 | 
			
		||||
                } else if (AccountFeeCollection != null && AccountFeeCollection.size() > 1) {
 | 
			
		||||
                    //费用与科目分类中费用项目与科目分类为一对多的关系,先查询默认科目分类,存在默认科目分类数据时,如若通过费用承担公司与公司科目分类规则中查询到对应数据,便直接赋值
 | 
			
		||||
                    //如若没有,则通过费用承担公司在组织分类中查询对应默认分类,再通过组织分类配置表确认默认科目分类
 | 
			
		||||
                    //如若没有,则通过费用承担公司在组织分类中查询对应默认分类,再通过组织分类配置表确认默认科目分类,部门属性,职位,人员分别存在不同逻辑
 | 
			
		||||
                    QFilter filter1 = new QFilter("zcgj_entryexpense.zcgj_expenseitem", QCP.equals, expenseItemId);
 | 
			
		||||
                    DynamicObjectCollection orgTypeDefaultCollection = QueryServiceHelper.query("zcgj_orgtypedefault",
 | 
			
		||||
                            "zcgj_entryexpense.zcgj_yanzhou,zcgj_entryexpense.zcgj_xian,zcgj_entryexpense.zcgj_nanjing,zcgj_entryexpense.zcgj_tianjin",
 | 
			
		||||
                            new QFilter[]{filter1});//默认科目分类
 | 
			
		||||
                            new QFilter[]{filter1});//默认科目分类单
 | 
			
		||||
 | 
			
		||||
                    if (orgTypeDefaultCollection != null && orgTypeDefaultCollection.size() == 1) {
 | 
			
		||||
                        //默认科目分类中存在单条的费用项目
 | 
			
		||||
                        DynamicObject companyRule = BusinessDataServiceHelper.loadSingle("zcgj_companyrule",
 | 
			
		||||
                                new QFilter("zcgj_costcompany.id", QCP.equals, costCompanyId).toArray());//公司科目分类规则
 | 
			
		||||
                                new QFilter("zcgj_costcompany.id", QCP.equals, costCompanyId).toArray());//公司科目分类规则单
 | 
			
		||||
                        if (companyRule != null) {
 | 
			
		||||
                            //公司科目分类规则中存在对应公司的信息
 | 
			
		||||
                            DynamicObjectCollection entryRuleCollection = companyRule.getDynamicObjectCollection("zcgj_entryrule");//公司费用分类规则分录
 | 
			
		||||
| 
						 | 
				
			
			@ -202,24 +202,21 @@ public class ReimbursementAccountTypePlugin extends AbstractBillPlugIn implement
 | 
			
		|||
                                    switch (entryRuleRuleType) {
 | 
			
		||||
                                        case "公司":
 | 
			
		||||
                                            DynamicObject entryRuleCompanyType = entryRule.getDynamicObject("zcgj_companytype");//公司默认分类(科目分类)
 | 
			
		||||
 | 
			
		||||
                                            this.getModel().setValue("zcgj_accounttype", entryRuleCompanyType, rowIndex);
 | 
			
		||||
                                            return;
 | 
			
		||||
                                        case "部门属性":
 | 
			
		||||
                                            DynamicObject dutyRelation = BusinessDataServiceHelper.loadSingle("bos_org_dutyrelation", "orgduty",
 | 
			
		||||
                                                    new QFilter("org.id", QCP.equals, costDept.getLong("id")).toArray());//部门属性管理单
 | 
			
		||||
 | 
			
		||||
                                            DynamicObject orgDuty = dutyRelation.getDynamicObject("orgduty");//业务属性
 | 
			
		||||
 | 
			
		||||
                                            long id = orgDuty.getLong("id");
 | 
			
		||||
                                            DynamicObject accountType = BusinessDataServiceHelper.loadSingle("zcgj_accounttype", "id",
 | 
			
		||||
                                                    new QFilter("zcgj_orgtype.fbasedataid", QCP.in, id).toArray());//科目分类单
 | 
			
		||||
 | 
			
		||||
                                            this.getModel().setValue("zcgj_accounttype", accountType, rowIndex);
 | 
			
		||||
                                            return;
 | 
			
		||||
                                            if (dutyRelation != null) {
 | 
			
		||||
                                                DynamicObject orgDuty = dutyRelation.getDynamicObject("orgduty");//业务属性
 | 
			
		||||
                                                long id = orgDuty.getLong("id");
 | 
			
		||||
                                                DynamicObject accountType = BusinessDataServiceHelper.loadSingle("zcgj_accounttype", "id",
 | 
			
		||||
                                                        new QFilter("zcgj_orgtype.fbasedataid", QCP.in, id).toArray());//科目分类单
 | 
			
		||||
                                                this.getModel().setValue("zcgj_accounttype", accountType, rowIndex);
 | 
			
		||||
                                                return;
 | 
			
		||||
                                            }
 | 
			
		||||
                                        case "职位":
 | 
			
		||||
                                            DynamicObject zcgj_positiontype = entryRule.getDynamicObject("zcgj_positiontype");//职位默认分类
 | 
			
		||||
 | 
			
		||||
                                            if (zcgj_positiontype != null) {
 | 
			
		||||
                                                QFilter filter4 = new QFilter("zcgj_entryposition.zcgj_cusposition.name", QCP.equals, userMainJob);
 | 
			
		||||
                                                DynamicObjectCollection zcgj_positionrule = QueryServiceHelper.query("zcgj_positionrule",
 | 
			
		||||
| 
						 | 
				
			
			@ -236,7 +233,6 @@ public class ReimbursementAccountTypePlugin extends AbstractBillPlugIn implement
 | 
			
		|||
                                            break;
 | 
			
		||||
                                        case "人员":
 | 
			
		||||
                                            DynamicObject zcgj_persontype = entryRule.getDynamicObject("zcgj_persontype");//人员默认分类
 | 
			
		||||
 | 
			
		||||
                                            if (zcgj_persontype != null) {
 | 
			
		||||
                                                QFilter filter5 = new QFilter("zcgj_entryperson.zcgj_person.id", QCP.equals, userid);
 | 
			
		||||
                                                DynamicObjectCollection zcgj_positionrule = QueryServiceHelper.query("zcgj_personrule",
 | 
			
		||||
| 
						 | 
				
			
			@ -258,7 +254,7 @@ public class ReimbursementAccountTypePlugin extends AbstractBillPlugIn implement
 | 
			
		|||
 | 
			
		||||
                        QFilter filter3 = new QFilter("entryentity.orgid", QCP.equals, costCompanyId);
 | 
			
		||||
                        DynamicObjectCollection wf_orgTypCollection = QueryServiceHelper.query("wf_orgtype",
 | 
			
		||||
                                "number", new QFilter[]{filter3});//组织分类
 | 
			
		||||
                                "number", new QFilter[]{filter3});//组织分类单
 | 
			
		||||
 | 
			
		||||
                        if (wf_orgTypCollection != null && wf_orgTypCollection.size() > 0) {
 | 
			
		||||
                            List<String> numbers = new ArrayList<>();
 | 
			
		||||
| 
						 | 
				
			
			@ -267,7 +263,7 @@ public class ReimbursementAccountTypePlugin extends AbstractBillPlugIn implement
 | 
			
		|||
                                numbers.add(number);
 | 
			
		||||
                            }
 | 
			
		||||
                            DynamicObject orgCateGoryConfig = BusinessDataServiceHelper.loadSingle("zcgj_orgcategoryconfig",
 | 
			
		||||
                                    new QFilter("number", QCP.in, numbers).toArray());//组织分类配置表
 | 
			
		||||
                                    new QFilter("number", QCP.in, numbers).toArray());//组织分类配置表单
 | 
			
		||||
 | 
			
		||||
                            String accountType = null;//默认科目分类中的科目分类
 | 
			
		||||
                            if (orgCateGoryConfig != null) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue