diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TaskApproveFormCkPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TaskApproveFormCkPlugin.java index 58d48cd..159e1e9 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TaskApproveFormCkPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TaskApproveFormCkPlugin.java @@ -71,9 +71,14 @@ public class TaskApproveFormCkPlugin extends AbstractFormPlugin { log.info("TaskApproveFormCkPlugin:sscid "+customParams.get("sscid")); log.info("TaskApproveFormCkPlugin:billnumber "+customParams.get("billnumber")); log.info("TaskApproveFormCkPlugin:billid "+customParams.get("billid")); - billtypeid = (Long)customParams.get("billtypeid");//单据类型id + //billtypeid = (Long)customParams.get("billtypeid");//单据类型id tasktypeid = (Long)customParams.get("tasktypeid");//任务类型id - sscid = Long.valueOf((String)customParams.get("sscid"));//任务类型id + Object sscidObj = customParams.get("sscid"); + if(sscidObj instanceof Long) { + sscid = (Long)sscidObj; + }else if(sscidObj instanceof String) { + sscid = Long.valueOf((String)customParams.get("sscid"));//任务类型id + } billnumber = (String)customParams.get("billnumber");//单据编码(单据标识 entityName) billid = (String)customParams.get("billid");//业务单据id billNo = VoucherUtil.getTaskBillNo(billid);//业务单据编号 diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java index d152867..72a6ab9 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java @@ -235,21 +235,27 @@ public class TriprAutoCalWorkingDaysPlugin extends AbstractBillPlugIn implements } public static Set getWorkingDays(LocalDate startDate, LocalDate endDate) { - if (startDate.isAfter(endDate)) { - throw new IllegalArgumentException("开始日期不能晚于结束日期"); - } - Set workingDays = new HashSet<>(); - LocalDate currentDate = startDate; - - while (!currentDate.isAfter(endDate)) { - if (!isWeekend(currentDate)) { - workingDays.add(currentDate); + if (startDate.equals(endDate)) { + if (!isWeekend(startDate)) { + workingDays.add(startDate); } - currentDate = currentDate.plusDays(1); + return workingDays; + }else{ + if (startDate.isAfter(endDate)) { + throw new IllegalArgumentException("开始日期不能晚于结束日期"); + } + LocalDate currentDate = startDate; + + while (!currentDate.isAfter(endDate)) { + if (!isWeekend(currentDate)) { + workingDays.add(currentDate); + } + currentDate = currentDate.plusDays(1); + } + return workingDays; } - return workingDays; } private static boolean isWeekend(LocalDate date) { diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TripreimbursebillUpOp.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TripreimbursebillUpOp.java index 61f9eff..7353653 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TripreimbursebillUpOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TripreimbursebillUpOp.java @@ -65,21 +65,23 @@ public class TripreimbursebillUpOp extends AbstractOperationServicePlugIn { DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("entryentity"); for (DynamicObject dy : dynamicObjectCollection) { DynamicObject expenseObj = dy.getDynamicObject("expenseitem"); - String expenseitem = expenseObj.getString("number"); - if(zskey.equals(expenseitem)){ - BigDecimal orientryamount = dy.getBigDecimal("orientryamount");//报销金额 - BigDecimal tripstandardamount = dy.getBigDecimal("tripstandardamount");//差旅标准金额 - Integer caldaycount = dy.getInt("caldaycount");//标准天数 - int isover = dy.getInt("isover");//是否超标,1是,0否 - //如果选择了上浮20%,则按照上浮20%进行判断 - if(isfloating20){ - //BigDecimal multiply = tripstandardamount.multiply(new BigDecimal("1.2")).multiply(new BigDecimal(caldaycount)); - BigDecimal multiply = tripstandardamount.multiply(new BigDecimal("1.2")).multiply(new BigDecimal(caldaycount)); - //-1表示小于,0是等于,1是大于 - if(orientryamount.compareTo(multiply) <= 0){ - //第1段行程,第4行明细住宿费已超标,不允许提交。 - // this.addFatalErrorMessage(extendedDataEntity, "第"+trip+"段行程,报销住宿超出标准!(上浮20%)"); - dy.set("isover",0); + if(expenseObj!=null){ + String expenseitem = expenseObj.getString("number"); + if(zskey.equals(expenseitem)){ + BigDecimal orientryamount = dy.getBigDecimal("orientryamount");//报销金额 + BigDecimal tripstandardamount = dy.getBigDecimal("tripstandardamount");//差旅标准金额 + Integer caldaycount = dy.getInt("caldaycount");//标准天数 + int isover = dy.getInt("isover");//是否超标,1是,0否 + //如果选择了上浮20%,则按照上浮20%进行判断 + if(isfloating20){ + //BigDecimal multiply = tripstandardamount.multiply(new BigDecimal("1.2")).multiply(new BigDecimal(caldaycount)); + BigDecimal multiply = tripstandardamount.multiply(new BigDecimal("1.2")).multiply(new BigDecimal(caldaycount)); + //-1表示小于,0是等于,1是大于 + if(orientryamount.compareTo(multiply) <= 0){ + //第1段行程,第4行明细住宿费已超标,不允许提交。 + // this.addFatalErrorMessage(extendedDataEntity, "第"+trip+"段行程,报销住宿超出标准!(上浮20%)"); + dy.set("isover",0); + } } } }