FengChaoYu 3 ماه پیش
والد
کامیت
cfb9820215

+ 40 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/worker/WorkerElecConfirmVO.java

@@ -0,0 +1,40 @@
+package com.gree.mall.manager.bean.worker;
+
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.enums.WorkerElecSingConfirmEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel
+@ZfireField(tbName = "a")
+public class WorkerElecConfirmVO {
+
+    @ApiModelProperty(value = "所属公司")
+    private String belongCompany;
+
+    @ApiModelProperty(value = "所属公司编号")
+    private String belongCompanyCode;
+
+    @ApiModelProperty(value = "师傅名称")
+    private String nickName;
+
+    @ApiModelProperty(value = "师傅联系电话")
+    private String mobile;
+
+    @ApiModelProperty(value = "师傅身份证名称")
+    private String idCard;
+
+    @ApiModelProperty(value = "状态")
+    private WorkerElecSingConfirmEnum status;
+
+    @ApiModelProperty(value = "签署时间")
+    private Date createTime;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "地址")
+    private String url;
+}

+ 4 - 0
mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/CommonMapper.java

@@ -31,6 +31,7 @@ import com.gree.mall.manager.bean.settle.SettleExpenseVO;
 import com.gree.mall.manager.bean.settle.SettleMonthWagesVO;
 import com.gree.mall.manager.bean.settle.SettleMonthWagesWorkerVO;
 import com.gree.mall.manager.bean.settle.repair.*;
+import com.gree.mall.manager.bean.worker.WorkerElecConfirmVO;
 import com.gree.mall.manager.bean.worker.WorkerTeamVO;
 import com.gree.mall.manager.bean.workorder.*;
 import com.gree.mall.manager.enums.UserTypeEnum;
@@ -749,4 +750,7 @@ public interface CommonMapper {
 
     @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
     Integer workerManagerCheckCount(@Param("ex")WorkerParamBean zfireParamBean);
+
+    IPage<WorkerElecConfirmVO> workerSignConfirmPage(Page page,
+                                                     @Param("ex") ZfireParamBean zfireParamBean);
 }

+ 58 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/worker/WorkerElecConfirmController.java

@@ -0,0 +1,58 @@
+package com.gree.mall.manager.controller.worker;
+
+import cn.hutool.core.lang.TypeReference;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.gree.mall.manager.annotation.ZfireList;
+import com.gree.mall.manager.bean.worker.WorkerElecConfirmVO;
+import com.gree.mall.manager.exception.RemoteServiceException;
+import com.gree.mall.manager.helper.ResponseHelper;
+import com.gree.mall.manager.logic.worker.WorkerElecConfirmLogic;
+import com.gree.mall.manager.zfire.bean.ZfireParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Slf4j
+@RestController
+@Api(value = "师傅电子确认书", tags = {"师傅电子确认书"})
+@RequestMapping(value = "/worker/elec/confirm", produces = "application/json; charset=utf-8")
+public class WorkerElecConfirmController {
+
+    @Resource
+    WorkerElecConfirmLogic workerElecConfirmLogic;
+
+    @ZfireList
+    @PostMapping("/list")
+    @ApiOperation(value = "列表")
+    public ResponseHelper<IPage<WorkerElecConfirmVO>> list(@RequestBody ZfireParamBean zfireParamBean) {
+        IPage<WorkerElecConfirmVO> list = workerElecConfirmLogic.list(zfireParamBean);
+        return ResponseHelper.success(list, new TypeReference<WorkerElecConfirmVO>() {
+        });
+    }
+
+    @PostMapping("/list/export")
+    @ApiOperation(value = "导出")
+    public void listExport(@RequestBody ZfireParamBean zfireParamBean, HttpServletRequest request, HttpServletResponse response) throws Exception {
+        //2.查询要导出的内容
+        IPage<WorkerElecConfirmVO> list = workerElecConfirmLogic.list(zfireParamBean);
+        //3.导出
+        FieldUtils.exportData(list.getRecords(), zfireParamBean.getExportFields(), request, response);
+    }
+
+    @PostMapping("/detail")
+    @ApiOperation("详情")
+    public ResponseHelper<WorkerElecConfirmVO> detail(
+            @ApiParam(value = "师傅编号", required = true) @RequestParam String workerNumber,
+            @ApiParam(value = "公司编号", required = true) @RequestParam String belongCompanyCode
+    ) throws RemoteServiceException {
+        WorkerElecConfirmVO detail = workerElecConfirmLogic.detail(workerNumber, belongCompanyCode);
+        return ResponseHelper.success(detail);
+    }
+}

+ 22 - 0
mall-server-api/src/main/java/com/gree/mall/manager/enums/WorkerElecSingConfirmEnum.java

@@ -0,0 +1,22 @@
+package com.gree.mall.manager.enums;
+
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.gree.mall.manager.enums.base.BaseEnum;
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+public enum WorkerElecSingConfirmEnum implements BaseEnum {
+    YES("YES","已签置"),
+    NO("NO","未签置");
+
+    @EnumValue
+    @JsonValue
+    private final String key;
+    private final String remark;
+
+}

+ 81 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/worker/WorkerElecConfirmLogic.java

@@ -0,0 +1,81 @@
+package com.gree.mall.manager.logic.worker;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gree.mall.manager.bean.admin.AdminUserCom;
+import com.gree.mall.manager.bean.worker.WorkerElecConfirmVO;
+import com.gree.mall.manager.commonmapper.CommonMapper;
+import com.gree.mall.manager.enums.WorkerElecSingConfirmEnum;
+import com.gree.mall.manager.logic.common.CommonLogic;
+import com.gree.mall.manager.plus.entity.SysDictCompany;
+import com.gree.mall.manager.plus.entity.User;
+import com.gree.mall.manager.plus.entity.WorkerSignConfirm;
+import com.gree.mall.manager.plus.service.SysDictCompanyService;
+import com.gree.mall.manager.plus.service.UserService;
+import com.gree.mall.manager.plus.service.WorkerSignConfirmService;
+import com.gree.mall.manager.zfire.bean.ZfireParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.Objects;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class WorkerElecConfirmLogic {
+
+    private final CommonLogic commonLogic;
+    private final CommonMapper commonMapper;
+    private final WorkerSignConfirmService workerSignConfirmService;
+    private final UserService userService;
+    private final SysDictCompanyService sysDictCompanyService;
+
+    public IPage<WorkerElecConfirmVO> list(ZfireParamBean zfireParamBean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+//        String status = null;
+//        if (CollectionUtil.isNotEmpty(zfireParamBean.getParams())) {
+//            List<QueryParamBean> newParam = new ArrayList<>();
+//            for (QueryParamBean param : zfireParamBean.getParams()) {
+//                if (!param.getParam().equals("a.status")) {
+//                    newParam.add(param);
+//                }
+//                status = param.getValue().toString();
+//            }
+//        }
+        FieldUtils.materialParam(zfireParamBean, WorkerElecConfirmVO.class, adminUser);
+
+        return commonMapper.workerSignConfirmPage(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()), zfireParamBean);
+
+    }
+
+    public WorkerElecConfirmVO detail(String workerNumber, String belongCompanyCode) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        WorkerElecConfirmVO vo = new WorkerElecConfirmVO();
+        final SysDictCompany company = sysDictCompanyService.lambdaQuery()
+                .eq(SysDictCompany::getCompanyWechatId, adminUser.getAdminCompanyWechat().getCompanyWechatId())
+                .eq(SysDictCompany::getDictType, "BELONG_COMPANY")
+                .eq(SysDictCompany::getDictCode, belongCompanyCode)
+                .one();
+        final User user = userService.lambdaQuery()
+                .eq(User::getCompanyWechatId, adminUser.getAdminCompanyWechat().getCompanyWechatId())
+                .eq(User::getWorkerNumber, workerNumber)
+                .one();
+        vo.setBelongCompany(company.getDictValue());
+        vo.setBelongCompanyCode(belongCompanyCode);
+        vo.setNickName(user.getNickName());
+        vo.setMobile(user.getMobile());
+        vo.setIdCard(user.getIdCard());
+
+        final WorkerSignConfirm confirm = workerSignConfirmService.lambdaQuery()
+                .eq(WorkerSignConfirm::getCompanyWechatId, adminUser.getAdminCompanyWechat().getCompanyWechatId())
+                .eq(WorkerSignConfirm::getWorkerNumber, workerNumber)
+                .eq(WorkerSignConfirm::getBelongCompanyCode, belongCompanyCode)
+                .one();
+        vo.setStatus(Objects.isNull(confirm) ? WorkerElecSingConfirmEnum.NO : WorkerElecSingConfirmEnum.YES);
+        vo.setCreateTime(Objects.isNull(confirm) ? null : confirm.getCreateTime());
+        vo.setUrl(Objects.isNull(confirm) ? null : confirm.getUrl());
+        return vo;
+    }
+}

+ 34 - 0
mall-server-api/src/main/resources/mapper/CommonMapper.xml

@@ -1650,5 +1650,39 @@
 
     </select>
 
+    <select id="workerSignConfirmPage" resultType="com.gree.mall.manager.bean.worker.WorkerElecConfirmVO">
+        SELECT
+        ${ex.selected}
+        FROM
+            (
+                SELECT
+                    a.user_id,
+                    b.belong_company_code,
+                    b.belong_company,
+                    c.nick_name,
+                    c.mobile,
+                    c.id_card,
+                    d.url,
+                    d.create_time,
+                    IF(IFNULL(d.create_time, 1)=1, 'NO', 'YES') AS status
+                    FROM
+                    websit_user a
+                    LEFT JOIN admin_websit b ON a.websit_id = b.websit_id
+                    LEFT JOIN `user` c ON a.user_id = c.user_id
+                    LEFT JOIN worker_sign_confirm d ON b.belong_company_code = d.belong_company_code AND a.worker_number = d.worker_number
+                    WHERE
+                    a.examine_status IN ('OK', 'EXPIRED')
+                    AND b.attr = 'SELF'
+                    GROUP BY
+                    b.belong_company_code,
+                    a.worker_number
+            ) a
+        ${ex.query}
+        <if test="ex.orderBy == null or ex.orderBy ==''">
+            ORDER BY a.create_time DESC
+        </if>
+        ${ex.orderBy}
+    </select>
+
 
 </mapper>