diff --git a/staffing-admin/pom.xml b/staffing-admin/pom.xml index 48520e5..00446f1 100644 --- a/staffing-admin/pom.xml +++ b/staffing-admin/pom.xml @@ -88,7 +88,50 @@ false ${project.artifactId} - + + + + + maven-assembly-plugin + 2.6 + + + false + + + src/main/resources/assembly.xml + + + ${project.build.directory} + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.3.0 + + + + + com.staffing.StaffingApplication + + lib/ + true + + + + + *.java + static/ + db/ + templates/ + *.yml + *.txt + logback.xml + + + ${project.artifactId} diff --git a/staffing-admin/src/main/java/com/staffing/web/controller/custom/StEmployeeController.java b/staffing-admin/src/main/java/com/staffing/web/controller/custom/StEmployeeController.java index c846b4e..2f77d20 100644 --- a/staffing-admin/src/main/java/com/staffing/web/controller/custom/StEmployeeController.java +++ b/staffing-admin/src/main/java/com/staffing/web/controller/custom/StEmployeeController.java @@ -2,7 +2,17 @@ package com.staffing.web.controller.custom; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; + +import com.staffing.common.core.domain.entity.SysUser; +import com.staffing.common.core.redis.RedisCache; +import com.staffing.common.utils.SecurityUtils; +import com.staffing.custom.domain.StTask; +import com.staffing.custom.domain.StTaskSign; +import com.staffing.custom.mapper.StTaskMapper; +import com.staffing.custom.service.IStTaskService; +import com.staffing.custom.service.IStTaskSignService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -22,6 +32,9 @@ import com.staffing.custom.service.IStEmployeeService; import com.staffing.common.utils.poi.ExcelUtil; import com.staffing.common.core.page.TableDataInfo; +import static com.staffing.common.constant.Constants.DELETED_USER_KEY; +import static com.staffing.common.utils.PageUtils.startPage; + /** * 员工Controller * @@ -34,11 +47,17 @@ public class StEmployeeController extends BaseController { @Autowired private IStEmployeeService stEmployeeService; + @Autowired + private IStTaskSignService taskSignService; + @Autowired + private StTaskMapper stTaskMapper; + @Autowired + private RedisCache redisCache; /** * 查询员工列表 */ - @PreAuthorize("@ss.hasPermi('employee:employee:list')") + @PreAuthorize("@ss.hasPermi('employee:list')") @GetMapping("/list") public TableDataInfo list(StEmployee stEmployee) { @@ -50,7 +69,7 @@ public class StEmployeeController extends BaseController /** * 导出员工列表 */ - @PreAuthorize("@ss.hasPermi('employee:employee:export')") + @PreAuthorize("@ss.hasPermi('employee:export')") @Log(title = "员工", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, StEmployee stEmployee) @@ -63,7 +82,7 @@ public class StEmployeeController extends BaseController /** * 获取员工详细信息 */ - @PreAuthorize("@ss.hasPermi('employee:employee:query')") + @PreAuthorize("@ss.hasPermi('employee:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -73,7 +92,7 @@ public class StEmployeeController extends BaseController /** * 新增员工 */ - @PreAuthorize("@ss.hasPermi('employee:employee:add')") + @PreAuthorize("@ss.hasPermi('employee:add')") @Log(title = "员工", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody StEmployee stEmployee) @@ -89,23 +108,48 @@ public class StEmployeeController extends BaseController /** * 修改员工 */ - @PreAuthorize("@ss.hasPermi('employee:employee:edit')") + @PreAuthorize("@ss.hasPermi('employee:edit')") @Log(title = "员工", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody StEmployee stEmployee) { stEmployee.setUpdateTime(new Date()); + stEmployee.setPhone(null);//不允许修改手机号 return toAjax(stEmployeeService.updateStEmployeeOrNull(stEmployee)); } /** * 删除员工 */ - @PreAuthorize("@ss.hasPermi('employee:employee:remove')") + @PreAuthorize("@ss.hasPermi('employee:remove')") @Log(title = "员工", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { - return toAjax(stEmployeeService.deleteStEmployeeByIds(ids)); + //有报名任务,则不能删除了 + for (Long id : ids) { + StTaskSign stTaskSign = new StTaskSign(); + stTaskSign.setEmployeeId(id); + List stTaskSigns = taskSignService.selectStTaskSignList(stTaskSign); + + if (!stTaskSigns.isEmpty()){ + StTask stTask = new StTask(); + List taskIds = stTaskSigns.stream().map(stTask1 -> stTask1.getTaskId()).collect(Collectors.toList()); + stTask.setTaskIds(taskIds); + List stTasks = stTaskMapper.selectStTaskList(stTask); + + if (!stTasks.isEmpty()){ + return error("该员工已报名了任务["+ stTasks.get(0).getTaskName() +"], 不能删除"); + } + } + } + int i = stEmployeeService.deleteStEmployeeByIds(ids); + if(i > 0){ + for (Long id : ids) { + //清除缓存,用户踢下线 + redisCache.setCacheMapValue(DELETED_USER_KEY, id+"", true); + } + } + return toAjax(i); } } diff --git a/staffing-admin/src/main/java/com/staffing/web/controller/custom/StEmployeeFundRecordController.java b/staffing-admin/src/main/java/com/staffing/web/controller/custom/StEmployeeFundRecordController.java index c8b3536..009ce77 100644 --- a/staffing-admin/src/main/java/com/staffing/web/controller/custom/StEmployeeFundRecordController.java +++ b/staffing-admin/src/main/java/com/staffing/web/controller/custom/StEmployeeFundRecordController.java @@ -46,7 +46,7 @@ public class StEmployeeFundRecordController extends BaseController /** * 查询员工资金流水列表 */ - @PreAuthorize("@ss.hasPermi('fund:fund:list')") + @PreAuthorize("@ss.hasPermi('fund:list')") @GetMapping("/list") public TableDataInfo list(StEmployeeFundRecord stEmployeeFundRecord) { @@ -58,7 +58,7 @@ public class StEmployeeFundRecordController extends BaseController /** * 导出员工资金流水列表 */ - @PreAuthorize("@ss.hasPermi('fund:fund:export')") + @PreAuthorize("@ss.hasPermi('fund:export')") @Log(title = "员工资金流水", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, StEmployeeFundRecord stEmployeeFundRecord) @@ -90,7 +90,7 @@ public class StEmployeeFundRecordController extends BaseController /** * 获取员工资金流水详细信息 */ - @PreAuthorize("@ss.hasPermi('fund:fund:query')") + @PreAuthorize("@ss.hasPermi('fund:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -100,7 +100,7 @@ public class StEmployeeFundRecordController extends BaseController /** * 新增员工资金流水 */ - @PreAuthorize("@ss.hasPermi('fund:fund:add')") + @PreAuthorize("@ss.hasPermi('fund:add')") @Log(title = "员工资金流水", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody StEmployeeFundRecord stEmployeeFundRecord) @@ -112,7 +112,7 @@ public class StEmployeeFundRecordController extends BaseController /** * 修改员工资金流水 */ - @PreAuthorize("@ss.hasPermi('fund:fund:edit')") + @PreAuthorize("@ss.hasPermi('fund:edit')") @Log(title = "员工资金流水", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody StEmployeeFundRecord stEmployeeFundRecord) @@ -124,7 +124,7 @@ public class StEmployeeFundRecordController extends BaseController /** * 删除员工资金流水 */ - @PreAuthorize("@ss.hasPermi('fund:fund:remove')") + @PreAuthorize("@ss.hasPermi('fund:remove')") @Log(title = "员工资金流水", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) @@ -133,7 +133,7 @@ public class StEmployeeFundRecordController extends BaseController } @Log(title = "流水导入", businessType = BusinessType.IMPORT) - @PreAuthorize("@ss.hasPermi('fund:fund:export')") + @PreAuthorize("@ss.hasPermi('fund:export')") @PostMapping("/importData") public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { diff --git a/staffing-admin/src/main/java/com/staffing/web/controller/custom/StTaskController.java b/staffing-admin/src/main/java/com/staffing/web/controller/custom/StTaskController.java index bad9f9c..0ce1447 100644 --- a/staffing-admin/src/main/java/com/staffing/web/controller/custom/StTaskController.java +++ b/staffing-admin/src/main/java/com/staffing/web/controller/custom/StTaskController.java @@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletResponse; import com.staffing.common.utils.MinioUtil; import com.staffing.common.utils.QRCodeGenerator; +import com.staffing.custom.domain.StTaskSign; import io.minio.ObjectWriteResponse; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; @@ -50,7 +51,9 @@ public class StTaskController extends BaseController if (task.getCodePic() == null){ continue; } - task.setCodePic(minioUtil.getObjectURL( "yonggong", task.getCodePic())); + + task.setCodePic("https://www.tulkj.cn/file/yonggong/" + task.getCodePic()); +// task.setCodePic(minioUtil.getObjectURL( "yonggong", task.getCodePic())); } return getDataTable(list); } @@ -73,7 +76,7 @@ public class StTaskController extends BaseController /** * 获取任务详细信息 */ - @PreAuthorize("@ss.hasPermi('task:query')") + @PreAuthorize("@ss.hasPermi('task:list')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -93,7 +96,7 @@ public class StTaskController extends BaseController stTask.setUpdateTime(new Date()); stTaskService.insertStTask(stTask); - String url = "http://yg.pusonggroup.com:81/index.html?id=" + stTask.getId(); + String url = "http://www.tulkj.cn:81/index.html?id=" + stTask.getId(); InputStream inputStream = QRCodeGenerator.generateQRCodeImage(url, 500, 500); String fileName = System.currentTimeMillis() + stTask.getId() + ".png"; try { @@ -118,10 +121,30 @@ public class StTaskController extends BaseController @PutMapping public AjaxResult edit(@RequestBody StTask stTask) { + //已发放金额的任务不许删除 + StTask stTask1 = stTaskService.selectStTaskById(stTask.getId(), true); + for (StTaskSign stTaskSign : stTask1.getListSign()) { + if (stTaskSign.getStEmployeeFundRecord().getPayStatus() == 1){ + return error("已发薪的任务禁止修改"); + } + } + stTask.setUpdateTime(new Date()); return toAjax(stTaskService.updateStTask(stTask)); } + /** + * 修改任务 + */ + @PreAuthorize("@ss.hasPermi('task:edit')") + @Log(title = "任务", businessType = BusinessType.UPDATE) + @PutMapping("shangjia") + public AjaxResult shangjia(@RequestBody StTask stTask) + { + stTask.setUpdateTime(new Date()); + return toAjax(stTaskService.updateStTask(stTask, false)); + } + /** * 删除任务 */ @@ -130,6 +153,16 @@ public class StTaskController extends BaseController @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { + //已发放金额的任务不许删除 + for (Long id : ids) { + StTask stTask = stTaskService.selectStTaskById(id, true); + for (StTaskSign stTaskSign : stTask.getListSign()) { + if (stTaskSign.getStEmployeeFundRecord().getPayStatus() == 1){ + return error("已发薪的任务禁止删除"); + } + } + } + return toAjax(stTaskService.deleteStTaskByIds(ids)); } } diff --git a/staffing-admin/src/main/java/com/staffing/web/controller/custom/StTaskSignController.java b/staffing-admin/src/main/java/com/staffing/web/controller/custom/StTaskSignController.java index faf3951..9da921f 100644 --- a/staffing-admin/src/main/java/com/staffing/web/controller/custom/StTaskSignController.java +++ b/staffing-admin/src/main/java/com/staffing/web/controller/custom/StTaskSignController.java @@ -45,6 +45,14 @@ public class StTaskSignController extends BaseController List list = stTaskSignService.selectStTaskSignList(stTaskSign); return getDataTable(list); } + @PreAuthorize("@ss.hasPermi('taskSign:sign:list')") + @GetMapping("/selectStTaskSignByTaskIds") + public TableDataInfo selectStTaskSignByTaskIds(Long taskId) + { + startPage(); + List list = stTaskSignService.selectStTaskSignByTaskIds(taskId); + return getDataTable(list); + } /** * 导出签到列表 @@ -56,9 +64,11 @@ public class StTaskSignController extends BaseController { List list = stTaskSignService.selectStTaskSignList(stTaskSign); for (StTaskSign taskSign : list) { - if (taskSign.getStatus() == 0){ + if (taskSign.getStatus() == -1){ + taskSign.setStatusStr("未点名"); + }else if (taskSign.getStatus() == 0){ taskSign.setStatusStr("未签到"); - }else{ + }else { taskSign.setStatusStr("已签到"); } diff --git a/staffing-admin/src/main/java/com/staffing/web/controller/employee/EmployeeTaskController.java b/staffing-admin/src/main/java/com/staffing/web/controller/employee/EmployeeTaskController.java index e672527..cf94405 100644 --- a/staffing-admin/src/main/java/com/staffing/web/controller/employee/EmployeeTaskController.java +++ b/staffing-admin/src/main/java/com/staffing/web/controller/employee/EmployeeTaskController.java @@ -11,6 +11,7 @@ import com.staffing.custom.domain.StTaskSign; import com.staffing.custom.service.IStEmployeeService; import com.staffing.custom.service.IStTaskService; import com.staffing.custom.service.IStTaskSignService; +import com.staffing.framework.web.service.TokenService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -37,6 +38,8 @@ public class EmployeeTaskController extends BaseController @Autowired private IStEmployeeService stEmployeeService; + @Autowired + private TokenService tokenService; /** * 查询任务列表 */ @@ -52,17 +55,17 @@ public class EmployeeTaskController extends BaseController stTask.setStatus(1); // 获取当前时间 ZonedDateTime now = ZonedDateTime.now(); - // 将当前时间加上一天,‌然后设置为0点0分 - ZonedDateTime nextDayStart = now.plusDays(1).truncatedTo(ChronoUnit.DAYS); - Date nextDayZero = Date.from(nextDayStart.toInstant()); + // 今日0点 + ZonedDateTime nextDayStart = now.plusDays(0).truncatedTo(ChronoUnit.DAYS); + Date dayZero = Date.from(nextDayStart.toInstant()); if (stTask.getDateStatus() != 0){ - stTask.setTaskDateCompare(nextDayZero); + stTask.setTaskDateCompare(dayZero); } SysUser user = SecurityUtils.getLoginUser().getUser(); long userId = user.getUserId(); List list; - stTask.getParams().put("order", nextDayZero); + stTask.getParams().put("order", dayZero); if (!self){ list = stTaskService.selectStTaskList(stTask, userId); }else{ @@ -77,6 +80,25 @@ public class EmployeeTaskController extends BaseController @GetMapping("/baoming") public AjaxResult baoming(StTaskSign taskSign) { + SysUser user = SecurityUtils.getLoginUser().getUser(); + long userId = user.getUserId(); + + StEmployee stEmploye = new StEmployee(); + stEmploye.setId(userId); + stEmploye.setRealName(taskSign.getEmployeeName()); + stEmploye.setIdCard(taskSign.getIdCard()); + stEmployeeService.updateStEmployee(stEmploye); + + + user = SecurityUtils.getLoginUser().getUser(); + user.setNickName(taskSign.getEmployeeName()); + user.setPhonenumber(taskSign.getPhone()); + user.setIdCard(taskSign.getIdCard()); + tokenService.refreshToken(SecurityUtils.getLoginUser()); + + + + return stTaskSignService.baoming(taskSign); } /** diff --git a/staffing-admin/src/main/java/com/staffing/web/controller/employee/EmployeeUserController.java b/staffing-admin/src/main/java/com/staffing/web/controller/employee/EmployeeUserController.java index d287984..93ed268 100644 --- a/staffing-admin/src/main/java/com/staffing/web/controller/employee/EmployeeUserController.java +++ b/staffing-admin/src/main/java/com/staffing/web/controller/employee/EmployeeUserController.java @@ -182,7 +182,7 @@ public class EmployeeUserController extends BaseController { AjaxResult ajax = AjaxResult.success(); // 生成令牌 - String token = loginService.wxLogin(loginBody.getLoginCode(), loginBody.getPhoneCode()); + String token = loginService.wxLogin(loginBody.getLoginCode(), loginBody.getPhoneCode(), 1); ajax.put(Constants.TOKEN, token); return ajax; } @@ -206,6 +206,12 @@ public class EmployeeUserController extends BaseController ajax.put("permissions", permissions); return ajax; } + @GetMapping("verifyToken") + public AjaxResult verifyToken() + { + AjaxResult ajax = AjaxResult.success(); + return ajax; + } /** * 获取路由信息 diff --git a/staffing-admin/src/main/java/com/staffing/web/controller/merchant/MerchantTaskController.java b/staffing-admin/src/main/java/com/staffing/web/controller/merchant/MerchantTaskController.java index cfc8858..90a6c67 100644 --- a/staffing-admin/src/main/java/com/staffing/web/controller/merchant/MerchantTaskController.java +++ b/staffing-admin/src/main/java/com/staffing/web/controller/merchant/MerchantTaskController.java @@ -52,12 +52,12 @@ public class MerchantTaskController extends BaseController // 获取当前时间 ZonedDateTime now = ZonedDateTime.now(); // 将当前时间加上一天,‌然后设置为0点0分 - ZonedDateTime nextDayStart = now.plusDays(1).truncatedTo(ChronoUnit.DAYS); - Date nextDayZero = Date.from(nextDayStart.toInstant()); + ZonedDateTime nextDayStart = now.plusDays(0).truncatedTo(ChronoUnit.DAYS); + Date dayZero = Date.from(nextDayStart.toInstant()); if (stTask.getDateStatus() != 0){ - stTask.setTaskDateCompare(nextDayZero); + stTask.setTaskDateCompare(dayZero); } - stTask.getParams().put("order", nextDayZero); + stTask.getParams().put("order", dayZero); List list = stTaskService.selectStTaskList(stTask, 0); return getDataTable(list); } diff --git a/staffing-admin/src/main/java/com/staffing/web/controller/merchant/MerchantUserController.java b/staffing-admin/src/main/java/com/staffing/web/controller/merchant/MerchantUserController.java index cb77de5..040ec3b 100644 --- a/staffing-admin/src/main/java/com/staffing/web/controller/merchant/MerchantUserController.java +++ b/staffing-admin/src/main/java/com/staffing/web/controller/merchant/MerchantUserController.java @@ -170,8 +170,9 @@ public class MerchantUserController extends BaseController { AjaxResult ajax = AjaxResult.success(); // 生成令牌 - String token = loginService.wxMerchantLogin(loginBody.getLoginCode(), loginBody.getPhoneCode()); + String token = loginService.wxLogin(loginBody.getLoginCode(), loginBody.getPhoneCode(), loginBody.getType()); ajax.put(Constants.TOKEN, token); + ajax.put("role", loginBody.getType()); return ajax; } /** diff --git a/staffing-admin/src/main/resources/application-druid.yml b/staffing-admin/src/main/resources/application-druid.yml index 8aeeea0..e37e87e 100644 --- a/staffing-admin/src/main/resources/application-druid.yml +++ b/staffing-admin/src/main/resources/application-druid.yml @@ -6,9 +6,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://192.168.18.119:3307/staffing?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://192.168.18.119:3308/staffing?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: Ps123456@ + password: Ps123456 # 从库数据源 slave: # 从数据源开关/默认关闭 diff --git a/staffing-admin/src/main/resources/application.yml b/staffing-admin/src/main/resources/application.yml index 78bb67f..c2bf6d8 100644 --- a/staffing-admin/src/main/resources/application.yml +++ b/staffing-admin/src/main/resources/application.yml @@ -34,8 +34,8 @@ server: # 日志配置 logging: level: - com.staffing: debug - org.springframework: warn + com.staffing: DEBUG + org.springframework: WARN # 用户配置 user: @@ -165,7 +165,7 @@ xss: urlPatterns: /system/*,/monitor/*,/tool/* minio: - ip: 120.55.69.166 + ip: 8.155.21.176 port: 9000 access-key: root - secret-key: root_1234 \ No newline at end of file + secret-key: root_6688 \ No newline at end of file diff --git a/staffing-common/src/main/java/com/staffing/common/constant/Constants.java b/staffing-common/src/main/java/com/staffing/common/constant/Constants.java index 085697b..c090a67 100644 --- a/staffing-common/src/main/java/com/staffing/common/constant/Constants.java +++ b/staffing-common/src/main/java/com/staffing/common/constant/Constants.java @@ -110,6 +110,11 @@ public class Constants */ public static final String LOGIN_USER_KEY = "login_user_key"; + /** + * 已删除用户标记 + */ + public static final String DELETED_USER_KEY = "deleted_user_key"; + /** * 用户ID */ diff --git a/staffing-common/src/main/java/com/staffing/common/core/domain/entity/SysUser.java b/staffing-common/src/main/java/com/staffing/common/core/domain/entity/SysUser.java index c285909..c9c28ea 100644 --- a/staffing-common/src/main/java/com/staffing/common/core/domain/entity/SysUser.java +++ b/staffing-common/src/main/java/com/staffing/common/core/domain/entity/SysUser.java @@ -93,11 +93,22 @@ public class SysUser extends BaseEntity private String openId; + + private SysUser.ROLETYPE roleType; + public SysUser() { } + public SysUser.ROLETYPE getRoleType() { + return roleType; + } + + public void setRoleType(SysUser.ROLETYPE roleType) { + this.roleType = roleType; + } + public String getOpenId() { return openId; } @@ -341,4 +352,9 @@ public class SysUser extends BaseEntity .append("dept", getDept()) .toString(); } + + public enum ROLETYPE{ + MERCHANT, + EMPLOYEE; + } } diff --git a/staffing-common/src/main/java/com/staffing/common/core/domain/model/LoginBody.java b/staffing-common/src/main/java/com/staffing/common/core/domain/model/LoginBody.java index f895053..336e22b 100644 --- a/staffing-common/src/main/java/com/staffing/common/core/domain/model/LoginBody.java +++ b/staffing-common/src/main/java/com/staffing/common/core/domain/model/LoginBody.java @@ -31,6 +31,19 @@ public class LoginBody private String loginCode; private String phoneCode; + /** + * emum ROLETYPE + */ + private Integer type; + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + public String getLoginCode() { return loginCode; } diff --git a/staffing-common/src/main/java/com/staffing/common/utils/WxUtil.java b/staffing-common/src/main/java/com/staffing/common/utils/WxUtil.java index 2fe3dad..4bdc295 100644 --- a/staffing-common/src/main/java/com/staffing/common/utils/WxUtil.java +++ b/staffing-common/src/main/java/com/staffing/common/utils/WxUtil.java @@ -10,8 +10,10 @@ import java.util.HashMap; import java.util.Map; public class WxUtil { - public final static String appId = "wx7bc7df6eb945a84f"; - public final static String secret = "60dc8f7e8c850dfbe0170acefa48070a"; +// public final static String appId = "wx7bc7df6eb945a84f";//ps +// public final static String secret = "60dc8f7e8c850dfbe0170acefa48070a";//ps + public final static String appId = "wx26e952dad7a8aae5"; + public final static String secret = "60a85e94d921a385ce52faaaed4a103b"; private static WxToken wxToken = null; diff --git a/staffing-framework/src/main/java/com/staffing/framework/web/service/SysLoginService.java b/staffing-framework/src/main/java/com/staffing/framework/web/service/SysLoginService.java index 81e664e..6b8885e 100644 --- a/staffing-framework/src/main/java/com/staffing/framework/web/service/SysLoginService.java +++ b/staffing-framework/src/main/java/com/staffing/framework/web/service/SysLoginService.java @@ -118,7 +118,22 @@ public class SysLoginService * 登录验证 * @return 结果 */ - public String wxLogin(String loginCode, String phoneCode) + public String wxLogin(String loginCode, String phoneCode, int type) + { + if (type == SysUser.ROLETYPE.EMPLOYEE.ordinal()){ + return wxEmployeeLogin(loginCode, phoneCode); + }else{ + return wxMerchantLogin(loginCode, phoneCode); + } + } + + /** + * 职工端 登录 + * @param loginCode + * @param phoneCode + * @return + */ + public String wxEmployeeLogin(String loginCode, String phoneCode) { // 登录前置校验 @@ -150,6 +165,7 @@ public class SysLoginService user.setIdCard(stEmployee.getIdCard()); user.setNickName(stEmployee.getRealName()); user.setOpenId(stEmployee.getOpenId()); + user.setRoleType(SysUser.ROLETYPE.EMPLOYEE); loginUser = new LoginUser(stEmployee.getId(), 0l, user, new HashSet<>()); } catch (Exception e) @@ -193,9 +209,8 @@ public class SysLoginService { throw new ServiceException(MessageUtils.message("user.blocked")); } - + user.setRoleType(SysUser.ROLETYPE.MERCHANT); loginUser = createLoginUser(user); - recordLoginInfo(loginUser.getUserId()); } catch (Exception e) diff --git a/staffing-framework/src/main/java/com/staffing/framework/web/service/TokenService.java b/staffing-framework/src/main/java/com/staffing/framework/web/service/TokenService.java index a1d724d..247c4f8 100644 --- a/staffing-framework/src/main/java/com/staffing/framework/web/service/TokenService.java +++ b/staffing-framework/src/main/java/com/staffing/framework/web/service/TokenService.java @@ -4,6 +4,8 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; import javax.servlet.http.HttpServletRequest; + +import com.staffing.common.core.domain.entity.SysUser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -23,6 +25,8 @@ import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; +import static com.staffing.common.constant.Constants.DELETED_USER_KEY; + /** * token验证处理 * @@ -72,6 +76,20 @@ public class TokenService String uuid = (String) claims.get(Constants.LOGIN_USER_KEY); String userKey = getTokenKey(uuid); LoginUser user = redisCache.getCacheObject(userKey); + Object cacheMapValue = redisCache.getCacheMapValue(DELETED_USER_KEY, user.getUserId() + ""); + if (cacheMapValue != null){ + return null; + } + + if (user.getUser().getRoleType() != null){ + if (user.getUser().getRoleType() != SysUser.ROLETYPE.MERCHANT && request.getServletPath().indexOf("/merchant/") > -1){ + return null; + } + if (user.getUser().getRoleType() != SysUser.ROLETYPE.EMPLOYEE && request.getServletPath().indexOf("/employee/") > -1){ + return null; + } + } + return user; } catch (Exception e) diff --git a/staffing-system/src/main/java/com/staffing/custom/domain/StTask.java b/staffing-system/src/main/java/com/staffing/custom/domain/StTask.java index 350b389..144287b 100644 --- a/staffing-system/src/main/java/com/staffing/custom/domain/StTask.java +++ b/staffing-system/src/main/java/com/staffing/custom/domain/StTask.java @@ -38,7 +38,7 @@ public class StTask extends BaseEntity /** 用工数量 */ @Excel(name = "用工数量") - private int useNum; + private Integer useNum; /** 二维码 */ @Excel(name = "二维码") @@ -57,20 +57,21 @@ public class StTask extends BaseEntity private Date createTime; @Excel(name = "报名人数") - private int baomingNum; + private Integer baomingNum; @Excel(name = "签到数量") - private int signNum; + private Integer signNum;//已到人数 //组装参数 private List listSign; private StTaskSign selfSign; - private int yfNum; - private int sfNum; - private int dfNum; + private Integer yfNum; + private Integer sfNum; + private Integer dfNum; private String yfPrice; private String sfPrice; private String dfPrice; + private Integer noSignNum;//未到人数 //查询参数 /**0全部 1进行中 2已结束 根据时间查询的参数 */ @@ -83,6 +84,14 @@ public class StTask extends BaseEntity private Collection taskIds; + public Integer getNoSignNum() { + return noSignNum; + } + + public void setNoSignNum(Integer noSignNum) { + this.noSignNum = noSignNum; + } + @Override public Date getCreateTime() { return createTime; @@ -120,49 +129,12 @@ public class StTask extends BaseEntity this.dfPrice = dfPrice; } - public int getYfNum() { - return yfNum; - } - public void setYfNum(int yfNum) { - this.yfNum = yfNum; - } - - public int getSfNum() { - return sfNum; - } - - public void setSfNum(int sfNum) { - this.sfNum = sfNum; - } - - public int getDfNum() { - return dfNum; - } - - public void setDfNum(int dfNum) { - this.dfNum = dfNum; - } public void setListSign(List listSign) { this.listSign = listSign; } - public int getBaomingNum() { - return baomingNum; - } - - public void setBaomingNum(int baomingNum) { - this.baomingNum = baomingNum; - } - - public int getSignNum() { - return signNum; - } - - public void setSignNum(int signNum) { - this.signNum = signNum; - } public void setId(Long id) { @@ -200,16 +172,8 @@ public class StTask extends BaseEntity { return dayPrice; } - public void setUseNum(int useNum) - { - this.useNum = useNum; - } - public int getUseNum() - { - return useNum; - } - public void setCodePic(String codePic) + public void setCodePic(String codePic) { this.codePic = codePic; } @@ -218,15 +182,7 @@ public class StTask extends BaseEntity { return codePic; } - public void setStatus(Integer status) - { - this.status = status; - } - public Integer getStatus() - { - return status; - } @Override public String toString() { @@ -242,6 +198,62 @@ public class StTask extends BaseEntity .toString(); } + public Integer getUseNum() { + return useNum; + } + + public void setUseNum(Integer useNum) { + this.useNum = useNum; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getBaomingNum() { + return baomingNum; + } + + public void setBaomingNum(Integer baomingNum) { + this.baomingNum = baomingNum; + } + + public Integer getSignNum() { + return signNum; + } + + public void setSignNum(Integer signNum) { + this.signNum = signNum; + } + + public Integer getYfNum() { + return yfNum; + } + + public void setYfNum(Integer yfNum) { + this.yfNum = yfNum; + } + + public Integer getSfNum() { + return sfNum; + } + + public void setSfNum(Integer sfNum) { + this.sfNum = sfNum; + } + + public Integer getDfNum() { + return dfNum; + } + + public void setDfNum(Integer dfNum) { + this.dfNum = dfNum; + } + @Override public Date getUpdateTime() { return updateTime; diff --git a/staffing-system/src/main/java/com/staffing/custom/domain/StTaskSign.java b/staffing-system/src/main/java/com/staffing/custom/domain/StTaskSign.java index caba32b..b9e75ed 100644 --- a/staffing-system/src/main/java/com/staffing/custom/domain/StTaskSign.java +++ b/staffing-system/src/main/java/com/staffing/custom/domain/StTaskSign.java @@ -54,7 +54,9 @@ public class StTaskSign extends BaseEntity /** 签到状态 */ @Excel(name = "签到状态") private String statusStr; - + /** + * -1未点 0未到 1已到 + */ private Integer status; @Excel(name = "二次核验备注") diff --git a/staffing-system/src/main/java/com/staffing/custom/mapper/StEmployeeFundRecordMapper.java b/staffing-system/src/main/java/com/staffing/custom/mapper/StEmployeeFundRecordMapper.java index e640b80..098bc2b 100644 --- a/staffing-system/src/main/java/com/staffing/custom/mapper/StEmployeeFundRecordMapper.java +++ b/staffing-system/src/main/java/com/staffing/custom/mapper/StEmployeeFundRecordMapper.java @@ -49,6 +49,8 @@ public interface StEmployeeFundRecordMapper */ public int updateStEmployeeFundRecord(StEmployeeFundRecord stEmployeeFundRecord); public int updateStEmployeeFundRecordByTaskAndUid(StEmployeeFundRecord stEmployeeFundRecord); + public int updateStEmployeeFundRecordByTask(StEmployeeFundRecord stEmployeeFundRecord); + public int updateStEmployeeFundRecordByEmId(StEmployeeFundRecord stEmployeeFundRecord); /** * 删除员工资金流水 @@ -65,4 +67,7 @@ public interface StEmployeeFundRecordMapper * @return 结果 */ public int deleteStEmployeeFundRecordByIds(Long[] ids); + + public int deleteStEmployeeFundRecordByUidAndTaskId(@Param("taskId") Long taskId, @Param("employeeId") Long employeeId); + } diff --git a/staffing-system/src/main/java/com/staffing/custom/mapper/StTaskSignMapper.java b/staffing-system/src/main/java/com/staffing/custom/mapper/StTaskSignMapper.java index a7926b6..9e45d38 100644 --- a/staffing-system/src/main/java/com/staffing/custom/mapper/StTaskSignMapper.java +++ b/staffing-system/src/main/java/com/staffing/custom/mapper/StTaskSignMapper.java @@ -48,6 +48,9 @@ public interface StTaskSignMapper */ public int updateStTaskSign(StTaskSign stTaskSign); + int updateStTaskSignByEmId(StTaskSign stTaskSign); + + int updateStTaskSignByTaskId(StTaskSign stTaskSign); int updateStTaskSignByTaskIdAndEmId(StTaskSign stTaskSign); /** diff --git a/staffing-system/src/main/java/com/staffing/custom/service/IStTaskService.java b/staffing-system/src/main/java/com/staffing/custom/service/IStTaskService.java index cdf0db4..a4aaa79 100644 --- a/staffing-system/src/main/java/com/staffing/custom/service/IStTaskService.java +++ b/staffing-system/src/main/java/com/staffing/custom/service/IStTaskService.java @@ -1,6 +1,8 @@ package com.staffing.custom.service; import java.util.List; + +import com.staffing.custom.domain.StEmployee; import com.staffing.custom.domain.StTask; /** @@ -58,7 +60,7 @@ public interface IStTaskService * @return 结果 */ public int updateStTask(StTask stTask); - + public int updateStTask(StTask stTask, boolean syncRelationsTabel); /** * 批量删除任务 * @@ -74,4 +76,6 @@ public interface IStTaskService * @return 结果 */ public int deleteStTaskById(Long id); + + void updateTaskUserInfo(StEmployee stEmployee); } diff --git a/staffing-system/src/main/java/com/staffing/custom/service/IStTaskSignService.java b/staffing-system/src/main/java/com/staffing/custom/service/IStTaskSignService.java index 1d8968f..5ece2ce 100644 --- a/staffing-system/src/main/java/com/staffing/custom/service/IStTaskSignService.java +++ b/staffing-system/src/main/java/com/staffing/custom/service/IStTaskSignService.java @@ -29,6 +29,8 @@ public interface IStTaskSignService */ public List selectStTaskSignList(StTaskSign stTaskSign); + List selectStTaskSignByTaskIds(Long taskId); + AjaxResult baoming(StTaskSign taskSign); /** * 新增签到 diff --git a/staffing-system/src/main/java/com/staffing/custom/service/impl/StEmployeeServiceImpl.java b/staffing-system/src/main/java/com/staffing/custom/service/impl/StEmployeeServiceImpl.java index ae0010b..5f07af4 100644 --- a/staffing-system/src/main/java/com/staffing/custom/service/impl/StEmployeeServiceImpl.java +++ b/staffing-system/src/main/java/com/staffing/custom/service/impl/StEmployeeServiceImpl.java @@ -1,8 +1,17 @@ package com.staffing.custom.service.impl; import java.util.List; + +import com.staffing.common.core.domain.entity.SysUser; import com.staffing.common.utils.DateUtils; +import com.staffing.common.utils.SecurityUtils; +import com.staffing.custom.domain.StEmployeeFundRecord; +import com.staffing.custom.domain.StTaskSign; +import com.staffing.custom.mapper.StEmployeeFundRecordMapper; +import com.staffing.custom.mapper.StTaskSignMapper; +import com.staffing.custom.service.IStTaskService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.userdetails.User; import org.springframework.stereotype.Service; import com.staffing.custom.mapper.StEmployeeMapper; import com.staffing.custom.domain.StEmployee; @@ -20,6 +29,14 @@ public class StEmployeeServiceImpl implements IStEmployeeService @Autowired private StEmployeeMapper stEmployeeMapper; + @Autowired + private StTaskSignMapper stTaskSignMapper; + + @Autowired + private StEmployeeFundRecordMapper stEmployeeFundRecordMapper; + + @Autowired + private IStTaskService stTaskService; /** * 查询员工 * @@ -69,6 +86,8 @@ public class StEmployeeServiceImpl implements IStEmployeeService @Override public int updateStEmployee(StEmployee stEmployee) { + stTaskService.updateTaskUserInfo(stEmployee); + stEmployee.setUpdateTime(DateUtils.getNowDate()); return stEmployeeMapper.updateStEmployee(stEmployee); } @@ -76,10 +95,14 @@ public class StEmployeeServiceImpl implements IStEmployeeService @Override public int updateStEmployeeOrNull(StEmployee stEmployee) { + stTaskService.updateTaskUserInfo(stEmployee); + stEmployee.setUpdateTime(DateUtils.getNowDate()); - return stEmployeeMapper.updateStEmployeeOrNull(stEmployee); + stEmployeeMapper.updateStEmployeeOrNull(stEmployee); + return 1; } + /** * 批量删除员工 * diff --git a/staffing-system/src/main/java/com/staffing/custom/service/impl/StTaskServiceImpl.java b/staffing-system/src/main/java/com/staffing/custom/service/impl/StTaskServiceImpl.java index bb45cd3..14d56ee 100644 --- a/staffing-system/src/main/java/com/staffing/custom/service/impl/StTaskServiceImpl.java +++ b/staffing-system/src/main/java/com/staffing/custom/service/impl/StTaskServiceImpl.java @@ -11,6 +11,7 @@ import java.util.stream.Collectors; import com.staffing.common.utils.DateUtils; import com.staffing.common.utils.MinioUtil; import com.staffing.common.utils.QRCodeGenerator; +import com.staffing.custom.domain.StEmployee; import com.staffing.custom.domain.StEmployeeFundRecord; import com.staffing.custom.domain.StTaskSign; import com.staffing.custom.mapper.StEmployeeFundRecordMapper; @@ -93,9 +94,12 @@ public class StTaskServiceImpl implements IStTaskService stTask.setListSign(stTaskSigns); int signNum = 0; + int noSignNum = 0; for (StTaskSign stTaskSign1 : stTaskSigns) { if (stTaskSign1.getStatus() == 1){ signNum ++; + }else if (stTaskSign1.getStatus() == 0){ + noSignNum++; } stTaskSign1.setTaskName(stTask.getTaskName()); stTaskSign1.setDayPrice(stTask.getDayPrice()); @@ -103,6 +107,7 @@ public class StTaskServiceImpl implements IStTaskService stTaskSign1.setStEmployeeFundRecord(fundMap.get(stTaskSign1.getEmployeeId())); } stTask.setSignNum(signNum); + stTask.setNoSignNum(noSignNum); stTask.setBaomingNum(stTask.getListSign().size()); return stTask; @@ -172,6 +177,7 @@ public class StTaskServiceImpl implements IStTaskService continue; } int signNum = 0; + int noSignNum = 0; int yfNum = 0;//应发 int sfNum = 0;//实发 int dfNum = 0;//待发 @@ -181,21 +187,26 @@ public class StTaskServiceImpl implements IStTaskService for (StTaskSign stTaskSign : task.getListSign()) { - if (employeeFundRecordMap != null){ - StEmployeeFundRecord fundRecord = employeeFundRecordMap.get(stTaskSign.getEmployeeId()); - if (fundRecord != null){ - stTaskSign.setStEmployeeFundRecord(fundRecord); - if (fundRecord.getPayStatus() == 1){ - sfNum++; - sfPrice = sfPrice.add(new BigDecimal(fundRecord.getRealPrice())); - } - yfPrice = yfPrice.add(new BigDecimal(fundRecord.getRealPrice())); - } - } + + if (stTaskSign.getStatus() == 0){ + noSignNum++; + } if (stTaskSign.getStatus() == 1){ signNum ++; yfNum++; + + if (employeeFundRecordMap != null){ + StEmployeeFundRecord fundRecord = employeeFundRecordMap.get(stTaskSign.getEmployeeId()); + if (fundRecord != null){ + stTaskSign.setStEmployeeFundRecord(fundRecord); + if (fundRecord.getPayStatus() == 1){ + sfNum++; + sfPrice = sfPrice.add(new BigDecimal(fundRecord.getRealPrice())); + } + yfPrice = yfPrice.add(new BigDecimal(fundRecord.getRealPrice())); + } + } } stTaskSign.setTaskName(task.getTaskName()); @@ -216,6 +227,7 @@ public class StTaskServiceImpl implements IStTaskService task.setSfPrice(sfPrice.toString()); task.setDfPrice(dfPrice.toString()); task.setSignNum(signNum); + task.setNoSignNum(noSignNum); task.setBaomingNum(task.getListSign().size()); } @@ -262,7 +274,7 @@ public class StTaskServiceImpl implements IStTaskService List listSign = stTask.getListSign(); for (StTaskSign stTaskSign : listSign) { stTaskSign.setTaskId(stTask.getId()); - stTaskSign.setStatus(0); + stTaskSign.setStatus(-1); stTaskSign.setDayPrice(stTask.getDayPrice()); stTaskSign.setTaskName(stTask.getTaskName()); stTaskSignMapper.insertStTaskSign(stTaskSign); @@ -270,6 +282,10 @@ public class StTaskServiceImpl implements IStTaskService return i; } + @Override + public int updateStTask(StTask stTask){ + return updateStTask(stTask, true); + } /** * 修改任务 * @@ -277,12 +293,30 @@ public class StTaskServiceImpl implements IStTaskService * @return 结果 */ @Override - public int updateStTask(StTask stTask) + public int updateStTask(StTask stTask, boolean syncRelationsTabel) { RLock lock = redissonClient.getLock(stTask.getId() + ""); try { lock.lock(); + if (syncRelationsTabel){ + //签到表 + StTaskSign stTaskSignUpdate = new StTaskSign(); + stTaskSignUpdate.setTaskName(stTask.getTaskName()); + stTaskSignUpdate.setDayPrice(stTask.getDayPrice()); + stTaskSignUpdate.setTaskId(stTask.getId()); + stTaskSignMapper.updateStTaskSignByTaskId(stTaskSignUpdate); + + //流水表 + StEmployeeFundRecord stEmployeeFundRecord = new StEmployeeFundRecord(); + stEmployeeFundRecord.setTaskName(stTask.getTaskName()); + stEmployeeFundRecord.setDayPrice(stTask.getDayPrice()); + stEmployeeFundRecord.setTaskId(stTask.getId()); + stEmployeeFundRecord.setRealPrice(stTask.getDayPrice()); + stEmployeeFundRecord.setTaskDate(stTask.getTaskDate()); + stEmployeeFundRecordMapper.updateStEmployeeFundRecordByTask(stEmployeeFundRecord); + } + stTask.setUpdateTime(DateUtils.getNowDate()); StTaskSign param = new StTaskSign(); @@ -296,12 +330,11 @@ public class StTaskServiceImpl implements IStTaskService List listSign = stTask.getListSign(); if (listSign != null) { for (StTaskSign stTaskSign : listSign) { - stTaskSign.setTaskId(stTask.getId()); - stTaskSign.setStatus(0); - stTaskSign.setDayPrice(stTask.getDayPrice()); - stTaskSign.setTaskName(stTask.getTaskName()); - if (!stTaskSignMap.containsKey(stTaskSign.getEmployeeId())) { + stTaskSign.setTaskId(stTask.getId()); + stTaskSign.setStatus(-1); + stTaskSign.setDayPrice(stTask.getDayPrice()); + stTaskSign.setTaskName(stTask.getTaskName()); stTaskSignMapper.insertStTaskSign(stTaskSign); } stTaskSignMap.remove(stTaskSign.getEmployeeId()); @@ -323,7 +356,7 @@ public class StTaskServiceImpl implements IStTaskService } public int generatePrCode(StTask stTask){ - String url = "http://yg.pusonggroup.com:81/index.html?id=" + stTask.getId(); + String url = "http://www.tulkj.cn:81/index.html?id=" + stTask.getId(); InputStream inputStream = QRCodeGenerator.generateQRCodeImage(url, 500, 500); String fileName = System.currentTimeMillis() + stTask.getId() + ".png"; try { @@ -361,4 +394,21 @@ public class StTaskServiceImpl implements IStTaskService { return stTaskMapper.deleteStTaskById(id); } + + + public void updateTaskUserInfo(StEmployee stEmployee) { + //将相关报名信息修改 + StTaskSign stTaskSign = new StTaskSign(); + stTaskSign.setEmployeeId(stEmployee.getId()); + stTaskSign.setEmployeeName(stEmployee.getRealName()); + stTaskSign.setIdCard(stEmployee.getIdCard()); + stTaskSignMapper.updateStTaskSignByEmId(stTaskSign); + + + StEmployeeFundRecord stEmployeeFundRecord = new StEmployeeFundRecord(); + stEmployeeFundRecord.setEmployeeId(stEmployee.getId()); + stEmployeeFundRecord.setEmployeeName(stEmployee.getRealName()); + stEmployeeFundRecord.setIdCard(stEmployee.getIdCard()); + stEmployeeFundRecordMapper.updateStEmployeeFundRecordByEmId(stEmployeeFundRecord); + } } diff --git a/staffing-system/src/main/java/com/staffing/custom/service/impl/StTaskSignServiceImpl.java b/staffing-system/src/main/java/com/staffing/custom/service/impl/StTaskSignServiceImpl.java index 1f1ffe8..b398ab7 100644 --- a/staffing-system/src/main/java/com/staffing/custom/service/impl/StTaskSignServiceImpl.java +++ b/staffing-system/src/main/java/com/staffing/custom/service/impl/StTaskSignServiceImpl.java @@ -1,5 +1,6 @@ package com.staffing.custom.service.impl; +import java.util.Arrays; import java.util.Date; import java.util.List; @@ -65,12 +66,19 @@ public class StTaskSignServiceImpl implements IStTaskSignService return stTaskSignMapper.selectStTaskSignList(stTaskSign); } + @Override + public List selectStTaskSignByTaskIds(Long taskId) + { + return stTaskSignMapper.selectStTaskSignByTaskIds(Arrays.asList(taskId)); + } + @Override public AjaxResult baoming(StTaskSign taskSign) { RLock lock = redissonClient.getLock(taskSign.getTaskId() + ""); try{ lock.lock(); + SysUser user = SecurityUtils.getLoginUser().getUser(); long userId = user.getUserId(); taskSign.setEmployeeId(userId); @@ -86,8 +94,8 @@ public class StTaskSignServiceImpl implements IStTaskSignService } taskSign.setDayPrice(stTask.getDayPrice()); taskSign.setEmployeeName(taskSign.getEmployeeName()); - taskSign.setStatus(0); - return AjaxResult.success(); + taskSign.setStatus(-1);//未点名 + return AjaxResult.success(insertStTaskSign(taskSign)); }finally { // 锁被持有 if (lock != null && lock.isLocked()) { @@ -136,31 +144,42 @@ public class StTaskSignServiceImpl implements IStTaskSignService updateStTaskSign.setSignTime(new Date()); return insertStTaskSign(updateStTaskSign); } - if (stTaskSign.getSignTime() == null && stTaskSign.getStatus() == 0 && updateStTaskSign.getStatus() == 1){ + if (stTaskSign.getSignTime() == null && (stTaskSign.getStatus() == 0 || stTaskSign.getStatus() == -1) && updateStTaskSign.getStatus() == 1){ updateStTaskSign.setSignTime(new Date()); } - StEmployeeFundRecord fundRecords = stEmployeeFundRecordMapper.selectStEmployeeFundRecordByUidAndTaskId(stTaskSign.getTaskId(), stTaskSign.getEmployeeId()); - if (fundRecords == null){ - StTask stTask = stTaskService.selectStTaskById(stTaskSign.getTaskId()); - StEmployeeFundRecord stEmployeeFundRecord = new StEmployeeFundRecord(); - stEmployeeFundRecord.setTaskId(stTaskSign.getTaskId()); - stEmployeeFundRecord.setTaskName(stTask.getTaskName()); - stEmployeeFundRecord.setTaskDate(stTask.getTaskDate()); - stEmployeeFundRecord.setEmployeeId(stTaskSign.getEmployeeId()); - stEmployeeFundRecord.setEmployeeName(stTaskSign.getEmployeeName()); - stEmployeeFundRecord.setPhone(stTaskSign.getPhone()); - stEmployeeFundRecord.setIdCard(stTaskSign.getIdCard()); - stEmployeeFundRecord.setDayPrice(stTaskSign.getDayPrice()); + if (updateStTaskSign.getStatus() == 0){ + updateStTaskSign.setSignTime(null); + } + if (stTaskSign == null || updateStTaskSign.getStatus() != stTaskSign.getStatus()){ + if (updateStTaskSign.getStatus() == 1){ + StEmployeeFundRecord fundRecords = stEmployeeFundRecordMapper.selectStEmployeeFundRecordByUidAndTaskId(stTaskSign.getTaskId(), stTaskSign.getEmployeeId()); + if (fundRecords == null){ + StTask stTask = stTaskService.selectStTaskById(stTaskSign.getTaskId()); + StEmployeeFundRecord stEmployeeFundRecord = new StEmployeeFundRecord(); + stEmployeeFundRecord.setTaskId(stTaskSign.getTaskId()); + stEmployeeFundRecord.setTaskName(stTask.getTaskName()); + stEmployeeFundRecord.setTaskDate(stTask.getTaskDate()); + stEmployeeFundRecord.setEmployeeId(stTaskSign.getEmployeeId()); + stEmployeeFundRecord.setEmployeeName(stTaskSign.getEmployeeName()); + stEmployeeFundRecord.setPhone(stTaskSign.getPhone()); + stEmployeeFundRecord.setIdCard(stTaskSign.getIdCard()); + stEmployeeFundRecord.setDayPrice(stTaskSign.getDayPrice()); // stEmployeeFundRecord.setShouldPrice(stTask.getDayPrice()); - stEmployeeFundRecord.setRealPrice(stTask.getDayPrice());//默认实发为日结 + stEmployeeFundRecord.setRealPrice(stTask.getDayPrice());//默认实发为日结 // stEmployeeFundRecord.setPayWay(0l); // stEmployeeFundRecord.setPayAccount(0l); // stEmployeeFundRecord.setPayTime(); - stEmployeeFundRecord.setPayStatus(0l); - stEmployeeFundRecord.setUpdateTime(new Date()); - stEmployeeFundRecord.setTransferNo(OrderUtils.genOrderId("D")); - employeeFundRecordService.insertStEmployeeFundRecord(stEmployeeFundRecord); + stEmployeeFundRecord.setPayStatus(0l); + stEmployeeFundRecord.setUpdateTime(new Date()); + stEmployeeFundRecord.setTransferNo(OrderUtils.genOrderId("D")); + employeeFundRecordService.insertStEmployeeFundRecord(stEmployeeFundRecord); + } + }else{ + stEmployeeFundRecordMapper.deleteStEmployeeFundRecordByUidAndTaskId(stTaskSign.getTaskId(), stTaskSign.getEmployeeId()); + } + } + return updateStTaskSignByTaskIdAndEmId(updateStTaskSign); } diff --git a/staffing-system/src/main/resources/mapper/custom/StEmployeeFundRecordMapper.xml b/staffing-system/src/main/resources/mapper/custom/StEmployeeFundRecordMapper.xml index ed9965c..71f18dd 100644 --- a/staffing-system/src/main/resources/mapper/custom/StEmployeeFundRecordMapper.xml +++ b/staffing-system/src/main/resources/mapper/custom/StEmployeeFundRecordMapper.xml @@ -136,7 +136,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + update st_employee_fund_record + + task_id = #{taskId}, + task_name = #{taskName}, + task_date = #{taskDate}, + employee_id = #{employeeId}, + employee_name = #{employeeName}, + phone = #{phone}, + id_card = #{idCard}, + day_price = #{dayPrice}, + should_price = #{shouldPrice}, + real_price = #{realPrice}, + pay_way = #{payWay}, + pay_account = #{payAccount}, + pay_time = #{payTime}, + update_time = #{updateTime}, + pay_status = #{payStatus}, + transfer_no = #{transferNo}, + + where employee_id = #{employeeId} + update st_employee_fund_record @@ -160,6 +181,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where task_id = #{taskId} and employee_id = #{employeeId} + + update st_employee_fund_record + + task_id = #{taskId}, + task_name = #{taskName}, + task_date = #{taskDate}, + employee_id = #{employeeId}, + employee_name = #{employeeName}, + phone = #{phone}, + id_card = #{idCard}, + day_price = #{dayPrice}, + should_price = #{shouldPrice}, + real_price = #{realPrice}, + pay_way = #{payWay}, + pay_account = #{payAccount}, + pay_time = #{payTime}, + update_time = #{updateTime}, + pay_status = #{payStatus}, + transfer_no = #{transferNo}, + + where task_id = #{taskId} + delete from st_employee_fund_record where id = #{id} @@ -170,4 +213,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + delete from st_employee_fund_record + where task_id = #{taskId} + and employee_id = #{employeeId} + + \ No newline at end of file diff --git a/staffing-system/src/main/resources/mapper/custom/StTaskMapper.xml b/staffing-system/src/main/resources/mapper/custom/StTaskMapper.xml index 254d082..2f15408 100644 --- a/staffing-system/src/main/resources/mapper/custom/StTaskMapper.xml +++ b/staffing-system/src/main/resources/mapper/custom/StTaskMapper.xml @@ -23,7 +23,7 @@ diff --git a/staffing-system/src/main/resources/mapper/custom/StTaskSignMapper.xml b/staffing-system/src/main/resources/mapper/custom/StTaskSignMapper.xml index 4e37f5c..917050f 100644 --- a/staffing-system/src/main/resources/mapper/custom/StTaskSignMapper.xml +++ b/staffing-system/src/main/resources/mapper/custom/StTaskSignMapper.xml @@ -99,8 +99,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + update st_task_sign + + task_id = #{taskId}, + task_name = #{taskName}, + day_price = #{dayPrice}, + sign_time = #{signTime}, + employee_id = #{employeeId}, + employee_name = #{employeeName}, + phone = #{phone}, + id_card = #{idCard}, + status = #{status}, + remark = #{remark}, + + where employee_id = #{employeeId} + + + update st_task_sign + + task_name = #{taskName}, + day_price = #{dayPrice}, + sign_time = #{signTime}, + employee_name = #{employeeName}, + phone = #{phone}, + id_card = #{idCard}, + status = #{status}, + remark = #{remark}, + + where task_id = #{taskId} and employee_id = #{employeeId} + + + update st_task_sign task_name = #{taskName}, @@ -112,9 +144,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" status = #{status}, remark = #{remark}, - where task_id = #{taskId} and employee_id = #{employeeId} + where task_id = #{taskId} - delete from st_task_sign where id = #{id} diff --git a/staffing-ui/.env.production b/staffing-ui/.env.production index d10a41d..a89b861 100644 --- a/staffing-ui/.env.production +++ b/staffing-ui/.env.production @@ -6,3 +6,6 @@ ENV = 'production' # 管理系统/生产环境 VUE_APP_BASE_API = '/prod-api' + +port = 8089 +npm_config_port = 8089 diff --git a/staffing-ui/package.json b/staffing-ui/package.json index 9ea4885..4ff659f 100644 --- a/staffing-ui/package.json +++ b/staffing-ui/package.json @@ -72,6 +72,7 @@ "connect": "3.6.6", "eslint": "7.15.0", "eslint-plugin-vue": "7.2.0", + "html-webpack-plugin": "^4.5.2", "lint-staged": "10.5.3", "runjs": "4.4.2", "sass": "1.32.13", diff --git a/staffing-ui/public/favicon.ico b/staffing-ui/public/favicon.ico index e263760..19a50c2 100644 Binary files a/staffing-ui/public/favicon.ico and b/staffing-ui/public/favicon.ico differ diff --git a/staffing-ui/src/api/task/task.js b/staffing-ui/src/api/task/task.js index dc71795..25989a9 100644 --- a/staffing-ui/src/api/task/task.js +++ b/staffing-ui/src/api/task/task.js @@ -34,6 +34,15 @@ export function updateTask(data) { data: data }) } +// 修改任务 +export function shangjia(data) { + return request({ + url: '/task/task/shangjia', + method: 'put', + data: data + }) +} + // 删除任务 export function delTask(id) { @@ -42,3 +51,9 @@ export function delTask(id) { method: 'delete' }) } +export function getListSign(id) { + return request({ + url: '/taskSign/sign/selectStTaskSignByTaskIds?taskId=' + id, + method: 'get' + }) +} diff --git a/staffing-ui/src/assets/images/login-background.jpg b/staffing-ui/src/assets/images/login-background.jpg deleted file mode 100644 index 8a89eb8..0000000 Binary files a/staffing-ui/src/assets/images/login-background.jpg and /dev/null differ diff --git a/staffing-ui/src/assets/images/pay.png b/staffing-ui/src/assets/images/pay.png deleted file mode 100644 index bb8b967..0000000 Binary files a/staffing-ui/src/assets/images/pay.png and /dev/null differ diff --git a/staffing-ui/src/assets/images/profile.jpg b/staffing-ui/src/assets/images/profile.jpg deleted file mode 100644 index b3a940b..0000000 Binary files a/staffing-ui/src/assets/images/profile.jpg and /dev/null differ diff --git a/staffing-ui/src/assets/logo/logo.png b/staffing-ui/src/assets/logo/logo.png index e263760..fa1f75a 100644 Binary files a/staffing-ui/src/assets/logo/logo.png and b/staffing-ui/src/assets/logo/logo.png differ diff --git a/staffing-ui/src/store/modules/user.js b/staffing-ui/src/store/modules/user.js index cdbab1e..76b6c09 100644 --- a/staffing-ui/src/store/modules/user.js +++ b/staffing-ui/src/store/modules/user.js @@ -55,7 +55,7 @@ const user = { return new Promise((resolve, reject) => { getInfo().then(res => { const user = res.user - const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; + const avatar = process.env.VUE_APP_BASE_API + user.avatar; if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 commit('SET_ROLES', res.roles) commit('SET_PERMISSIONS', res.permissions) diff --git a/staffing-ui/src/views/employee/employee/index.vue b/staffing-ui/src/views/employee/employee/index.vue index 1d3512e..a26d780 100644 --- a/staffing-ui/src/views/employee/employee/index.vue +++ b/staffing-ui/src/views/employee/employee/index.vue @@ -90,6 +90,11 @@ + + + @@ -114,11 +119,7 @@ - - - + + + + + @@ -401,7 +407,7 @@ background-color: #ffffff; border: 2px solid #000000; border-radius: 5px; - /*width: 75%;*/ + width: 75%; height: 65%; position: absolute; top: 50%; @@ -449,12 +455,12 @@