共享模块问题处理

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("TaskApproveFormCkPluginbillnumber "+customParams.get("billnumber"));
log.info("TaskApproveFormCkPluginbillid "+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);//业务单据编号

View File

@ -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) {

View File

@ -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);
}
}
}
}