ApplyAddWorkController.java 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574
  1. package com.idea.oa.apply.controller;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.idea.oa.apply.model.ApplyAddWorkTime;
  5. import com.idea.oa.apply.model.ApplyAddWorkTimeExample;
  6. import com.idea.oa.apply.model.inout.AddConfirmResult;
  7. import com.idea.oa.apply.model.inout.ApplyAddWorkIn;
  8. import com.idea.oa.apply.service.ApplyAddWorkService;
  9. import com.idea.oa.apply.service.ApplyAddWorkTimeService;
  10. import com.idea.oa.apply.util.constant.ConstantFlowType;
  11. import com.idea.oa.flow2.model.FlowMain;
  12. import com.idea.oa.flow2.model.FlowMainPush;
  13. import com.idea.oa.flow2.model.in.FlowMainCcVo;
  14. import com.idea.oa.flow2.service.FlowMainCcService;
  15. import com.idea.oa.flow2.service.FlowMainPushService;
  16. import com.idea.oa.flow2.service.FlowMainService;
  17. //import com.idea.oa.holidayManagement.model.HolidayManagement;
  18. //import com.idea.oa.holidayManagement.model.HolidayManagementExample;
  19. //import com.idea.oa.holidayManagement.service.HolidayManagementService;
  20. //import com.idea.oa.workAttendance.model.WorkAttendanceLog;
  21. //import com.idea.oa.workAttendance.service.WorkAttendanceLogService;
  22. import com.rockstar.common.base.BaseController;
  23. import com.rockstar.common.domain.AjaxResult;
  24. import com.rockstar.flow.exception.FlowException;
  25. import com.rockstar.frame.model.FrameUser;
  26. import com.rockstar.frame.service.FrameUserService;
  27. import com.rockstar.shiro.util.ShiroUtils;
  28. import com.rockstar.util.UUIDUtils;
  29. import io.swagger.annotations.Api;
  30. import org.springframework.beans.factory.annotation.Autowired;
  31. import org.springframework.stereotype.Controller;
  32. import org.springframework.transaction.annotation.Transactional;
  33. import org.springframework.util.StringUtils;
  34. import org.springframework.web.bind.annotation.PostMapping;
  35. import org.springframework.web.bind.annotation.RequestMapping;
  36. import org.springframework.web.bind.annotation.ResponseBody;
  37. import java.math.BigDecimal;
  38. import java.math.MathContext;
  39. import java.util.Date;
  40. import java.util.HashMap;
  41. import java.util.List;
  42. import java.util.Map;
  43. /**
  44. * Created by zt on 2023
  45. */
  46. @Controller
  47. @RequestMapping(value = "/ApplyAddWorkController")
  48. @Api(value = "分表_加班申请")
  49. public class ApplyAddWorkController extends BaseController {
  50. // @Autowired
  51. // private WorkAttendanceLogService workAttendanceLogService;
  52. // @Autowired
  53. // private HolidayManagementService holidayManagementService;
  54. //主表
  55. @Autowired
  56. private ApplyAddWorkService modelService;
  57. @Autowired
  58. private ApplyAddWorkTimeService applyAddWorkTimeService;
  59. @Autowired
  60. private FlowMainCcService flowMainCcService;
  61. @Autowired
  62. private FlowMainPushService flowMainPushService;
  63. @Autowired
  64. private FlowMainService flowMainService;
  65. @Autowired
  66. private FrameUserService frameUserService;
  67. /**
  68. * 添加审核结果
  69. * 根据不同的状态值confirmResult判断是 1:审核通过,转下一步;2:退回发起人;3:退回上节点;4:结束流程;
  70. *
  71. * @param addConfirmResult
  72. * @return
  73. */
  74. @PostMapping(value = "AddConfirmResultAddWork", produces = {"application/json;charset=UTF-8"})
  75. @ResponseBody
  76. @Transactional
  77. public AjaxResult AddConfirmResultAddWork(AddConfirmResult addConfirmResult) throws FlowException {
  78. System.out.println("AddConfirmResultAddWork");
  79. System.out.println(addConfirmResult);
  80. if (addConfirmResult.getConfirmResult() == null) {
  81. return result(-1);
  82. }
  83. // String deploymentid = ConstantFlowType.USE_MONEY_DEPLOYMENTID;
  84. // String constantFlowType = ConstantFlowType.USE_MONEY;
  85. FlowMainPush flowMainPush = flowMainPushService.selectByPrimaryKey(addConfirmResult.getFlowMainPushId());
  86. ApplyAddWorkTimeExample example = new ApplyAddWorkTimeExample();
  87. example.createCriteria().andAddWorkIdEqualTo(flowMainPush.getFormId());
  88. List<ApplyAddWorkTime> applyAddWorkTimes = applyAddWorkTimeService.selectByExample(example);
  89. BigDecimal totalAddTime = new BigDecimal(0);//所有加班小时
  90. String isOkString = null;
  91. {//进行审核判断
  92. {
  93. // ApplyOffWork applyOffWork = modelService.selectByPrimaryKey(flowMainPush.getFormId());
  94. for (ApplyAddWorkTime applyAddWorkTime : applyAddWorkTimes) {
  95. {//修改请假表,将请假表的对应数据添加冻结时间,并减去可用时间
  96. totalAddTime= totalAddTime.add(new BigDecimal(applyAddWorkTime.getUseTime().toString()), MathContext.DECIMAL32);
  97. }
  98. }
  99. }
  100. //添加判断条件
  101. HashMap<String, Object> feeMoneyTotalMap = null;//new HashMap<>();
  102. // if (totalTiaoXiu.doubleValue() > 0 && totalNianJia.doubleValue() <= 0 && totalShiJia.doubleValue() <= 0) {
  103. // //假别仅有调休假
  104. //// String isExchangeOnly = conditionMap.get("isExchangeOnly").toString();
  105. //// Integer applyDay = Integer.valueOf(conditionMap.get("applyDay").toString());
  106. // feeMoneyTotalMap.put("isExchangeOnly", "yes");
  107. // feeMoneyTotalMap.put("applyDay", 0);
  108. // } else if (totalTiaoXiu.add(totalNianJia).add(totalShiJia).doubleValue() > 3) {
  109. //// 假期天数合计>3天
  110. // feeMoneyTotalMap.put("isExchangeOnly", "no");
  111. // feeMoneyTotalMap.put("applyDay", 4);
  112. // } else {
  113. // feeMoneyTotalMap.put("isExchangeOnly", "no");
  114. // feeMoneyTotalMap.put("applyDay", 0);
  115. // }
  116. isOkString = flowMainService.doConfirmResult(addConfirmResult, ConstantFlowType.ADD_WORK_DEPLOYMENTID, ConstantFlowType.ADD_WORK, flowMainPush, feeMoneyTotalMap);
  117. if (!"ok_end".equals(isOkString) && !"ok_noEnd".equals(isOkString)) {
  118. return AjaxResult.error(isOkString);
  119. }
  120. }
  121. Boolean isEnd = false;//是否结束
  122. Boolean isAgree = false;//是否同意
  123. if (addConfirmResult.getConfirmResult().equals("4")) {//结束流程
  124. isEnd = true;
  125. isAgree = false;
  126. } else if (addConfirmResult.getConfirmResult().equals("1")) {//1:审核通过,转下一步
  127. if ("ok_end".equals(isOkString)) {
  128. isEnd = true;
  129. isAgree = true;
  130. }
  131. }
  132. //添加业务信息(将请假信息中的修改掉,剩余年假,剩余调休,冻结年假,冻结调休都修改掉)
  133. if (isEnd) {
  134. // String createdById = applyAddWorkTimes.get(0).getCreatedBy();
  135. // HolidayManagementExample holidayManagementExample = new HolidayManagementExample();
  136. // holidayManagementExample.createCriteria().andUserIdEqualTo(createdById);
  137. // List<HolidayManagement> holidayManagements = holidayManagementService.selectByExample(holidayManagementExample);
  138. // if (holidayManagements.isEmpty()) {
  139. // FrameUser frameUser = frameUserService.selectByPrimaryKey(createdById);
  140. // // 添加holidayManagements信息
  141. // HolidayManagement entity = new HolidayManagement();
  142. // entity.setId(UUIDUtils.middleUUID());
  143. //
  144. // entity.setUserId(createdById);
  145. // entity.setJoinDay(frameUser.getCreatedat());
  146. //
  147. // entity.setStatus(0);//状态0正常,1删除,2禁用
  148. // entity.setIsFirst(1);//是否是第一次录入管理1是,0不是
  149. // entity.setCreatedAt(new Date());
  150. // entity.setUpdatedAt(entity.getCreatedAt());
  151. // entity.setCreatedBy(ShiroUtils.getUser().getId());
  152. // entity.setUpdatedBy(entity.getCreatedBy());
  153. //
  154. // int insert = holidayManagementService.insertWithoutId(entity);
  155. // holidayManagements.add(entity);
  156. // }
  157. // if (isAgree) {//如果是最后 并且同意了,就进行下面的操作,或者不同意就进行另一种操作,
  158. // this.booleanIsAgree(totalAddTime,holidayManagements,applyAddWorkTimes,createdById);
  159. //
  160. //
  161. // } else {
  162. // //如果是不同意
  163. // {
  164. //// 不需要做什么
  165. // }
  166. // }
  167. }
  168. return result(1);
  169. }
  170. /**
  171. * 发起付款申请流程
  172. *
  173. * @param record
  174. * @return
  175. */
  176. @PostMapping(value = "addApplyAddWork", produces = {"application/json;charset=UTF-8"})
  177. @ResponseBody
  178. @Transactional
  179. public AjaxResult addApplyAddWork(ApplyAddWorkIn record,String deptId,String tagerUserId) throws FlowException {
  180. System.out.println("addApplyAddWork");
  181. System.out.println(record);
  182. if (false) {
  183. return AjaxResult.error("这是一个错误测试信息");
  184. }
  185. return myaddApplyPayment(record,null,deptId,tagerUserId);
  186. }
  187. /**
  188. * 申请人重新发起申请
  189. *
  190. * @param record
  191. * @return
  192. */
  193. @PostMapping(value = "addApplyAddWorkAgain", produces = {"application/json;charset=UTF-8"})
  194. @ResponseBody
  195. @Transactional
  196. public AjaxResult addApplyAddWorkAgain(ApplyAddWorkIn record,String deptId,String tagerUserId) throws FlowException {
  197. System.out.println("addApplyAddWorkAgain");
  198. if (StringUtils.isEmpty(record.getFlowMainId())) {
  199. return AjaxResult.error("没有传入flowMainId的值");
  200. }
  201. System.out.println(record);
  202. // record.setRemark("重新发起申请[" + record.getFlowMainId() + "],");
  203. {//修改重新发起前的表状态
  204. FlowMain flowMain1 = new FlowMain();
  205. flowMain1.setId(record.getFlowMainId());
  206. flowMain1.setReturnStatus(1);//0/null无状态,1已撤回并且已重新发起
  207. flowMain1.setUpdatedAt(new Date());
  208. flowMain1.setUpdatedBy(ShiroUtils.getUser().getId());
  209. flowMainService.updateByPrimaryKeySelective(flowMain1);
  210. }
  211. return myaddApplyPayment(record,"重新发起申请[" + record.getFlowMainId() + "],", deptId, tagerUserId);
  212. }
  213. /**
  214. * 发起请假申请流程
  215. *
  216. * @param record
  217. * @return
  218. */
  219. public AjaxResult myaddApplyPayment(ApplyAddWorkIn record,String addSystemRemark,String deptId,String tagerUserId) throws FlowException {
  220. if (StringUtils.isEmpty(record.getApplyAddWorkTimeString())) {
  221. return AjaxResult.error("没有获取到请假详细信息,请重新确认");
  222. }
  223. BigDecimal totalAddTime = new BigDecimal(0);//所有加班小时
  224. {
  225. record.setUpdatedAt(new Date());
  226. record.setCreatedAt(record.getUpdatedAt());
  227. record.setCreatedBy(ShiroUtils.getUser().getId());
  228. record.setUpdatedBy(record.getCreatedBy());
  229. record.setStatus(0);
  230. modelService.insert(record);
  231. String applyAddWorkTimeString = record.getApplyAddWorkTimeString();
  232. JSONArray jsonArray = JSONArray.parseArray(applyAddWorkTimeString);
  233. for (int i = 0; i < jsonArray.size(); i++) {
  234. JSONObject object = jsonArray.getJSONObject(i);
  235. ApplyAddWorkTime applyAddWorkTime = JSONObject.parseObject(object.toJSONString(), ApplyAddWorkTime.class);// 将string类型直接封装成对象
  236. applyAddWorkTime.setAddWorkId(record.getId());
  237. applyAddWorkTime.setUpdatedAt(new Date());
  238. applyAddWorkTime.setCreatedAt(applyAddWorkTime.getUpdatedAt());
  239. applyAddWorkTime.setCreatedBy(ShiroUtils.getUser().getId());
  240. applyAddWorkTime.setUpdatedBy(applyAddWorkTime.getCreatedBy());
  241. applyAddWorkTime.setStatus(0);
  242. // 做一个方法,计算加班时间
  243. // BigDecimal addTime=null;
  244. // applyAddWorkTime.setUseTime(addTime);
  245. applyAddWorkTimeService.insert(applyAddWorkTime);
  246. {//修改请假表,将请假表的对应数据添加冻结时间,并减去可用时间
  247. totalAddTime = totalAddTime.add(new BigDecimal(applyAddWorkTime.getUseTime().toString()), MathContext.DECIMAL32);
  248. }
  249. }
  250. if (totalAddTime.doubleValue() > 0) {
  251. /**
  252. * 做一个方法,修改年假表的数据
  253. */
  254. //这里没有要做的事情
  255. }
  256. }
  257. HashMap<String, Object> feeMoneyTotalMap = null;//new HashMap<>();
  258. // if (totalTiaoXiu.doubleValue() > 0 && totalNianJia.doubleValue() <= 0 && totalShiJia.doubleValue() <= 0) {
  259. // //假别仅有调休假
  260. //// String isExchangeOnly = conditionMap.get("isExchangeOnly").toString();
  261. //// Integer applyDay = Integer.valueOf(conditionMap.get("applyDay").toString());
  262. // feeMoneyTotalMap.put("isExchangeOnly", "yes");
  263. // feeMoneyTotalMap.put("applyDay", 0);
  264. // } else if (totalTiaoXiu.add(totalNianJia).add(totalShiJia).doubleValue() > 3) {
  265. //// 假期天数合计>3天
  266. // feeMoneyTotalMap.put("isExchangeOnly", "no");
  267. // feeMoneyTotalMap.put("applyDay", 4);
  268. // } else {
  269. // feeMoneyTotalMap.put("isExchangeOnly", "no");
  270. // feeMoneyTotalMap.put("applyDay", 0);
  271. // }
  272. // feeMoneyTotalMap.put("billMoney", feeMoneyTotalDouble);
  273. String applyTheme = "" + ShiroUtils.getUser().getTruename() + "的加班申请单";
  274. AjaxResult ajaxResult = flowMainService.doFlowMain(applyTheme, record.getId(), addSystemRemark, record.getCcList(),
  275. ConstantFlowType.ADD_WORK_PROCESSDEFINE, ConstantFlowType.ADD_WORK_DEPLOYMENTID,
  276. feeMoneyTotalMap, ConstantFlowType.ADD_WORK_NAME, ConstantFlowType.ADD_WORK,ShiroUtils.getUser(),deptId, tagerUserId);
  277. if (ajaxResult.get("code").equals(1688)) {
  278. // //表成功了 且已经审核完成
  279. //// 需要进行后续的处理
  280. // Boolean isEnd = true;//是否结束
  281. // Boolean isAgree = true;//是否同意
  282. //
  283. // //添加业务信息(将请假信息中的修改掉,剩余年假,剩余调休,冻结年假,冻结调休都修改掉)
  284. // if (isEnd) {
  285. // String createdById = record.getCreatedBy();
  286. // HolidayManagementExample holidayManagementExample = new HolidayManagementExample();
  287. // holidayManagementExample.createCriteria().andUserIdEqualTo(createdById);
  288. // List<HolidayManagement> holidayManagements = holidayManagementService.selectByExample(holidayManagementExample);
  289. // if (holidayManagements.isEmpty()) {
  290. // // 添加holidayManagements信息
  291. // FrameUser frameUser = frameUserService.selectByPrimaryKey(createdById);
  292. // HolidayManagement entity = new HolidayManagement();
  293. // entity.setId(UUIDUtils.middleUUID());
  294. //
  295. // entity.setUserId(createdById);
  296. // entity.setJoinDay(frameUser.getCreatedat());
  297. //
  298. // entity.setStatus(0);//状态0正常,1删除,2禁用
  299. // entity.setIsFirst(1);//是否是第一次录入管理1是,0不是
  300. // entity.setCreatedAt(new Date());
  301. // entity.setUpdatedAt(entity.getCreatedAt());
  302. // entity.setCreatedBy(ShiroUtils.getUser().getId());
  303. // entity.setUpdatedBy(entity.getCreatedBy());
  304. //
  305. // int insert = holidayManagementService.insertWithoutId(entity);
  306. // holidayManagements.add(entity);
  307. // }
  308. // if (isAgree) {//如果是最后 并且同意了,就进行下面的操作,或者不同意就进行另一种操作,
  309. // ApplyAddWorkTimeExample example = new ApplyAddWorkTimeExample();
  310. // example.createCriteria().andAddWorkIdEqualTo(record.getId());
  311. // List<ApplyAddWorkTime> applyAddWorkTimes = applyAddWorkTimeService.selectByExample(example);
  312. //
  313. // this.booleanIsAgree(totalAddTime,holidayManagements,applyAddWorkTimes,createdById);
  314. //
  315. //
  316. // } else {
  317. // //如果是不同意
  318. // {
  319. //// 不需要做什么
  320. // }
  321. // }
  322. // }
  323. return AjaxResult.success();
  324. } else {
  325. return ajaxResult;
  326. }
  327. }
  328. /**
  329. * 审核或申请结束且同意的情况下进行的处理
  330. */
  331. // public void booleanIsAgree(BigDecimal totalAddTime,List<HolidayManagement> holidayManagements,List<ApplyAddWorkTime> applyAddWorkTimes,String createdById){
  332. // //如果是同意了
  333. // {
  334. // HolidayManagement holidayManagement = holidayManagements.get(0);
  335. // if (totalAddTime.doubleValue() > 0) {//存在加班修改
  336. // Double restExchangeTime = holidayManagement.getRestExchangeTime();
  337. // if(null==restExchangeTime)restExchangeTime=0.0;
  338. //// Double restHolidayTime = holidayManagement.getRestHolidayTime();
  339. // double v = new BigDecimal(restExchangeTime).add(totalAddTime, MathContext.DECIMAL32).doubleValue();
  340. // holidayManagement.setRestExchangeTime(v);
  341. // }
  342. //
  343. //
  344. // holidayManagement.setUpdatedBy(ShiroUtils.getUser().getId());
  345. // holidayManagement.setUpdatedAt(new Date());
  346. //
  347. // holidayManagementService.updateByPrimaryKeySelective(holidayManagement);
  348. // }
  349. //
  350. // {//审核通过后 在oa_work_attendance_log表中添加记录
  351. // for (ApplyAddWorkTime applyAddWorkTime : applyAddWorkTimes) {
  352. // WorkAttendanceLog workAttendanceLog = new WorkAttendanceLog();
  353. //
  354. //
  355. //// //=========================下面是重要的数据
  356. //// user_id varchar (64) DEFAULT NULL COMMENT '用户id 姓名/部门/岗位',
  357. //// `do_day`date DEFAULT NULL COMMENT '发生的日期',
  358. //// `happen_type` int(4) DEFAULT NULL COMMENT
  359. //// '1年假,2调休,3事假,4病假,5婚假,6产假,7陪产假,8丧假,9加班,10迟到,11早退,12旷工,13外出,14居家,15出差',
  360. //// //=========================上面是重要的数据
  361. //// do_start_time datetime DEFAULT NULL COMMENT '发生开始时间',
  362. //// do_end_time datetime DEFAULT NULL COMMENT '发生结束时间',
  363. //// `use_time`decimal(5, 2) DEFAULT NULL COMMENT '消耗时间(比如加班/调休时间小时)',
  364. //// from_table_id varchar(64) DEFAULT NULL COMMENT '来源表id',
  365. //// from_table_name varchar(64) DEFAULT NULL COMMENT '来源表名称',
  366. //
  367. // workAttendanceLog.setUserId(createdById);
  368. // workAttendanceLog.setDoDay(applyAddWorkTime.getStartDay());
  369. // workAttendanceLog.setHappenType(9);//'1年假,2调休,3事假,4病假,5婚假,6产假,7陪产假,8丧假,9加班,10迟到,11早退,12旷工,13外出,14居家,15出差',
  370. // workAttendanceLog.setDoStartTime(applyAddWorkTime.getStartTime());
  371. // workAttendanceLog.setDoEndTime(applyAddWorkTime.getEndTime());
  372. // workAttendanceLog.setUseTime(applyAddWorkTime.getUseTime());
  373. // workAttendanceLog.setFromTableId(applyAddWorkTime.getId());
  374. // workAttendanceLog.setFromTableName("apply_add_work_time");
  375. //
  376. //
  377. // workAttendanceLog.setCreatedBy(ShiroUtils.getUser().getId());
  378. // workAttendanceLog.setCreatedAt(new Date());
  379. // workAttendanceLog.setStatus(0);
  380. // workAttendanceLog.setUpdatedAt(workAttendanceLog.getCreatedAt());
  381. // workAttendanceLog.setUpdatedBy(workAttendanceLog.getCreatedBy());
  382. // int result = workAttendanceLogService.insert(workAttendanceLog);
  383. // }
  384. //
  385. // }
  386. // }
  387. /**
  388. * 根据推送表的FlowMainPushId获取信息
  389. *
  390. * @param flowMainPushId
  391. * @return
  392. */
  393. @PostMapping(value = "getInfoByFlowMainPushId", produces = {"application/json;charset=UTF-8"})
  394. @ResponseBody
  395. public ApplyAddWorkIn getInfoByFlowMainPushId(String flowMainPushId) {
  396. ApplyAddWorkIn myApplyAddWorkIn = modelService.getInfoByFlowMainPushId(flowMainPushId);
  397. if (myApplyAddWorkIn != null) {
  398. {//获取抄送人
  399. // FlowMainCcExample example = new FlowMainCcExample();
  400. // example.createCriteria().andFlowMainIdEqualTo(myApplyUseMoneyIn.getFlowMainId());
  401. // List<FlowMainCc> flowMainCcList = flowMainCcService.selectByExample(example);
  402. List<FlowMainCcVo> flowMainCcList = flowMainCcService.selectVoByFlowMainId(myApplyAddWorkIn.getFlowMainId());
  403. // HashSet<String> set = new HashSet<>();
  404. // for (FlowMainCc flowMainCc : flowMainCcList) {
  405. // set.add(flowMainCc.getCcUser());
  406. // }
  407. // StringBuilder stringBuilder = new StringBuilder();
  408. // if (!set.isEmpty()) {
  409. // for (String s : set) {
  410. // stringBuilder.append(s + ",");
  411. // }
  412. // }
  413. // myApplyUseMoneyIn.setCcList(stringBuilder.toString());
  414. myApplyAddWorkIn.setFlowMainCcList(flowMainCcList);
  415. }
  416. {//获取apply_use_money_detail数据
  417. ApplyAddWorkTimeExample example = new ApplyAddWorkTimeExample();
  418. example.createCriteria().andAddWorkIdEqualTo(myApplyAddWorkIn.getId());
  419. List<ApplyAddWorkTime> ApplyAddWorkTimes = applyAddWorkTimeService.selectByExample(example);
  420. myApplyAddWorkIn.setApplyAddWorkTimeList(ApplyAddWorkTimes);
  421. }
  422. }
  423. return myApplyAddWorkIn;
  424. }
  425. /**
  426. * 根据主表的FlowMainId获取信息
  427. *
  428. * @param flowMainId
  429. * @return
  430. */
  431. @PostMapping(value = "getInfoByFlowMainId", produces = {"application/json;charset=UTF-8"})
  432. @ResponseBody
  433. public ApplyAddWorkIn getInfoByFlowMainId(String flowMainId) {
  434. ApplyAddWorkIn myApplyAddWorkIn = modelService.getInfoByFlowMainId(flowMainId);
  435. if (myApplyAddWorkIn != null) {
  436. {//获取抄送人
  437. // FlowMainCcExample example = new FlowMainCcExample();
  438. // example.createCriteria().andFlowMainIdEqualTo(myApplyUseMoneyIn.getFlowMainId());
  439. // List<FlowMainCc> flowMainCcList = flowMainCcService.selectByExample(example);
  440. List<FlowMainCcVo> flowMainCcList = flowMainCcService.selectVoByFlowMainId(myApplyAddWorkIn.getFlowMainId());
  441. // HashSet<String> set = new HashSet<>();
  442. // for (FlowMainCc flowMainCc : flowMainCcList) {
  443. // set.add(flowMainCc.getCcUser());
  444. // }
  445. // StringBuilder stringBuilder = new StringBuilder();
  446. // if (!set.isEmpty()) {
  447. // for (String s : set) {
  448. // stringBuilder.append(s + ",");
  449. // }
  450. // }
  451. // myApplyUseMoneyIn.setCcList(stringBuilder.toString());
  452. myApplyAddWorkIn.setFlowMainCcList(flowMainCcList);
  453. }
  454. {//获取apply_use_money_detail数据
  455. ApplyAddWorkTimeExample example = new ApplyAddWorkTimeExample();
  456. example.createCriteria().andAddWorkIdEqualTo(myApplyAddWorkIn.getId());
  457. List<ApplyAddWorkTime> ApplyOffWorkTimes = applyAddWorkTimeService.selectByExample(example);
  458. myApplyAddWorkIn.setApplyAddWorkTimeList(ApplyOffWorkTimes);
  459. }
  460. }
  461. return myApplyAddWorkIn;
  462. }
  463. /**
  464. * 根据用户id获取用户姓名和部门名称,岗位信息
  465. *
  466. * @param userId
  467. * @return
  468. */
  469. @PostMapping(value = "getUserInfoByUserId", produces = {"application/json;charset=UTF-8"})
  470. @ResponseBody
  471. public Map<String, Object> getUserInfoByUserId(String userId) {
  472. if (StringUtils.isEmpty(userId)) {
  473. userId = ShiroUtils.getUser().getId();
  474. }
  475. return modelService.getUserInfoByUserId(userId);
  476. }
  477. //=====下面原生的=============================================================================================================
  478. // @PostMapping(value = "list",produces = {"application/json;charset=UTF-8"})
  479. // @ResponseBody
  480. // public Object list(Tablepar tablepar, ApplyAddWork model, DateTrans dt){
  481. // PageInfo<ApplyAddWork> page= modelService.list(tablepar,model,dt);
  482. // TableSplitResult<ApplyAddWork> result=new TableSplitResult<ApplyAddWork>(page.getPageNum(), page.getTotal(), page.getList());
  483. // return result;
  484. // }
  485. //
  486. // @PostMapping(value = "listAll",produces = {"application/json;charset=UTF-8"})
  487. // @ResponseBody
  488. // public Object listAll(ApplyAddWork model, DateTrans dt){
  489. // return modelService.listAll(model,dt);
  490. // }
  491. //
  492. // @PostMapping(value = "add",produces = {"application/json;charset=UTF-8"})
  493. // @ResponseBody
  494. // public AjaxResult add(ApplyAddWork record){
  495. // record.setCreatedAt(new Date());
  496. // int result = modelService.insert(record);
  497. // return result(result);
  498. // }
  499. //
  500. // @PostMapping(value = "remove/{id}",produces = {"application/json;charset=UTF-8"})
  501. // @ResponseBody
  502. // public AjaxResult remove(@PathVariable("id") String id){
  503. // int result = -1;//modelService.deleteByPrimaryKey(id);
  504. // return result(result);
  505. // }
  506. //
  507. // @PostMapping(value = "edit",produces = {"application/json;charset=UTF-8"})
  508. // @ResponseBody
  509. // public AjaxResult editSave(ApplyAddWork model){
  510. // int result = modelService.updateByPrimaryKeySelective(model);
  511. // return result(result);
  512. // }
  513. //
  514. // @PostMapping(value = "getById",produces = {"application/json;charset=UTF-8"})
  515. // @ResponseBody
  516. // public ApplyAddWork getById(String id) {
  517. // return modelService.selectByPrimaryKey(id);
  518. // }
  519. }