共享模块问题处理
This commit is contained in:
parent
8a588d1ad0
commit
a6e469197d
|
@ -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);//业务单据编号
|
||||
|
|
|
@ -235,21 +235,27 @@ public class TriprAutoCalWorkingDaysPlugin extends AbstractBillPlugIn implements
|
|||
}
|
||||
|
||||
public static Set<LocalDate> getWorkingDays(LocalDate startDate, LocalDate endDate) {
|
||||
if (startDate.isAfter(endDate)) {
|
||||
throw new IllegalArgumentException("开始日期不能晚于结束日期");
|
||||
}
|
||||
|
||||
Set<LocalDate> 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) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue