共享模块问题处理

This commit is contained in:
zhangzhiguo 2025-07-10 13:51:58 +08:00
parent 8a588d1ad0
commit a6e469197d
3 changed files with 41 additions and 28 deletions

View File

@ -71,9 +71,14 @@ public class TaskApproveFormCkPlugin extends AbstractFormPlugin {
log.info("TaskApproveFormCkPluginsscid "+customParams.get("sscid")); log.info("TaskApproveFormCkPluginsscid "+customParams.get("sscid"));
log.info("TaskApproveFormCkPluginbillnumber "+customParams.get("billnumber")); log.info("TaskApproveFormCkPluginbillnumber "+customParams.get("billnumber"));
log.info("TaskApproveFormCkPluginbillid "+customParams.get("billid")); log.info("TaskApproveFormCkPluginbillid "+customParams.get("billid"));
billtypeid = (Long)customParams.get("billtypeid");//单据类型id //billtypeid = (Long)customParams.get("billtypeid");//单据类型id
tasktypeid = (Long)customParams.get("tasktypeid");//任务类型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 billnumber = (String)customParams.get("billnumber");//单据编码单据标识 entityName
billid = (String)customParams.get("billid");//业务单据id billid = (String)customParams.get("billid");//业务单据id
billNo = VoucherUtil.getTaskBillNo(billid);//业务单据编号 billNo = VoucherUtil.getTaskBillNo(billid);//业务单据编号

View File

@ -235,21 +235,27 @@ public class TriprAutoCalWorkingDaysPlugin extends AbstractBillPlugIn implements
} }
public static Set<LocalDate> getWorkingDays(LocalDate startDate, LocalDate endDate) { public static Set<LocalDate> getWorkingDays(LocalDate startDate, LocalDate endDate) {
if (startDate.isAfter(endDate)) {
throw new IllegalArgumentException("开始日期不能晚于结束日期");
}
Set<LocalDate> workingDays = new HashSet<>(); Set<LocalDate> workingDays = new HashSet<>();
LocalDate currentDate = startDate; if (startDate.equals(endDate)) {
if (!isWeekend(startDate)) {
while (!currentDate.isAfter(endDate)) { workingDays.add(startDate);
if (!isWeekend(currentDate)) {
workingDays.add(currentDate);
} }
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) { private static boolean isWeekend(LocalDate date) {

View File

@ -65,21 +65,23 @@ public class TripreimbursebillUpOp extends AbstractOperationServicePlugIn {
DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("entryentity"); DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("entryentity");
for (DynamicObject dy : dynamicObjectCollection) { for (DynamicObject dy : dynamicObjectCollection) {
DynamicObject expenseObj = dy.getDynamicObject("expenseitem"); DynamicObject expenseObj = dy.getDynamicObject("expenseitem");
String expenseitem = expenseObj.getString("number"); if(expenseObj!=null){
if(zskey.equals(expenseitem)){ String expenseitem = expenseObj.getString("number");
BigDecimal orientryamount = dy.getBigDecimal("orientryamount");//报销金额 if(zskey.equals(expenseitem)){
BigDecimal tripstandardamount = dy.getBigDecimal("tripstandardamount");//差旅标准金额 BigDecimal orientryamount = dy.getBigDecimal("orientryamount");//报销金额
Integer caldaycount = dy.getInt("caldaycount");//标准天数 BigDecimal tripstandardamount = dy.getBigDecimal("tripstandardamount");//差旅标准金额
int isover = dy.getInt("isover");//是否超标,1是0否 Integer caldaycount = dy.getInt("caldaycount");//标准天数
//如果选择了上浮20%则按照上浮20%进行判断 int isover = dy.getInt("isover");//是否超标,1是0否
if(isfloating20){ //如果选择了上浮20%则按照上浮20%进行判断
//BigDecimal multiply = tripstandardamount.multiply(new BigDecimal("1.2")).multiply(new BigDecimal(caldaycount)); 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是大于 BigDecimal multiply = tripstandardamount.multiply(new BigDecimal("1.2")).multiply(new BigDecimal(caldaycount));
if(orientryamount.compareTo(multiply) <= 0){ //-1表示小于0是等于1是大于
//第1段行程第4行明细住宿费已超标不允许提交 if(orientryamount.compareTo(multiply) <= 0){
// this.addFatalErrorMessage(extendedDataEntity, ""+trip+"段行程报销住宿超出标准上浮20%"); //第1段行程第4行明细住宿费已超标不允许提交
dy.set("isover",0); // this.addFatalErrorMessage(extendedDataEntity, ""+trip+"段行程报销住宿超出标准上浮20%");
dy.set("isover",0);
}
} }
} }
} }