You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

517 lines
24 KiB
Java

package com.engine.kq.cmd.shiftmanagement;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.biz.SimpleBizLogger;
import com.engine.common.constant.BizLogSmallType4Hrm;
import com.engine.common.constant.BizLogType;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.kq.biz.KQGroupBiz;
import com.engine.kq.biz.KQGroupComInfo;
import com.engine.kq.biz.KQConfigComInfo;
import com.engine.kq.biz.KQGroupBiz;
import com.engine.kq.biz.KQGroupComInfo;
import com.engine.kq.biz.KQShiftManagementComInfo;
import com.engine.kq.biz.KQShiftOnOffWorkSectionComInfo;
import com.engine.kq.biz.KQShiftRestTimeSectionComInfo;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;
import weaver.common.StringUtil;
import weaver.conn.RecordSet;
import weaver.conn.RecordSetTrans;
import weaver.general.Util;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.Reminder.KQAutoCardTask;
import weaver.hrm.User;
import weaver.hrm.common.database.dialect.DbDialectFactory;
import weaver.hrm.common.database.dialect.IDbDialectSql;
import weaver.systeminfo.SystemEnv;
/**
*
* @author pzy
*
*/
public class SaveShiftManagementBaseFormCmd extends AbstractCommonCommand<Map<String, Object>>{
private SimpleBizLogger logger;
public SaveShiftManagementBaseFormCmd() {
}
public SaveShiftManagementBaseFormCmd(Map<String, Object> params, User user) {
this.user = user;
this.params = params;
this.logger = new SimpleBizLogger();
BizLogContext logContext = new BizLogContext();
logContext.setDateObject(new Date());
logContext.setLogType(BizLogType.HRM_ENGINE);
logContext.setBelongType(BizLogSmallType4Hrm.HRM_ENGINE_SHIFTMANAGER);
logContext.setLogSmallType(BizLogSmallType4Hrm.HRM_ENGINE_SHIFTMANAGER);
logContext.setParams(params);
logger.setUser(user);//当前操作人
if(params != null && params.containsKey("data")){
String datas = Util.null2String(params.get("data"));
JSONObject jsonObj = JSON.parseObject(datas);
String serialid = Util.null2String(jsonObj.get("id"));
if(serialid.length() > 0){
String mainSql = " select * from kq_ShiftManagement where id= "+serialid +" ";
logger.setMainSql(mainSql);//主表sql
logger.setMainPrimarykey("id");//主日志表唯一key
logger.setMainTargetNameColumn("serial");
SimpleBizLogger.SubLogInfo subLogInfo1 = logger.getNewSubLogInfo();
String subSql1 = "select * from kq_ShiftOnOffWorkSections where serialid="+serialid;
subLogInfo1.setSubTargetNameColumn("times");
subLogInfo1.setGroupId("0"); //所属分组, 按照groupid排序显示在详情中 不设置默认按照add的顺序。
subLogInfo1.setSubGroupNameLabel(27961); //在详情中显示的分组名称不设置默认显示明细x
subLogInfo1.setSubSql(subSql1);
logger.addSubLogInfo(subLogInfo1);
SimpleBizLogger.SubLogInfo subLogInfo = logger.getNewSubLogInfo();
String subSql = " select * from kq_ShiftRestTimeSections where serialid = "+serialid;
subLogInfo.setSubSql(subSql);
subLogInfo.setSubTargetNameColumn("time");
subLogInfo.setGroupId("1"); //所属分组, 按照groupid排序显示在详情中 不设置默认按照add的顺序。
subLogInfo.setSubGroupNameLabel(505603); //在详情中显示的分组名称不设置默认显示明细x
logger.addSubLogInfo(subLogInfo);
logger.before(logContext);
}
}
}
@Override
public BizLogContext getLogContext() {
// TODO Auto-generated method stub
return null;
}
@Override
public List<BizLogContext> getLogContexts() {
return logger.getBizLogContexts();
}
/**
*
* @param id
* @param para2
* @return
*/
public String getTargetName(String id,String para2){
try {
return para2;
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String,Object> retmap = new HashMap<String,Object>();
String datas = Util.null2String(params.get("data"));
JSONObject jsonObj = JSON.parseObject(datas);
String serialid = Util.null2String(jsonObj.get("id"));
if(!HrmUserVarify.checkUserRight("KQClass:Management",user)) {
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage()));
return retmap;
}
try{
if(serialid.length() > 0){
edit(retmap,jsonObj);
}else{
add(retmap,jsonObj);
}
KQShiftManagementComInfo kqShiftManagementComInfo = new KQShiftManagementComInfo();
kqShiftManagementComInfo.removeShiftManagementCache();
if(retmap.containsKey("id")){
KQConfigComInfo kqConfigComInfo = new KQConfigComInfo();
String auto_card_cominfo = Util.null2String(kqConfigComInfo.getValue("auto_card_cominfo"),"0");
if("1".equalsIgnoreCase(auto_card_cominfo)){
String serial_id = Util.null2String(retmap.get("id"));
KQGroupBiz kqGroupBiz = new KQGroupBiz();
List<String> groupList = kqGroupBiz.getGroupIdByUesedSerialId(serial_id);
KQGroupComInfo kqGroupComInfo = new KQGroupComInfo();
if(!groupList.isEmpty()){
for(String groupId : groupList){
String auto_checkin = kqGroupComInfo.getAuto_checkin(groupId);
String auto_checkout = kqGroupComInfo.getAuto_checkout(groupId);
if("1".equalsIgnoreCase(auto_checkout) || "1".equalsIgnoreCase(auto_checkin)){
//当前班次存在自动打卡设置,修改班次后,不影响当天的自动打卡时间,变更后的班次自动打卡需要第二天才起作用
retmap.put("message", "当前班次存在自动打卡设置,修改班次后,不影响当天的自动打卡时间,变更后的班次自动打卡需要第二天才起作用");
break;
}
}
}
}
}
}catch (Exception e){
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(382661,user.getLanguage()));
writeLog(e);
}
return retmap;
}
/**
*
* @param retmap
* @param jsonObj
*/
public void edit(Map<String,Object> retmap,JSONObject jsonObj) throws Exception{
RecordSetTrans rst = new RecordSetTrans();
rst.setAutoCommit(true);
RecordSet rs = new RecordSet();
String serialid = Util.null2String(jsonObj.get("id"));
String serial = Util.null2String(jsonObj.get("serial"));//班次名称
String subcompanyid = Util.null2o(Util.null2String(jsonObj.get("subcompanyid")));
int rest_shift = StringUtil.parseToInt(jsonObj.getString("rest_shift"),0);//休息班
String shiftOnOffWorkCount = Util.null2o(Util.null2String(jsonObj.get("shiftonoffworkcount")));//一天内上下班次数
String punchSettings = "1";//打卡时段是否开启 1表示开启
String isOffDutyFreeCheck = Util.null2o(Util.null2String(jsonObj.get("isoffdutyfreecheck")));//允许下班不打卡 1表示开启
String isRestTimeOpen = Util.null2o(Util.null2String(jsonObj.get("isresttimeopen")));//排除休息时间是否开启 1表示开启
String worktime = Util.null2o(Util.null2String(jsonObj.get("worktime")));//工作时长
// String color = Util.null2o(Util.null2String(jsonObj.get("color")));//工作时长
String color = "#000";
String cardRemind = Util.null2s(jsonObj.getString("cardRemind"),"0");//是否开启打卡提醒0-不开启、1-开启。默认不开启
String cardRemOfSignIn = Util.null2s(jsonObj.getString("cardRemOfSignIn"),"1");//上班打卡提醒0-不提醒、1-自定义提前提醒分钟数。默认为1
String minsBeforeSignIn = Util.null2s(jsonObj.getString("minsBeforeSignIn"),"10");//自定义提前提醒分钟数。默认10分钟
String cardRemOfSignOut = Util.null2s(jsonObj.getString("cardRemOfSignOut"),"1");//下班打卡提醒0-不提醒、1-自定义延后提醒分钟数。默认为1
String minsAfterSignOut = Util.null2s(jsonObj.getString("minsAfterSignOut"),"0");//自定义延后提醒分钟数。默认0分钟
String remindMode = Util.null2s(jsonObj.getString("remindMode"),"1");//提醒方式1-消息中心提醒、2-邮件提醒、3-短信提醒。默认消息中心提醒
String remindOnPC = Util.null2s(jsonObj.getString("remindOnPC"),"0");//登陆PC端弹窗提醒0-不开启、1-开启
String halfcalrule = Util.null2s(jsonObj.getString("halfcalrule"),"0");//半天计算规则
String halfcalpoint = Util.null2s(jsonObj.getString("halfcalpoint"),"");//半天分界点
String halfcalpoint2cross = Util.null2s(jsonObj.getString("halfcalpoint2cross"),"0");//当日
if(duplicationCheck(serial,serialid)){
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(389019,user.getLanguage()));
return ;
}
String[] works = new String[]{"start","end"};
JSONArray workSections = (JSONArray)jsonObj.get("workSections");
checkRule(retmap,workSections,works);
if(!retmap.isEmpty()){
return ;
}
String mainSql = "update kq_ShiftManagement set serial=?,subcompanyid=?,shiftonoffworkcount=?,punchsettings=?,isoffdutyfreecheck=?,isresttimeopen=?,worktime=?,color=?," +
"cardRemind=? ,cardRemOfSignIn=? ,minsBeforeSignIn=? ,cardRemOfSignOut=? ,minsAfterSignOut=? ,remindMode=? ,remindOnPC=?,halfcalrule=?,halfcalpoint=?,halfcalpoint2cross=?,rest_shift= ? where id = ? ";
boolean isUpdated = rst.executeUpdate(mainSql, serial,subcompanyid,shiftOnOffWorkCount,punchSettings,isOffDutyFreeCheck,isRestTimeOpen,worktime,color,
cardRemind ,cardRemOfSignIn ,minsBeforeSignIn ,cardRemOfSignOut ,minsAfterSignOut ,remindMode ,remindOnPC,halfcalrule,halfcalpoint,halfcalpoint2cross,rest_shift,serialid);
if(isUpdated){
//对于休息时间和工作时间,直接删除后重新创建
String delRestSql = "delete from kq_ShiftRestTimeSections where serialid = ? ";
rs = new RecordSet();
rst.executeUpdate(delRestSql, serialid);
String delWorkSql = "delete from kq_ShiftOnOffWorkSections where serialid = ? ";
rs = new RecordSet();
rst.executeUpdate(delWorkSql, serialid);
//休息时间 resttype:start开始时间,end结束时间
JSONArray restTimeSections = (JSONArray)jsonObj.get("restTimeSections");
//工作时间 across是否跨天1表示跨天;beginMin上班前分钟数开始签到endMin下班后分钟数停止签退;times具体上下班时间;onOffWorkType:start开始时间,end结束时间
String restSql = "insert into kq_ShiftRestTimeSections(serialid,resttype,time,across,record1,orderId) values(?,?,?,?,?,?)";
int restCount = restTimeSections.size();
rs = new RecordSet();
for(int i = 0 ; i < restCount ; i++){
JSONObject jsonRest = ((JSONObject)restTimeSections.get(i));
if(jsonRest.containsKey("start") && jsonRest.containsKey("end")){
String record=Util.null2String(jsonRest.get("record"));
String orderId=Util.null2String(jsonRest.get("orderId"));
JSONObject start_jsonRest = (JSONObject) jsonRest.get("start");
String time=Util.null2String(start_jsonRest.get("time"));
String resttype="start";
String across=Util.null2String(start_jsonRest.get("accross"));
rst.executeUpdate(restSql, serialid,resttype,time,across,record,orderId);
JSONObject end_jsonRest = (JSONObject) jsonRest.get("end");
time=Util.null2String(end_jsonRest.get("time"));
resttype="end";
across=Util.null2String(end_jsonRest.get("accross"));
rst.executeUpdate(restSql, serialid,resttype,time,across,record,orderId);
}
}
rs = new RecordSet();
String workSql = "insert into kq_ShiftOnOffWorkSections(serialid,across,mins,times,onoffworktype,record,mins_next,clockinnot) values(?,?,?,?,?,?,?,?)";
int workCount = workSections.size();
for(int i = 0 ; i < workCount ; i++){
JSONObject jsonWork = ((JSONObject)workSections.get(i));
String record = Util.null2String(jsonWork.get("record"));
for(int j = 0 ; j < works.length ; j++){
String onOffWorkType=works[j];
JSONObject inWork=(JSONObject)jsonWork.get(onOffWorkType);
String across=Util.null2String(inWork.get("across"));
String mins = Util.null2s(Util.null2String(inWork.get("mins")),"0");
String times=Util.null2String(inWork.get("times"));
String mins_next=Util.null2String(inWork.get("mins_next"));
String clockinnot=Util.null2s(Util.null2String(inWork.get("clockinnot")),"0");
rst.executeUpdate(workSql, serialid,across,mins,times,onOffWorkType,record,mins_next,clockinnot);
}
}
retmap.put("id", serialid);
retmap.put("status", "1");
retmap.put("message", SystemEnv.getHtmlLabelName(18758, user.getLanguage()));
}else{
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(382661,user.getLanguage()));
}
}
/**
*
* @param retmap
* @param jsonObj
*/
public void add(Map<String,Object> retmap,JSONObject jsonObj) throws Exception{
RecordSetTrans rst = new RecordSetTrans();
rst.setAutoCommit(true);
RecordSet rs = new RecordSet();
String subcompanyid = Util.null2o(Util.null2String(jsonObj.get("subcompanyid")));
int rest_shift = StringUtil.parseToInt(jsonObj.getString("rest_shift"),0);//休息班
String serial = Util.null2String(jsonObj.get("serial"));//班次名称
String shiftOnOffWorkCount = Util.null2o(Util.null2String(jsonObj.get("shiftonoffworkcount")));//一天内上下班次数
String punchSettings = "1";//打卡时段是否开启 1表示开启
String isOffDutyFreeCheck = Util.null2o(Util.null2String(jsonObj.get("isoffdutyfreecheck")));//允许下班不打卡 1表示开启
String isRestTimeOpen = Util.null2o(Util.null2String(jsonObj.get("isresttimeopen")));//排除休息时间是否开启 1表示开启
String worktime = Util.null2o(Util.null2String(jsonObj.get("worktime")));//工作时长
// String color = Util.null2o(Util.null2String(jsonObj.get("color")));//工作时长
String color = "#000";
String uuid = UUID.randomUUID().toString();//uuid供查询使用
String cardRemind = Util.null2s(jsonObj.getString("cardRemind"),"0");//是否开启打卡提醒0-不开启、1-开启。默认不开启
String cardRemOfSignIn = Util.null2s(jsonObj.getString("cardRemOfSignIn"),"1");//上班打卡提醒0-不提醒、1-自定义提前提醒分钟数。默认为1
String minsBeforeSignIn = Util.null2s(jsonObj.getString("minsBeforeSignIn"),"10");//自定义提前提醒分钟数。默认10分钟
String cardRemOfSignOut = Util.null2s(jsonObj.getString("cardRemOfSignOut"),"1");//下班打卡提醒0-不提醒、1-自定义延后提醒分钟数。默认为1
String minsAfterSignOut = Util.null2s(jsonObj.getString("minsAfterSignOut"),"0");//自定义延后提醒分钟数。默认0分钟
String remindMode = Util.null2s(jsonObj.getString("remindMode"),"1");//提醒方式1-消息中心提醒、2-邮件提醒、3-短信提醒。默认消息中心提醒
String remindOnPC = Util.null2s(jsonObj.getString("remindOnPC"),"0");//登陆PC端弹窗提醒0-不开启、1-开启
String halfcalrule = Util.null2s(jsonObj.getString("halfcalrule"),"0");//半天计算规则
String halfcalpoint = Util.null2s(jsonObj.getString("halfcalpoint"),"");//半天分界点
String halfcalpoint2cross = Util.null2s(jsonObj.getString("halfcalpoint2cross"),"0");//当日
if(duplicationCheck(serial,"")){
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(389019,user.getLanguage()));
return ;
}
//工作时间 across是否跨天1表示跨天;beginMin上班前分钟数开始签到endMin下班后分钟数停止签退;times具体上下班时间;onOffWorkType:start开始时间,end结束时间
JSONArray workSections = (JSONArray)jsonObj.get("workSections");
String[] works = new String[]{"start","end"};
checkRule(retmap,workSections,works);
if(!retmap.isEmpty()){
return ;
}
//color改为前台获取
// String color = getRandomColor();
boforeLog(uuid);
String mainSql = "insert into kq_ShiftManagement(serial,subcompanyid,shiftonoffworkcount,punchsettings,isoffdutyfreecheck,isresttimeopen,worktime,uuid,color," +
"cardRemind ,cardRemOfSignIn ,minsBeforeSignIn ,cardRemOfSignOut ,minsAfterSignOut ,remindMode ,remindOnPC,halfcalrule,halfcalpoint,halfcalpoint2cross,rest_shift)"
+ " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
boolean isUpdated = rst.executeUpdate(mainSql, serial,subcompanyid,shiftOnOffWorkCount,punchSettings,isOffDutyFreeCheck,isRestTimeOpen,worktime,uuid,color,
cardRemind ,cardRemOfSignIn ,minsBeforeSignIn ,cardRemOfSignOut ,minsAfterSignOut ,remindMode ,remindOnPC,halfcalrule,halfcalpoint,halfcalpoint2cross,rest_shift);
if(isUpdated){
int serialid = 0;
String idSql = "select id from kq_ShiftManagement where uuid=? and (isdelete is null or isdelete <> '1') ";
rs = new RecordSet();
rs.executeQuery(idSql,uuid);
if(rs.next()) {
serialid = rs.getInt("id");
}
if(serialid > 0){
//休息时间 resttype:start开始时间,end结束时间
JSONArray restTimeSections = (JSONArray)jsonObj.get("restTimeSections");
String restSql = "insert into kq_ShiftRestTimeSections(serialid,resttype,time,across,record1,orderId) values(?,?,?,?,?,?)";
int restCount = restTimeSections.size();
rs = new RecordSet();
for(int i = 0 ; i < restCount ; i++){
JSONObject jsonRest = ((JSONObject)restTimeSections.get(i));
if(jsonRest.containsKey("start") && jsonRest.containsKey("end")){
String record=Util.null2String(jsonRest.get("record"));
String orderId=Util.null2String(jsonRest.get("orderId"));
JSONObject start_jsonRest = (JSONObject) jsonRest.get("start");
String time=Util.null2String(start_jsonRest.get("time"));
String resttype="start";
String across=Util.null2String(start_jsonRest.get("accross"));
rst.executeUpdate(restSql, serialid,resttype,time,across,record,orderId);
JSONObject end_jsonRest = (JSONObject) jsonRest.get("end");
time=Util.null2String(end_jsonRest.get("time"));
resttype="end";
across=Util.null2String(end_jsonRest.get("accross"));
rst.executeUpdate(restSql, serialid,resttype,time,across,record,orderId);
}
}
rs = new RecordSet();
String workSql = "insert into kq_ShiftOnOffWorkSections(serialid,across,mins,times,onoffworktype,record,mins_next,clockinnot) values(?,?,?,?,?,?,?,?)";
int workCount = workSections.size();
for(int i = 0 ; i < workCount ; i++){
JSONObject jsonWork = ((JSONObject)workSections.get(i));
String record = Util.null2String(jsonWork.get("record"));
for(int j = 0 ; j < works.length ; j++){
String onOffWorkType=works[j];
JSONObject inWork=(JSONObject)jsonWork.get(onOffWorkType);
String across=Util.null2String(inWork.get("across"));
String mins = Util.null2s(Util.null2String(inWork.get("mins")),"1");
String times=Util.null2String(inWork.get("times"));
String mins_next=Util.null2String(inWork.get("mins_next"));
String clockinnot = Util.null2s(Util.null2String(inWork.get("clockinnot")),"0");
rst.executeUpdate(workSql, serialid,across,mins,times,onOffWorkType,record,mins_next,clockinnot);
}
}
retmap.put("status", "1");
retmap.put("id", serialid);
retmap.put("message", SystemEnv.getHtmlLabelName(18758, user.getLanguage()));
}else{
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(382661,user.getLanguage()));
}
}else{
retmap.put("status", "-1");
retmap.put("message", SystemEnv.getHtmlLabelName(382661,user.getLanguage()));
}
}
private void checkRule(Map<String, Object> retmap,
JSONArray workSections, String[] works) {
for(int i = 0 ; i < workSections.size() ; i++) {
JSONObject jsonWork = ((JSONObject) workSections.get(i));
for(int j = 0 ; j < works.length ; j++){
String onOffWorkType=works[j];
JSONObject inWork=(JSONObject)jsonWork.get(onOffWorkType);
String mins = Util.null2String(inWork.get("mins"));
if(mins.length() == 0 || Util.getIntValue(mins) == 0){
retmap.put("status", "-1");
retmap.put("message", ""+ SystemEnv.getHtmlLabelName(10005343,weaver.general.ThreadVarLanguage.getLang())+"");
break;
}
}
}
}
/**
*
* @param serial
* @param serialid
* @return
*/
private boolean duplicationCheck(String serial,String serialid){
boolean isDuplicated = false;
RecordSet rs = new RecordSet();
String checkSql = "select 1 from kq_ShiftManagement where serial=? and (isdelete is null or isdelete <> '1') ";
if(serialid.length() > 0){
checkSql += " and id != "+serialid;
}
rs.executeQuery(checkSql, Util.null2s(serial, "").trim());
if(rs.next()){
isDuplicated = true;
}
return isDuplicated;
}
/**
*
* @return
*/
private String getRandomColor(){
RecordSet rs = new RecordSet();
List<String> colorLists = new ArrayList<>();
String hasSameColor = "select color from kq_ShiftManagement group by color ";
rs.executeQuery(hasSameColor);
while (rs.next()){
colorLists.add(rs.getString("color"));
}
String color = "";
Random random = null;
int i = 0 ;
// while(true){
// random = new Random();
// //颜色就要深色的
// String[] colors = new String[]{"0","1","2","3","4","5","6"};
// int not_r = random.nextInt(16);
// int not_g = random.nextInt(16);
// int not_b = random.nextInt(16);
// int not_r1 = random.nextInt(16);
// int not_g1 = random.nextInt(16);
// int not_b1 = random.nextInt(16);
// color = "#"+colors[not_r]+colors[not_g]+colors[not_b]+colors[not_r1]+colors[not_g1]+colors[not_b1];
// //以防死锁
// if(i > 1000){
// break;
// }
// if(!colorLists.contains(color)){
// break;
// }
// i++;
// }
return color;
}
public void boforeLog(String uuid){
BizLogContext logContext = new BizLogContext();
logContext.setDateObject(new Date());
logContext.setLogType(BizLogType.HRM_ENGINE);
logContext.setBelongType(BizLogSmallType4Hrm.HRM_ENGINE_SHIFTMANAGER);
logContext.setLogSmallType(BizLogSmallType4Hrm.HRM_ENGINE_SHIFTMANAGER);
logContext.setParams(params);
String log_mainSql = " select * from kq_ShiftManagement where uuid in('"+uuid+"')";
logger.setMainSql(log_mainSql);//主表sql
logger.setMainPrimarykey("id");//主日志表唯一key
logger.setMainTargetNameColumn("serial");
SimpleBizLogger.SubLogInfo subLogInfo1 = logger.getNewSubLogInfo();
String subSql1 = "select * from kq_ShiftOnOffWorkSections where serialid in (select id from kq_ShiftManagement where uuid in('"+uuid+"'))" ;
subLogInfo1.setSubTargetNameColumn("times");
subLogInfo1.setGroupId("0"); //所属分组, 按照groupid排序显示在详情中 不设置默认按照add的顺序。
subLogInfo1.setSubGroupNameLabel(27961); //在详情中显示的分组名称不设置默认显示明细x
subLogInfo1.setSubSql(subSql1);
logger.addSubLogInfo(subLogInfo1);
SimpleBizLogger.SubLogInfo subLogInfo = logger.getNewSubLogInfo();
String subSql = " select * from kq_ShiftRestTimeSections where serialid in (select id from kq_ShiftManagement where uuid in('"+uuid+"'))" ;
subLogInfo.setSubSql(subSql);
subLogInfo.setSubTargetNameColumn("time");
subLogInfo.setGroupId("1"); //所属分组, 按照groupid排序显示在详情中 不设置默认按照add的顺序。
subLogInfo.setSubGroupNameLabel(505603); //在详情中显示的分组名称不设置默认显示明细x
logger.addSubLogInfo(subLogInfo);
logger.before(logContext);
}
}