添加特殊员工住宿逻辑-龚宇杰
This commit is contained in:
parent
402ba55307
commit
a53916fda1
|
@ -8,6 +8,8 @@ import kd.bos.entity.datamodel.IDataModel;
|
||||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||||
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
||||||
import kd.bos.form.operate.FormOperate;
|
import kd.bos.form.operate.FormOperate;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.fi.er.business.tripstd.context.StdPreCalContext;
|
import kd.fi.er.business.tripstd.context.StdPreCalContext;
|
||||||
import kd.fi.er.business.tripstd.model.TripStandardDetail;
|
import kd.fi.er.business.tripstd.model.TripStandardDetail;
|
||||||
|
@ -113,7 +115,8 @@ public class TripPersonCohabitPlugin extends AbstractBillPlugIn implements Plugi
|
||||||
if (cohabitPersons.containsKey(travelerI.getLong("id"))) continue;
|
if (cohabitPersons.containsKey(travelerI.getLong("id"))) continue;
|
||||||
|
|
||||||
boolean isCohabit = false;//是否同住
|
boolean isCohabit = false;//是否同住
|
||||||
for (int j = i + 1; j < travelers.size(); j++) {
|
boolean isSpecialStaff = isSpecialStaff(travelerI);//是否为特殊员工
|
||||||
|
for (int j = i + 1; j < travelers.size() && !isSpecialStaff; j++) {
|
||||||
DynamicObject travelerJ = travelers.get(j).getDynamicObject("fbasedataid");
|
DynamicObject travelerJ = travelers.get(j).getDynamicObject("fbasedataid");
|
||||||
travelerI = BusinessDataServiceHelper.loadSingle(travelerI.getPkValue(), "bos_user");
|
travelerI = BusinessDataServiceHelper.loadSingle(travelerI.getPkValue(), "bos_user");
|
||||||
travelerJ = BusinessDataServiceHelper.loadSingle(travelerJ.getPkValue(), "bos_user");
|
travelerJ = BusinessDataServiceHelper.loadSingle(travelerJ.getPkValue(), "bos_user");
|
||||||
|
@ -215,4 +218,24 @@ public class TripPersonCohabitPlugin extends AbstractBillPlugIn implements Plugi
|
||||||
stdDetail.append("旺季¥").append(highStd).append("/天");
|
stdDetail.append("旺季¥").append(highStd).append("/天");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否为特殊员工
|
||||||
|
*
|
||||||
|
* @param staff 员工
|
||||||
|
*/
|
||||||
|
|
||||||
|
private boolean isSpecialStaff(DynamicObject staff) {
|
||||||
|
QFilter statusQF = new QFilter("status", QCP.equals, "C");
|
||||||
|
QFilter enableQF = new QFilter("enable", QCP.equals, "1");
|
||||||
|
QFilter staffQF = new QFilter("zf47_staff.id", QCP.equals, staff.getPkValue());
|
||||||
|
|
||||||
|
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("zf47_acc_special_staff", new QFilter[]{statusQF, enableQF, staffQF});
|
||||||
|
if (dynamicObject != null) {
|
||||||
|
String jobLevel = dynamicObject.getString("zf47_job_level");
|
||||||
|
return !"3".equals(jobLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue