共享模块问题处理
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:sscid "+customParams.get("sscid"));
|
||||||
log.info("TaskApproveFormCkPlugin:billnumber "+customParams.get("billnumber"));
|
log.info("TaskApproveFormCkPlugin:billnumber "+customParams.get("billnumber"));
|
||||||
log.info("TaskApproveFormCkPlugin:billid "+customParams.get("billid"));
|
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
|
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);//业务单据编号
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue