中科大POC开发
parent
ac89df1b9d
commit
72b3c36c28
@ -0,0 +1,77 @@
|
|||||||
|
package weaver.interfaces.zkdpoc.action;
|
||||||
|
|
||||||
|
import com.weaver.general.Util;
|
||||||
|
import weaver.conn.RecordSet;
|
||||||
|
import weaver.interfaces.workflow.action.Action;
|
||||||
|
import weaver.interfaces.zkdpoc.po.EntryWorkflowPo;
|
||||||
|
import weaver.soa.workflow.request.RequestInfo;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author liang.cheng
|
||||||
|
* @Date 2024/10/12 10:47 AM
|
||||||
|
* @Description: 入职审批流程明细带入-中科大poc
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public class EntryWorkflowAction implements Action {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String execute(RequestInfo requestInfo) {
|
||||||
|
|
||||||
|
String requestid = requestInfo.getRequestid();
|
||||||
|
int formid = Math.abs(requestInfo.getRequestManager().getFormid());
|
||||||
|
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
|
||||||
|
String mainTable = String.format("%s%s", "formtable_main_", formid);
|
||||||
|
|
||||||
|
String detaiTable = String.format("%s%s",mainTable,"_dt2");
|
||||||
|
|
||||||
|
EntryWorkflowPo entryPo = EntryWorkflowPo.builder().build();
|
||||||
|
//1.获取表单数据
|
||||||
|
rs.executeQuery("select id,ksrq,jsrq,rysjid,dw,gw,xced from "+mainTable+" where requestid = ?",requestid);
|
||||||
|
if (rs.next()) {
|
||||||
|
entryPo.setId(Util.getIntValue(rs.getString("id")));
|
||||||
|
entryPo.setStartDate(Util.null2String(rs.getString("ksrq")));
|
||||||
|
entryPo.setEndDate(Util.null2String(rs.getString("jsrq")));
|
||||||
|
entryPo.setPersonId(Util.getIntValue(rs.getString("rysjid")));
|
||||||
|
entryPo.setSubCompanyId(Util.getIntValue(rs.getString("dw")));
|
||||||
|
entryPo.setJobTitleId(Util.getIntValue(rs.getString("gw")));
|
||||||
|
entryPo.setSalaryMonth(Util.getDoubleValue(rs.getString("xced")));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//2.起始日期不为空时明细赋值操作
|
||||||
|
if (!"".equals(entryPo.getStartDate()) && !"".equals(entryPo.getEndDate())) {
|
||||||
|
|
||||||
|
List<String> months = detailMonth(entryPo.getStartDate(), entryPo.getEndDate());
|
||||||
|
months.forEach(month -> rs.executeUpdate("insert into "+detaiTable+"(mainid,yd,xm,szdw,gw,ydxz) values(?,?,?,?,?,?)",
|
||||||
|
entryPo.getId(),month,entryPo.getPersonId(),entryPo.getSubCompanyId(),entryPo.getJobTitleId(),entryPo.getSalaryMonth()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return Action.SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private List<String> detailMonth(String startDateStr,String endDateStr) {
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
|
LocalDate startDate = LocalDate.parse(startDateStr, formatter);
|
||||||
|
LocalDate endDate = LocalDate.parse(endDateStr, formatter);
|
||||||
|
|
||||||
|
List<String> months = new ArrayList<>();
|
||||||
|
DateTimeFormatter monthFormatter = DateTimeFormatter.ofPattern("yyyy-MM");
|
||||||
|
|
||||||
|
while (!startDate.isAfter(endDate)) {
|
||||||
|
months.add(startDate.format(monthFormatter));
|
||||||
|
startDate = startDate.plus(1, ChronoUnit.MONTHS);
|
||||||
|
}
|
||||||
|
return months;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
package weaver.interfaces.zkdpoc.po;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author liang.cheng
|
||||||
|
* @Date 2024/10/12 10:57 AM
|
||||||
|
* @Description: TODO
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class EntryWorkflowPo {
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
private String startDate;
|
||||||
|
|
||||||
|
private String endDate;
|
||||||
|
|
||||||
|
private Integer personId;
|
||||||
|
|
||||||
|
private Integer subCompanyId;
|
||||||
|
|
||||||
|
private Integer jobTitleId;
|
||||||
|
|
||||||
|
private double salaryMonth;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue