|
|
@@ -8,6 +8,7 @@ import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
|
|
import kd.bos.form.control.Toolbar;
|
|
|
import kd.bos.form.control.events.BeforeItemClickEvent;
|
|
|
import kd.bos.form.control.events.ItemClickEvent;
|
|
|
+import kd.bos.form.field.BasedataEdit;
|
|
|
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
|
|
import kd.bos.form.field.events.BeforeF7SelectListener;
|
|
|
import kd.bos.orm.query.QCP;
|
|
|
@@ -49,7 +50,8 @@ public class WECostSpBasePlugIn extends AbstractBasePlugIn implements Plugin, Be
|
|
|
|
|
|
@Override
|
|
|
public void registerListener(EventObject e) {
|
|
|
-
|
|
|
+ BasedataEdit basedataEdit = this.getView().getControl("uzi9_personnel_info");
|
|
|
+ basedataEdit.addBeforeF7SelectListener(this);
|
|
|
Toolbar toolbar = this.getView().getControl("tbmain");
|
|
|
toolbar.addItemClickListener(this);
|
|
|
super.registerListener(e);
|
|
|
@@ -58,7 +60,16 @@ public class WECostSpBasePlugIn extends AbstractBasePlugIn implements Plugin, Be
|
|
|
|
|
|
@Override
|
|
|
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
|
|
+ String logo = beforeF7SelectEvent.getProperty().getName();
|
|
|
+ if ("uzi9_personnel_info".equals(logo)) {
|
|
|
+ Date start = (Date) this.getModel().getValue("uzi9_time_start");
|
|
|
+ Date end = (Date) this.getModel().getValue("uzi9_time_end");
|
|
|
|
|
|
+ QFilter qFilter = new QFilter("uzi9_departure_date", QCP.large_equals, start)
|
|
|
+ .and("uzi9_departure_date", QCP.less_equals, end);
|
|
|
+ beforeF7SelectEvent.addCustomQFilter(qFilter);
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -121,9 +132,13 @@ public class WECostSpBasePlugIn extends AbstractBasePlugIn implements Plugin, Be
|
|
|
Date endOfMonth = timeMap.get("end");
|
|
|
this.getModel().setValue("uzi9_time_start", startOfMonth);
|
|
|
this.getModel().setValue("uzi9_time_end", endOfMonth);
|
|
|
+ this.getView().setEnable(true, "uzi9_personnel_info");
|
|
|
if (personnel != null) {
|
|
|
userChar();
|
|
|
}
|
|
|
+ } else {
|
|
|
+ this.getView().setEnable(false, "uzi9_personnel_info");
|
|
|
+ this.getModel().setValue("uzi9_personnel_info", null);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -204,16 +219,20 @@ public class WECostSpBasePlugIn extends AbstractBasePlugIn implements Plugin, Be
|
|
|
*/
|
|
|
|
|
|
private void userChar() {
|
|
|
- DynamicObject personnel = (DynamicObject) this.getModel().getValue("uzi9_personnel_info");
|
|
|
+ DynamicObject departure = (DynamicObject) this.getModel().getValue("uzi9_personnel_info");
|
|
|
Date startTime = (Date) this.getModel().getValue("uzi9_time_start");
|
|
|
Date endTime = (Date) this.getModel().getValue("uzi9_time_end");
|
|
|
|
|
|
- if (personnel != null && startTime != null && endTime != null) {
|
|
|
+ if (departure != null && startTime != null && endTime != null) {
|
|
|
// 删除数据
|
|
|
this.getModel().deleteEntryData("uzi9_we_sp_char");
|
|
|
|
|
|
+ //获取退宿人员信息
|
|
|
+ departure = BusinessDataServiceHelper.loadSingle("uzi9_retreat_dormitory", "id,uzi9_personnel", new QFilter[]{new QFilter("id", QCP.equals, departure.get("id"))});
|
|
|
+
|
|
|
+
|
|
|
//重新构建
|
|
|
- QFilter qFilter = new QFilter("uzi9_personnel_info.id", QCP.equals, personnel.get("id"))
|
|
|
+ QFilter qFilter = new QFilter("id", QCP.equals, departure.getDynamicObject("uzi9_personnel").getLong("id"))
|
|
|
.and("uzi9_departure_date", QCP.large_than, startTime)
|
|
|
.and("uzi9_date_joining", QCP.less_than, endTime);
|
|
|
|
|
|
@@ -280,41 +299,25 @@ public class WECostSpBasePlugIn extends AbstractBasePlugIn implements Plugin, Be
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 获取入住人员信息(自动带出)
|
|
|
*/
|
|
|
private void infoRetrieval() {
|
|
|
- DynamicObject personnel = (DynamicObject) this.getModel().getValue("uzi9_personnel_info");
|
|
|
- if (personnel != null) {
|
|
|
+ DynamicObject departure = (DynamicObject) this.getModel().getValue("uzi9_personnel_info");
|
|
|
+ if (departure != null) {
|
|
|
|
|
|
- QFilter qFilter = new QFilter("id", QCP.equals, personnel.get("id"));
|
|
|
- DynamicObject user = BusinessDataServiceHelper.loadSingle("bos_user",
|
|
|
- "number,entryentity,contactentity,gender," +
|
|
|
- "entryentity.ispartjob,entryentity.position,entryentity.dpt," +
|
|
|
- "contactentity.contacttype,contactentity.contact,name", new QFilter[]{qFilter});
|
|
|
+ QFilter qFilter = new QFilter("id", QCP.equals, departure.get("id"));
|
|
|
+ departure = BusinessDataServiceHelper.loadSingle("uzi9_retreat_dormitory",
|
|
|
+ "id,name,uzi9_number,uzi9_department,uzi9_position", new QFilter[]{qFilter});
|
|
|
|
|
|
//工号
|
|
|
- if (user != null) {
|
|
|
- this.getModel().setValue("uzi9_number", user.getString("number"));
|
|
|
-
|
|
|
- //部门 - 职位
|
|
|
- DynamicObjectCollection entryentity = user.getDynamicObjectCollection("entryentity");
|
|
|
- if (entryentity != null) {
|
|
|
- for (DynamicObject entry : entryentity) {
|
|
|
- boolean ispartjob = entry.getBoolean("ispartjob");
|
|
|
- if (!ispartjob) {
|
|
|
- String dptName = entry.getString("dpt.name");
|
|
|
- String postName = entry.getString("position");
|
|
|
- this.getModel().setValue("uzi9_department", dptName);
|
|
|
- this.getModel().setValue("uzi9_position", postName);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //姓名
|
|
|
- this.getModel().setValue("name", user.getString("name"));
|
|
|
- }
|
|
|
+ this.getModel().setValue("uzi9_number", departure.getString("uzi9_number"));
|
|
|
+ //部门
|
|
|
+ this.getModel().setValue("uzi9_department", departure.get("uzi9_department"));
|
|
|
+ //职位
|
|
|
+ this.getModel().setValue("uzi9_position", departure.get("uzi9_position"));
|
|
|
+ //姓名
|
|
|
+ this.getModel().setValue("name", departure.getString("name"));
|
|
|
|
|
|
|
|
|
} else {
|