瀏覽代碼

Merge remote-tracking branch 'origin/develop' into develop

‘linchangsheng’ 6 月之前
父節點
當前提交
43d29ca7af

+ 4 - 4
mall-server-api/src/main/java/com/gree/mall/manager/bean/contract/SettleRelaConfigVO.java

@@ -19,18 +19,18 @@ public class SettleRelaConfigVO {
     private String belongCompanyCode;
 
     @ZfireField(tbName = "b", colName = "name", ignoreSelect = true)
-    @ApiModelProperty(value = "级网点名称")
+    @ApiModelProperty(value = "级网点名称")
     private String parentName;
 
-    @ApiModelProperty(value = "级网点编号")
+    @ApiModelProperty(value = "级网点编号")
     private String websitId;
 
     @ZfireField(tbName = "d", colName = "name", ignoreSelect = true)
-    @ApiModelProperty(value = "级网点名称")
+    @ApiModelProperty(value = "级网点名称")
     private String subName;
 
     @ZfireField(tbName = "c")
-    @ApiModelProperty(value = "级网点编号")
+    @ApiModelProperty(value = "级网点编号")
     private String subWebsitId;
 
     @ApiModelProperty(value = "创建人")

+ 4 - 4
mall-server-api/src/main/java/com/gree/mall/manager/bean/contract/WebsitContractSignVO.java

@@ -31,16 +31,16 @@ public class WebsitContractSignVO {
     @ApiModelProperty(value = "所属公司编号")
     private String belongCompanyCode;
 
-    @ApiModelProperty(value = "网点编号")
+    @ApiModelProperty(value = "二级网点编号")
     private String websitId;
 
-    @ApiModelProperty(value = "网点名称")
+    @ApiModelProperty(value = "二级网点名称")
     private String websitName;
 
-    @ApiModelProperty(value = "级网点名称")
+    @ApiModelProperty(value = "级网点名称")
     private String parentName;
 
-    @ApiModelProperty(value = "级网点编号")
+    @ApiModelProperty(value = "级网点编号")
     private String parentId;
 
     @ApiModelProperty(value = "合同名称")

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

@@ -0,0 +1,69 @@
+package com.gree.mall.manager.bean.worker;
+
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.enums.material.StateEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel
+@ZfireField(tbName = "a")
+public class WorkerTeamVO {
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "id")
+    private String id;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "商户id")
+    private String companyWechatId;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "商户名称")
+    private String companyWechatName;
+
+    @ZfireField(tbName = "b")
+    @ApiModelProperty(value = "所属公司")
+    private String belongCompany;
+
+    @ZfireField(tbName = "b")
+    @ApiModelProperty(value = "所属公司编号")
+    private String belongCompanyCode;
+
+    @ApiModelProperty(value = "网点编号")
+    private String websitId;
+
+    @ZfireField(tbName = "b")
+    @ApiModelProperty(value = "网点名称")
+    private String name;
+
+    @ApiModelProperty(value = "大工师傅名称")
+    private String masterWorkerName;
+
+    @ApiModelProperty(value = "大工师傅编号")
+    private String masterWorkerId;
+
+    @ApiModelProperty(value = "小工师傅名称")
+    private String assistantWorkerName;
+
+    @ApiModelProperty(value = "小工师傅编号")
+    private String assistantWorkerId;
+
+    @ApiModelProperty(value = "状态")
+    private StateEnum status;
+
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+}

+ 3 - 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.WorkerTeamVO;
 import com.gree.mall.manager.bean.workorder.*;
 import com.gree.mall.manager.enums.UserTypeEnum;
 import com.gree.mall.manager.plus.entity.ComList;
@@ -729,4 +730,6 @@ public interface CommonMapper {
                                        @Param("onDate") Date onDate);
 
     List<String> selectMainContractIdByValidDate(@Param("companyId") String companyWechatId, @Param("onDate") Date validDate);
+
+    IPage<WorkerTeamVO> workerTeamPage(Page page, @Param("ex") ZfireParamBean zfireParamBean);
 }

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

@@ -0,0 +1,67 @@
+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.admin.AdminWebsitNewBean;
+import com.gree.mall.manager.bean.worker.WorkerTeamVO;
+import com.gree.mall.manager.exception.RemoteServiceException;
+import com.gree.mall.manager.helper.ResponseHelper;
+import com.gree.mall.manager.logic.worker.WorkerTeamLogic;
+import com.gree.mall.manager.plus.entity.WorkerTeam;
+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 lombok.extern.slf4j.Slf4j;
+import me.chanjar.weixin.common.error.WxErrorException;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Slf4j
+@RestController
+@Api(value = "师傅组别", tags = {"师傅组别"})
+@RequestMapping(value = "/worker/team", produces = "application/json; charset=utf-8")
+public class WorkerTeamController {
+
+    @Resource
+    WorkerTeamLogic workerTeamLogic;
+
+    @ZfireList
+    @PostMapping("/list")
+    @ApiOperation(value = "列表")
+    public ResponseHelper<IPage<WorkerTeamVO>> list(@RequestBody ZfireParamBean zfireParamBean) {
+        IPage<WorkerTeamVO> list = workerTeamLogic.list(zfireParamBean);
+        return ResponseHelper.success(list, new TypeReference<WorkerTeamVO>() {
+        });
+    }
+
+    @PostMapping("/list/export")
+    @ApiOperation(value = "导出")
+    public void listExport(@RequestBody ZfireParamBean zfireParamBean, HttpServletRequest request, HttpServletResponse response) throws Exception {
+        //2.查询要导出的内容
+        IPage<WorkerTeamVO> list = workerTeamLogic.list(zfireParamBean);
+        //3.导出
+        FieldUtils.exportData(list.getRecords(), zfireParamBean.getExportFields(), request, response);
+    }
+
+    @PostMapping("/add")
+    @ApiOperation("新增")
+    public ResponseHelper add(@RequestBody WorkerTeam workerTeam) throws RemoteServiceException, WxErrorException {
+        workerTeamLogic.add(workerTeam);
+        return ResponseHelper.success();
+    }
+
+    @PostMapping("/update")
+    @ApiOperation("修改")
+    public ResponseHelper update(@RequestBody WorkerTeam workerTeam) throws RemoteServiceException, WxErrorException {
+        workerTeamLogic.update(workerTeam);
+        return ResponseHelper.success();
+    }
+}

+ 15 - 2
mall-server-api/src/main/java/com/gree/mall/manager/logic/admin/AdminWebsitLogic.java

@@ -272,10 +272,10 @@ public class AdminWebsitLogic {
         AdminUserAddReqBean adminUser = new AdminUserAddReqBean();
         adminUser.setCompanyWechatId(adminWebsit.getCompanyWechatId())
                 .setCompanyName(adminWebsit.getCompanyWechatName())
-                .setUserName(adminWebsit.getWebsitId())
+                .setUserName(adminWebsit.getWebsitId() + "01")
                 .setNickName(adminWebsit.getName())
                 .setRoleId("1831614042544427009")
-                .setPassword(adminWebsit.getLinkMobile())
+                .setPassword("123456")
                 .setPubNotice(true)
                 .setIsVender(false)
                 .setLinkPhone(adminWebsit.getLinkMobile());
@@ -376,6 +376,10 @@ public class AdminWebsitLogic {
                 }
             }
 
+            if (!adminWebsit.getAttr().equals(WebsitAttrEnum.SELF.getKey()) && adminWebsit.getInsureType().contains("工伤险")) {
+                throw new RemoteServiceException("第三方网点是只有意外+雇主险");
+            }
+
             if (adminWebsit.getInsureType().contains("工伤险")
                     && org.apache.commons.lang3.StringUtils.isBlank(adminWebsit.getInsureSteadUnit())) {
                 throw new RemoteServiceException("工伤险代买单位不能为空");
@@ -543,6 +547,11 @@ public class AdminWebsitLogic {
                         .eq(AdminUserWebsitRela::getCompanyWechatId, adminWebsit.getCompanyWechatId())
                         .eq(AdminUserWebsitRela::getAdminWebsitId, id)
                         .remove();
+
+                adminWebsitPayConfigService.lambdaUpdate()
+                        .eq(AdminWebsitPayConfig::getCompanyWechatId, adminWebsit.getCompanyWechatId())
+                        .eq(AdminWebsitPayConfig::getWebsitId, id)
+                        .remove();
             }
             // 备份删除的网点
             final List<AdminWebsitBak> websitBaks = BeanUtil.copyToList(list, AdminWebsitBak.class);
@@ -830,6 +839,10 @@ public class AdminWebsitLogic {
                 }
             }
 
+            if (!websitAttrEnum.getKey().equals(WebsitAttrEnum.SELF.getKey()) && insureType.contains("工伤险")) {
+                throw new RemoteServiceException("第" + rowIndex + "行, 第三方网点是只有意外+雇主险");
+            }
+
             final String insureSteadUnitName = row.get(14).toString().trim();
             if (insureType.contains("工伤险")
                     && org.apache.commons.lang3.StringUtils.isBlank(insureSteadUnitName)) {

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

@@ -0,0 +1,78 @@
+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.WorkerTeamVO;
+import com.gree.mall.manager.commonmapper.CommonMapper;
+import com.gree.mall.manager.exception.RemoteServiceException;
+import com.gree.mall.manager.logic.common.CommonLogic;
+import com.gree.mall.manager.plus.entity.WorkerTeam;
+import com.gree.mall.manager.plus.service.WorkerTeamService;
+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.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class WorkerTeamLogic {
+
+    private final CommonLogic commonLogic;
+    private final CommonMapper commonMapper;
+    private final WorkerTeamService workerTeamService;
+
+    public IPage<WorkerTeamVO> list(ZfireParamBean zfireParamBean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        FieldUtils.supplyParam(zfireParamBean, WorkerTeamVO.class, adminUser);
+        return commonMapper.workerTeamPage(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()), zfireParamBean);
+    }
+
+    public void add(WorkerTeam workerTeam) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        workerTeam.setCompanyWechatId(adminUser.getCompanyWechatId())
+                .setCompanyWechatName(adminUser.getCompanyName());
+        this.validParams(workerTeam);
+        this.checkUniqueTeam(workerTeam);
+
+        workerTeam.insert();
+    }
+
+    public void update(WorkerTeam workerTeam) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        final WorkerTeam old = workerTeamService.getById(workerTeam.getId());
+        workerTeam.setCompanyWechatId(old.getCompanyWechatId())
+                .setCompanyWechatName(old.getCompanyWechatName());
+        this.validParams(workerTeam);
+
+        workerTeam.updateById();
+    }
+
+    private void validParams(WorkerTeam workerTeam) {
+        if (StringUtils.isBlank(workerTeam.getWebsitId())) {
+            throw new RemoteServiceException("所属网点不能为空");
+        }
+        if (StringUtils.isBlank(workerTeam.getMasterWorkerId())) {
+            throw new RemoteServiceException("大工师傅不能为空");
+        }
+        if (StringUtils.isBlank(workerTeam.getAssistantWorkerId())) {
+            throw new RemoteServiceException("小工师傅不能为空");
+        }
+    }
+
+    private void checkUniqueTeam(WorkerTeam workerTeam) {
+        final Integer count = workerTeamService.lambdaQuery()
+                .eq(WorkerTeam::getCompanyWechatId, workerTeam.getCompanyWechatId())
+                .eq(WorkerTeam::getWebsitId, workerTeam.getWebsitId())
+                .eq(WorkerTeam::getMasterWorkerId, workerTeam.getMasterWorkerId())
+                .eq(WorkerTeam::getAssistantWorkerId, workerTeam.getAssistantWorkerId())
+                .ne(StringUtils.isNotBlank(workerTeam.getId()), WorkerTeam::getId, workerTeam.getId())
+                .count();
+        if (count > 0) {
+            throw new RemoteServiceException(workerTeam.getWebsitId() + "已存在一组同样师傅的记录" + workerTeam.getAssistantWorkerId() + "," + workerTeam.getAssistantWorkerId());
+        }
+    }
+}

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

@@ -1513,4 +1513,23 @@
             AND `status` = 'ON'
             AND #{onDate} BETWEEN valid_date AND expire_date
     </select>
+
+    <select id="workerTeamPage" resultType="com.gree.mall.manager.bean.worker.WorkerTeamVO">
+        SELECT
+            ${ex.selected}
+        FROM
+            worker_team a
+            LEFT JOIN admin_websit b ON a.websit_id = b.websit_id
+        ${ex.query}
+        <if test="ex.adminWebsitIds != null and ex.adminWebsitIds.size > 0">
+            AND a.websit_id IN
+            <foreach item="item" index="index" collection="ex.adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="ex.orderBy == null or ex.orderBy ==''">
+            ORDER BY a.create_time DESC
+        </if>
+        ${ex.orderBy}
+    </select>
 </mapper>

二進制
mall-server-api/src/main/resources/template/网点管理导入模板.xlsx