diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/LicenseTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/LicenseTypeEnum.java index 874ad688c..2d53c6bdf 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/LicenseTypeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/LicenseTypeEnum.java @@ -34,4 +34,13 @@ public enum LicenseTypeEnum { } return null; } + + public static LicenseTypeEnum matchName(String name) { + for (LicenseTypeEnum type : LicenseTypeEnum.values()) { + if (type.getMessage().equals(name)) { + return type; + } + } + return null; + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/AcceptanceInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/AcceptanceInfoDAO.java index 3ebb618eb..6e4d8fc24 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/AcceptanceInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/AcceptanceInfoDAO.java @@ -21,11 +21,11 @@ public class AcceptanceInfoDAO { @Resource private AcceptanceInfoMapper acceptanceInfoMapper; - public Long insertAcceptanceInfo(AcceptanceInfoDO acceptanceInfoDO){ + public Long insertSelectiveAcceptanceInfo(AcceptanceInfoDO acceptanceInfoDO){ if (Objects.isNull(acceptanceInfoDO)){ return null; } - acceptanceInfoMapper.insert(acceptanceInfoDO); + acceptanceInfoMapper.insertSelective(acceptanceInfoDO); return acceptanceInfoDO.getId(); } public List selectAcceptanceInfoBySignatures(Integer status){ diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java index 72573d4b1..b1f3ebcc7 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java @@ -39,8 +39,11 @@ public class AssessmentDataDAO { return 0; } - public List selectList(Long shopId, String userId) { - return assessmentDataMapper.select(AssessmentDataDO.builder().shopId(shopId).assessmentUserId(userId).build()); + public List selectList(Long shopId, String userId, List templateIdList) { + Example example = new Example(AssessmentDataDO.class); + example.createCriteria().andEqualTo("assessmentUserId", userId).andEqualTo("shopId", shopId).andIn("templateId", templateIdList); + + return assessmentDataMapper.selectByExample(example); } public AssessmentDataDO selectByTemplateId(Long templateId, String userId, Long shopId) { @@ -60,4 +63,9 @@ public class AssessmentDataDAO { example.createCriteria().andEqualTo("assessmentUserId", userId).andEqualTo("shopId", shopId).andIsNotNull("qualified"); return assessmentDataMapper.selectCountByExample(example); } + + public AssessmentDataDO selectByPrimaryKey(Long id) { + return assessmentDataMapper.selectByPrimaryKey(id); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java index 2c5ceea94..e95c02cdb 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java @@ -56,5 +56,11 @@ public class EmployeeTrainingDAO { return employeeTrainingMapper.trainingListByShopId(shopId, trainingTeacherUserId, status); } - + public List assessmentUserList(String name, String practicalAssessmentUserId, + Integer assessmentStatus, + String estimatedAssessmentBeginTime, String estimatedAssessmentEndTime, + String actualAssessmentBeginTime, String actualAssessmentEndTime) { + return employeeTrainingMapper.assessmentUserList(name, practicalAssessmentUserId, assessmentStatus, estimatedAssessmentBeginTime, + estimatedAssessmentEndTime, actualAssessmentBeginTime, actualAssessmentEndTime); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java index e7a36cfad..7e0377878 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java @@ -11,13 +11,19 @@ import java.util.List; public interface EmployeeTrainingMapper extends Mapper { - List employeeTrainingMapper(@Param("keyWord") String keyWord, @Param("regionIdList") List regionIdList, - @Param("authRegionIdList") List authRegionIdList, @Param("assignFlag") Boolean assignFlag, - @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("shopIdList") List shopIdList, - @Param("theoreticalExamStatus") Integer theoreticalExamStatus, - @Param("practicalExamStatus") Integer practicalExamStatus, - @Param("assessmentStatus") Integer assessmentStatus); + List employeeTrainingMapper(@Param("keyWord") String keyWord, @Param("regionIdList") List regionIdList, + @Param("authRegionIdList") List authRegionIdList, @Param("assignFlag") Boolean assignFlag, + @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("shopIdList") List shopIdList, + @Param("theoreticalExamStatus") Integer theoreticalExamStatus, + @Param("practicalExamStatus") Integer practicalExamStatus, + @Param("assessmentStatus") Integer assessmentStatus); - List trainingListByShopId(@Param("shopId") Long shopId, @Param("trainingTeacherUserId") String trainingTeacherUserId, - @Param("status") Integer status); + List trainingListByShopId(@Param("shopId") Long shopId, @Param("trainingTeacherUserId") String trainingTeacherUserId, + @Param("status") Integer status); + + List assessmentUserList(@Param("name") String name, @Param("practicalAssessmentUserId") String practicalAssessmentUserId, + @Param("assessmentStatus") Integer assessmentStatus, + @Param("estimatedAssessmentBeginTime") String estimatedAssessmentBeginTime, @Param("estimatedAssessmentEndTime") String estimatedAssessmentEndTime, + @Param("actualAssessmentBeginTime") String actualAssessmentBeginTime, @Param("actualAssessmentEndTime") String actualAssessmentEndTime + ); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml index 22cd4df73..e40a5b4c9 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml @@ -124,4 +124,55 @@ and u.shop_id = #{shopId} + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/AssessmentDataDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/AssessmentDataDTO.java new file mode 100644 index 000000000..67b707a29 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/AssessmentDataDTO.java @@ -0,0 +1,42 @@ +package com.cool.store.dto.decoration; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +/** + * @Auther: WangShuo + * @Date: 2024/05/06/下午3:31 + * @Version 1.0 + * @注释: + */ +@Data +public class AssessmentDataDTO { + + @ApiModelProperty("模板id") + private Long templateId; + + private Long shopId; + /** + * 店铺是否合格 + */ + @ApiModelProperty("店铺是否合格,0合格1不合格") + private Boolean qualified; + + /** + * 原因 + */ + @ApiModelProperty("不合格原因") + private String reason; + + /** + * 评语 + */ + @ApiModelProperty("评语") + private String comments; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/ThreeAcceptanceDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/ThreeAcceptanceDTO.java new file mode 100644 index 000000000..1232d2d26 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/decoration/ThreeAcceptanceDTO.java @@ -0,0 +1,20 @@ +package com.cool.store.dto.decoration; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Auther: WangShuo + * @Date: 2024/05/06/下午3:09 + * @Version 1.0 + * @注释: + */ +@Data +public class ThreeAcceptanceDTO { + @ApiModelProperty("验收签名 ") + private String AcceptanceSignatures; + @ApiModelProperty("验收评语") + private String Comments; + @ApiModelProperty("0通过,1不通过") + private Integer ResultType; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java index e3e090c02..d964f2c60 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java @@ -99,7 +99,7 @@ public class EmployeeTrainingDO { * 理论考试状态 0-未开始 1-合格 2-不合格 */ @Column(name = "theoretical_exam_status") - private Byte theoreticalExamStatus; + private Integer theoreticalExamStatus; /** * 理论考试分值 @@ -111,7 +111,7 @@ public class EmployeeTrainingDO { * 实操考试状态 0-未开始 1-合格 2-不合格 */ @Column(name = "practical_exam_status") - private Byte practicalExamStatus; + private Integer practicalExamStatus; /** * 实操考试分值 @@ -123,7 +123,7 @@ public class EmployeeTrainingDO { * 考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过 */ @Column(name = "assessment_status") - private Byte assessmentStatus; + private Integer assessmentStatus; /** * 创建时间 diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentCommitListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentCommitListRequest.java new file mode 100644 index 000000000..4f454b39e --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentCommitListRequest.java @@ -0,0 +1,20 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author byd + * @date 2024-04-30 17:30 + */ +@Data +public class EmployeeAssessmentCommitListRequest { + + @ApiModelProperty("培训id") + private Long employeeTrainingId; + + @ApiModelProperty("培训考核结果列表") + List list; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentCommitRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentCommitRequest.java new file mode 100644 index 000000000..1ee6a66c8 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentCommitRequest.java @@ -0,0 +1,27 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author byd + * @date 2024-04-30 11:10 + */ +@Data +public class EmployeeAssessmentCommitRequest { + + @ApiModelProperty("数据项id") + private Long id; + + @ApiModelProperty("模版id") + private Long templateId; + + @ApiModelProperty("店铺id") + private Long shopId; + + @ApiModelProperty("得分") + private Long score; + + @ApiModelProperty("评语") + private String comments; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentRequest.java new file mode 100644 index 000000000..b2012b535 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentRequest.java @@ -0,0 +1,37 @@ +package com.cool.store.request; + +import com.cool.store.common.PageBasicInfo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author byd + * @date 2024-04-30 11:10 + */ +@Data +public class EmployeeAssessmentRequest extends PageBasicInfo { + + + @ApiModelProperty("姓名") + private String name; + + @ApiModelProperty("预计考核时间-开始") + private Long estimatedAssessmentBeginTime; + + @ApiModelProperty("预计考核时间-结束") + private Long estimatedAssessmentEndTime; + + @ApiModelProperty("实际考核时间-开始") + private Long actualAssessmentBeginTime; + + @ApiModelProperty("实际考核时间-结束") + private Long actualAssessmentEndTime; + + @ApiModelProperty("实训门店id列表") + private List storeIdList; + + @ApiModelProperty("考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过") + private Integer assessmentStatus; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentTurnRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentTurnRequest.java new file mode 100644 index 000000000..d4f7ba0c9 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentTurnRequest.java @@ -0,0 +1,20 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author byd + * @date 2024-04-30 11:10 + */ +@Data +public class EmployeeAssessmentTurnRequest { + + + @ApiModelProperty("员工id") + private Long id; + + @ApiModelProperty("转交人id") + private String turnUserId; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingCommitRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingCommitRequest.java index cd1f4fdd6..ef8552e7d 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingCommitRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingCommitRequest.java @@ -10,9 +10,11 @@ import lombok.Data; @Data public class EmployeeTrainingCommitRequest { + @ApiModelProperty("数据项id") + private Long id; @ApiModelProperty("模版id") - private Long templateId; + private Long templateId; @ApiModelProperty("店铺id") private Long shopId; @@ -25,6 +27,4 @@ public class EmployeeTrainingCommitRequest { */ @ApiModelProperty("店铺是否合格") private Boolean qualified; - - } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceCheckRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceCheckRequest.java new file mode 100644 index 000000000..b86befb47 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceCheckRequest.java @@ -0,0 +1,21 @@ +package com.cool.store.request; + +import com.cool.store.dto.decoration.AssessmentDataDTO; +import com.cool.store.entity.AssessmentDataDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Auther: WangShuo + * @Date: 2024/05/06/下午3:17 + * @Version 1.0 + * @注释: + */ +@Data +public class ThreeAcceptanceCheckRequest { + private Long shopId; + @ApiModelProperty("检查项") + private List assessmentDataDTOS; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceRequest.java index 4c8abe704..782497eec 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/ThreeAcceptanceRequest.java @@ -1,5 +1,6 @@ package com.cool.store.request; +import com.cool.store.dto.decoration.ThreeAcceptanceDTO; import com.cool.store.entity.AssessmentDataDO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -15,24 +16,12 @@ import java.util.List; @Data public class ThreeAcceptanceRequest { private Long shopId; - @ApiModelProperty("工程部验收签名 {pic\":\"\",\"acceptanceTime\":\"\",\"result\":\"\",\"remark\":\"\",\"status\":1}") - private String engineeringAcceptanceSignatures; - @ApiModelProperty("工程部验收评语") - private String engineeringComments; - @ApiModelProperty("0通过,1不通过") - private Integer engineeringResultType; - @ApiModelProperty("营运部验收签名 {\"pic\":\"\",\"acceptanceTime\":\"\",\"result\":\"\",\"remark\":\"\",\"status\":1}") - private String operationsAcceptanceSignatures; - @ApiModelProperty("营运部验收评语") - private String operationsComments; - @ApiModelProperty("0通过,1不通过") - private Integer operationsResultType; - @ApiModelProperty("加盟商验收签名 {\"pic\":\"\",\"acceptanceTime\":\"\",\"result\":\"\",\"remark\":\"\",\"status\":0}") - private String partnerAcceptanceSignatures; - @ApiModelProperty("加盟商验收评语") - private String partnerComments; - @ApiModelProperty("0通过,1不通过") - private Integer partnerResultType; + @ApiModelProperty("工程部验收") + private ThreeAcceptanceDTO engineeringAcceptance; + @ApiModelProperty("营运部验收") + private ThreeAcceptanceDTO operationsAcceptance; + @ApiModelProperty("加盟商验收") + private ThreeAcceptanceDTO partnerAcceptance; @ApiModelProperty("检查项") private List assessmentDataDOS; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/GetStoreInfoByCodeResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/GetStoreInfoByCodeResponse.java new file mode 100644 index 000000000..76f41c8d3 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/GetStoreInfoByCodeResponse.java @@ -0,0 +1,165 @@ +package com.cool.store.response; + +import lombok.Data; + +@Data +public class GetStoreInfoByCodeResponse { + /** + * 返回结果代码 + * 结果代码 + */ + private Integer code; + /** + * 返回结果数据 + * 结果数据 + */ + private InnerData data; + /** + * 提示信息 + */ + private String message; + + @Data + public static class InnerData { + /** + * 开店状态:0=关店1=开店 + */ + private String closeTime; + /** + * 加盟商编码 + */ + private String franchiseeId; + /** + * 开店状态:0=关店1=开店 + */ + private Long hdStatus; + /** + * 维度 + */ + private String latitude; + /** + * 经度 + */ + private String longitude; + /** + * 门店开业时间 + */ + private String openDate; + /** + * 开店状态:0=关店1=开店 + */ + private String openTime; + /** + * 门店地址 + */ + private String storeAdd; + /** + * 小区 + */ + private String storeArea; + /** + * 门店代码 + */ + private String storeCode; + /** + * 大区 + */ + private String storeCompany; + /** + * 门店证照信息 + */ + private StoreDocument storeDocument; + /** + * 战区 + */ + private String storeLarge; + /** + * 门店名称 + */ + private String storeName; + /** + * 门店性质 + */ + private String storeType; + } + + @Data + public static class StoreDocument { + /** + * 营业执照经营场所/住所 + */ + private String storeBusinessAdd; + /** + * 营业执照发证日期 + */ + private String storeBusinessDate; + /** + * 营业执照图片 + */ + private String storeBusinessImg; + /** + * 营业执照名称 + */ + private String storeBusinessName; + /** + * 营业执照统一社会信用代码 + */ + private String storeBusinessNumber; + /** + * 营业执照类型 + */ + private String storeBusinessType; + /** + * 营业执照有效期, 非OCR识别,手填。9=长期有效,非长期有效则为具体日期,例:2026-06-01 + */ + private String storeBusinessValidPeriod; + /** + * 门店代码 + */ + private String storeCode; + /** + * 营业执照经营者/法人 + */ + private String storeDirector; + /** + * 食品流通经营许可证编号 + */ + private String storeFoodLicense; + /** + * 食品流通/经营许可证有效期开始日期 + */ + private String storeFoodLicenseBeginDate; + /** + * 食品经营许可证经营场所 + */ + private String storeFoodLicenseBusinessAddress; + /** + * 食品经营许可证经营项目 + */ + private String storeFoodLicenseBusinessScope; + /** + * 食品流通/经营许可证有效期结束日期 + */ + private String storeFoodLicenseEndDate; + /** + * 食品经营许可证照片 + */ + private String storeFoodLicenseImg; + /** + * 食品经营许可证法定代表人(负责人) + */ + private String storeFoodLicenseLegalRepresentative; + /** + * 食品经营许可证主体业态 + */ + private String storeFoodLicenseMainBusiness; + /** + * 食品经营许可证经营者名称 + */ + private String storeFoodLicenseOperatorName; + /** + * 备注 + */ + private String storeRemark; + } +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java index 8bd414db2..b9dd91600 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/SubmitLicenseResponse.java @@ -1,7 +1,9 @@ package com.cool.store.response; +import cn.hutool.core.date.DateUtil; import com.cool.store.entity.LicenseTransactDO; import com.cool.store.entity.ShopAuditInfoDO; +import com.cool.store.enums.LicenseTypeEnum; import com.cool.store.vo.ShopAuditInfoVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -9,6 +11,7 @@ import lombok.Data; import java.util.Date; import java.util.List; +import java.util.Objects; @Data @ApiModel("提交证照办理响应体") @@ -89,8 +92,43 @@ public class SubmitLicenseResponse { @ApiModelProperty("流程记录") private List processRecords; + public static SubmitLicenseResponse from(GetStoreInfoByCodeResponse storeInfoCode){ + if (Objects.isNull(storeInfoCode)){ + return null; + } + GetStoreInfoByCodeResponse.InnerData data = storeInfoCode.getData(); + GetStoreInfoByCodeResponse.StoreDocument storeDocument = data.getStoreDocument(); + boolean storeBusinessValidPeriod = storeDocument.getStoreBusinessValidPeriod().equals("9"); + SubmitLicenseResponse submitLicenseResponse = new SubmitLicenseResponse(); + submitLicenseResponse.setId(null); + submitLicenseResponse.setShopId(null); + submitLicenseResponse.setLicenseType(LicenseTypeEnum.matchName(storeDocument.getStoreBusinessType()).getCode()); + submitLicenseResponse.setLicenseLegalPerson(storeDocument.getStoreDirector()); + submitLicenseResponse.setIssueTime(DateUtil.parseTime(storeDocument.getStoreBusinessDate())); + submitLicenseResponse.setLicenseAddress(storeDocument.getStoreBusinessAdd()); + submitLicenseResponse.setValidity(storeBusinessValidPeriod ? null : DateUtil.parseTime(storeDocument.getStoreBusinessValidPeriod())); + submitLicenseResponse.setOperator(storeDocument.getStoreDirector()); + submitLicenseResponse.setFoodLicenseLegalPerson(storeDocument.getStoreFoodLicenseOperatorName()); + submitLicenseResponse.setMainBusiness(storeDocument.getStoreFoodLicenseMainBusiness()); + submitLicenseResponse.setBusinessProject(storeDocument.getStoreFoodLicenseBusinessScope()); + submitLicenseResponse.setRemark(storeDocument.getStoreRemark()); + submitLicenseResponse.setRemarkUrl(null); + submitLicenseResponse.setSubmitStatus(null); + submitLicenseResponse.setLicenseUrl(storeDocument.getStoreBusinessImg()); + submitLicenseResponse.setLicenseName(storeDocument.getStoreBusinessName()); + submitLicenseResponse.setSocialCreditCode(storeDocument.getStoreBusinessNumber()); + submitLicenseResponse.setIdCardAndLicense1(null); + submitLicenseResponse.setIdCardAndLicense2(null); + submitLicenseResponse.setFoodLicenseUrl(storeDocument.getStoreFoodLicenseImg()); + submitLicenseResponse.setBusinessPremises(storeDocument.getStoreFoodLicenseBusinessAddress()); + submitLicenseResponse.setFoodLicenseCode(storeDocument.getStoreFoodLicense()); + submitLicenseResponse.setFoodLicenseStartTime(DateUtil.parseTime(storeDocument.getStoreFoodLicenseBeginDate())); + submitLicenseResponse.setFoodLicenseEndTime(DateUtil.parseTime(storeDocument.getStoreFoodLicenseEndDate())); + return submitLicenseResponse; + } + public static SubmitLicenseResponse from(LicenseTransactDO licenseTransactDO) { - if (licenseTransactDO == null) { + if (Objects.isNull(licenseTransactDO)) { return null; } SubmitLicenseResponse submitLicenseResponse = new SubmitLicenseResponse(); diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/AssessmentUserTrainingVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/AssessmentUserTrainingVO.java new file mode 100644 index 000000000..6819f035e --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/AssessmentUserTrainingVO.java @@ -0,0 +1,110 @@ +package com.cool.store.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.persistence.Column; +import java.util.Date; +import java.util.List; + +/** + * @author byd + * @date 2024-04-30 10:53 + */ +@Data +public class AssessmentUserTrainingVO { + + @ApiModelProperty("id") + private Long id; + + @ApiModelProperty("名字") + private String username; + + @ApiModelProperty("手机号") + private String mobile; + + @ApiModelProperty("身份证号") + private String idCard; + + @ApiModelProperty("区域id") + private Long regionId; + + @ApiModelProperty("角色id 170000000-店长 180000000-店员") + private Long roleId; + + @ApiModelProperty("店铺id") + private Long shopId; + + @ApiModelProperty("店铺名称") + private String shopName; + + @ApiModelProperty("培训id") + private Long employeeTrainingId; + + /** + * 实训门店ID + */ + @ApiModelProperty("实训门店ID") + private String trainingStoreId; + + /** + * 实训门店ID + */ + @ApiModelProperty("实训门店名称") + private String trainingStoreName; + + /** + * 实操考核人员ID + */ + @ApiModelProperty("实操考核人员ID") + private String practicalAssessmentUserId; + + @ApiModelProperty("实操考核人员名称") + private String practicalAssessmentUserName; + + /** + * 预计考核时间 + */ + @ApiModelProperty("预计考核时间") + private Date estimatedAssessmentTime; + + /** + * 实际考核时间 + */ + @ApiModelProperty("实际考核时间") + private Date actualAssessmentTime; + + /** + * 理论考试状态 0-未开始 1-合格 2-不合格 + */ + @ApiModelProperty("理论考试状态 0-未开始 1-合格 2-不合格") + private Integer theoreticalExamStatus; + + /** + * 理论考试分值 + */ + @ApiModelProperty("理论考试分值") + private Integer theoreticalExamScore; + + /** + * 实操考试分值 + */ + @ApiModelProperty("实操考试分值") + private Integer practicalExamScore; + + + @ApiModelProperty("实操考试状态") + private Integer practicalExamStatus; + + + /** + * 考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过 + */ + @ApiModelProperty("核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过") + private Integer assessmentStatus; + + + @ApiModelProperty("考核数据") + List templateDataList; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingDetailVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingDetailVO.java index 3ea95994d..38c38acd5 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingDetailVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingDetailVO.java @@ -130,7 +130,7 @@ public class EmployeeTrainingDetailVO { * 理论考试状态 0-未开始 1-合格 2-不合格 */ @ApiModelProperty("理论考试状态 0-未开始 1-合格 2-不合格") - private Byte theoreticalExamStatus; + private Integer theoreticalExamStatus; /** * 理论考试分值 @@ -142,7 +142,7 @@ public class EmployeeTrainingDetailVO { * 实操考试状态 0-未开始 1-合格 2-不合格 */ @ApiModelProperty("实操考试状态 0-未开始 1-合格 2-不合格") - private Byte practicalExamStatus; + private Integer practicalExamStatus; /** * 实操考试分值 @@ -154,6 +154,6 @@ public class EmployeeTrainingDetailVO { * 考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过 */ @ApiModelProperty("考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过") - private Byte assessmentStatus; + private Integer assessmentStatus; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java index 6b3936b03..cdf193800 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java @@ -3,6 +3,7 @@ package com.cool.store.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.persistence.Column; import java.util.Date; /** @@ -107,4 +108,15 @@ public class EmployeeTrainingVO { @ApiModelProperty("实操考核人员名称") private String practicalAssessmentUserName; + /** + * 预计考核时间 + */ + @ApiModelProperty("预计考核时间") + private Date estimatedAssessmentTime; + + /** + * 实际考核时间 + */ + @ApiModelProperty("实际考核时间") + private Date actualAssessmentTime; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanVO.java index ed55da640..66ef3e6fc 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanVO.java @@ -21,7 +21,7 @@ import java.util.List; public class OpeningOperationPlanVO { @ApiModelProperty("门店name") - private String name; + private String shopName; @ApiModelProperty("调研结果") private String surveyResult; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopStageInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopStageInfoVO.java index 799213e59..6541ecb80 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopStageInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/ShopStageInfoVO.java @@ -3,6 +3,9 @@ package com.cool.store.vo.shop; import com.cool.store.entity.LineAuditInfoDO; import com.cool.store.entity.ShopAuditInfoDO; import com.cool.store.entity.ShopStageInfoDO; +import com.cool.store.enums.point.ShopStageEnum; +import com.cool.store.enums.point.ShopSubStageEnum; +import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.vo.AuditInfoVO; import com.cool.store.vo.LineAuditInfoVO; import com.google.common.collect.Lists; @@ -62,6 +65,9 @@ public class ShopStageInfoVO { Map auditMap = auditList.stream().collect(Collectors.toMap(ShopAuditInfoDO::getId, Function.identity())); List resultList = new ArrayList<>(); for (ShopStageInfoDO stageInfo : stageList) { + if (ShopSubStageEnum.SHOP_STAGE_13.getShopSubStage().equals(stageInfo.getShopSubStage())){ + continue; + } ShopStageInfoVO shopStageInfo = new ShopStageInfoVO(stageInfo.getShopStage(), stageInfo.getShopSubStage(), stageInfo.getShopSubStageStatus(), stageInfo.getIsTerminated()); ShopAuditInfoDO auditInfo = auditMap.get(stageInfo.getAuditId()); AuditInfoVO auditInfoVO = AuditInfoVO.convertVO(auditInfo); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/XfsgTrainingPersonSyncListener.java b/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/XfsgTrainingPersonSyncListener.java index e699dd71c..235172100 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/XfsgTrainingPersonSyncListener.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/XfsgTrainingPersonSyncListener.java @@ -151,7 +151,7 @@ public class XfsgTrainingPersonSyncListener implements MessageListener { }else if(UserRoleEnum.XFSG_SHOPOWNER.getDesc().equals(jobName)){ return UserRoleEnum.XFSG_SHOPOWNER.getCode(); } - return null; + return UserRoleEnum.XFSG_CLERK.getCode(); } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java index c4a6ac110..f54724f8e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java @@ -2,6 +2,7 @@ package com.cool.store.service; import com.cool.store.request.FranchiseAgreementRequest; import com.cool.store.request.NewStoreRequest; +import com.cool.store.response.GetStoreInfoByCodeResponse; import com.cool.store.response.ResponseResult; /** @@ -33,4 +34,11 @@ public interface CoolStoreStartFlowService { */ Boolean getFirstOrder(String shopCode); + /** + * 获取证照信息 + * @param storeNum + * @return + */ + GetStoreInfoByCodeResponse getStoreInfoCode(String storeNum); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java index d7a01122f..48487696c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java @@ -4,6 +4,7 @@ import com.cool.store.context.LoginUserInfo; import com.cool.store.dto.decoration.ConstructionScheduleDTO; import com.cool.store.dto.decoration.DecorationModelDTO; import com.cool.store.request.LinePaySubmitRequest; +import com.cool.store.request.ThreeAcceptanceCheckRequest; import com.cool.store.request.ThreeAcceptanceRequest; import com.cool.store.request.BookingAcceptanceRequest; import com.cool.store.response.FitmentResponse; @@ -84,8 +85,9 @@ public interface DecorationService { /** * @Auther: wangshuo * @Date: 2024/4/29 - * @description:提交三方验收 + * @description:提交三方验收检查项 */ + Boolean submitThreeCheck(ThreeAcceptanceCheckRequest request); Boolean submitAcceptance(ThreeAcceptanceRequest request,PartnerUserInfoVO minUser, LoginUserInfo pcUser ); /** * @Auther: wangshuo diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/EmployeeTrainingService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/EmployeeTrainingService.java index 55dd55ef9..42784f2b6 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/EmployeeTrainingService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/EmployeeTrainingService.java @@ -1,8 +1,7 @@ package com.cool.store.service; -import com.cool.store.request.EmployeeTrainingCommitListRequest; -import com.cool.store.request.EmployeeTrainingDetailRequest; -import com.cool.store.request.EmployeeTrainingRequest; +import com.cool.store.request.*; +import com.cool.store.vo.AssessmentUserTrainingVO; import com.cool.store.vo.EmployeeTrainingDetailVO; import com.cool.store.vo.EmployeeTrainingVO; import com.cool.store.vo.EmployeeUserTrainingVO; @@ -29,4 +28,12 @@ public interface EmployeeTrainingService { EmployeeUserTrainingVO trainerUserDetail(Long id); void trainerUserCommit(EmployeeTrainingCommitListRequest request); + + PageInfo assessmentUserList(String userId, EmployeeAssessmentRequest request); + + AssessmentUserTrainingVO assessmentUserDetail(Long id); + + void turn(Long id, String userId, String turnUserId); + + void assessmentUserCommit(EmployeeAssessmentCommitListRequest request); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java index 03e0aa126..58b743b04 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java @@ -9,6 +9,7 @@ import com.cool.store.dao.ShopStageInfoDAO; import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.LicenseTransactDO; import com.cool.store.entity.ShopAuditInfoDO; +import com.cool.store.entity.ShopInfoDO; import com.cool.store.enums.AuditTypeEnum; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; @@ -16,16 +17,19 @@ import com.cool.store.exception.ServiceException; import com.cool.store.mapper.ApplyLicenseMapper; import com.cool.store.mapper.EnterpriseUserMapper; import com.cool.store.mapper.ShopAuditInfoMapper; +import com.cool.store.mapper.ShopInfoMapper; import com.cool.store.request.LicenseListRequest; import com.cool.store.request.SubmitLicenseRequest; +import com.cool.store.response.GetStoreInfoByCodeResponse; import com.cool.store.response.LicenseListResponse; import com.cool.store.response.SubmitLicenseResponse; import com.cool.store.service.ApplyLicenseService; +import com.cool.store.service.CoolStoreStartFlowService; +import com.cool.store.service.PreparationService; import com.cool.store.service.RegionService; import com.cool.store.utils.StringUtil; import com.cool.store.utils.poi.StringUtils; import com.cool.store.utils.poi.constant.Constants; -import com.cool.store.vo.OpenAcceptanceInfoListVO; import com.cool.store.vo.ShopAuditInfoVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -63,21 +67,30 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { @Resource EnterpriseUserMapper userMapper; + @Resource + CoolStoreStartFlowService coolStoreStartFlowService; + + @Resource + ShopInfoMapper shopInfoMapper; + + @Resource + PreparationService preparationService; + @Override @Transactional(rollbackFor = Exception.class) public Boolean submitLicense(SubmitLicenseRequest request) { log.info("submitLicense request:{}", JSONObject.toJSONString(request)); - if (Objects.isNull(request)){ + if (Objects.isNull(request)) { return false; } LicenseTransactDO licenseTransactDO = request.toLicenseTransactDO(); - if (request.getId() == null){ + if (request.getId() == null) { applyLicenseMapper.insertSelective(licenseTransactDO); - }else { + } else { licenseTransactDO.setId(request.getId()); applyLicenseMapper.updateByPrimaryKeySelective(licenseTransactDO); } - if (request.getSubmitStatus() == Constants.ONE_INTEGER){ + if (request.getSubmitStatus() == Constants.ONE_INTEGER) { ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO(); shopAuditInfoDO.setShopId(request.getShopId()); shopAuditInfoDO.setAuditType(AuditTypeEnum.LICENSE_APPROVAL.getCode()); @@ -86,7 +99,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { shopAuditInfoDO.setSubmittedUserName(user.getName()); shopAuditInfoDO.setDataType(0); shopAuditInfoMapper.insertSelective(shopAuditInfoDO); - shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_41,null); + shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_41, null); } return true; } @@ -94,33 +107,42 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { @Override public SubmitLicenseResponse getDefault(Long shopId) { - LicenseTransactDO licenseTransactDO = new LicenseTransactDO(); - licenseTransactDO.setShopId(shopId); - LicenseTransactDO result = applyLicenseMapper.selectOne(licenseTransactDO); - if (Objects.isNull(result)){ - throw new ServiceException(ErrorCodeEnum.LICENSE_NOT_EXIST); + //1.如果已经提交过证照信息,直接查询后组装数据返回 + LicenseTransactDO result = applyLicenseMapper.selectByShopId(shopId); + SubmitLicenseResponse submitLicenseResponse = new SubmitLicenseResponse(); + if (Objects.nonNull(result)){ + submitLicenseResponse = SubmitLicenseResponse.from(result); + List listByShopIdAndType = shopAuditInfoMapper.getListByShopIdAndType(shopId, AuditTypeEnum.LICENSE_APPROVAL.getCode()); + List userIds = listByShopIdAndType.stream().map(ShopAuditInfoVO::getSubmittedUserId).collect(Collectors.toList()); + List userInfoByUserIds = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(userIds)) { + userInfoByUserIds = userMapper.getUserInfoByUserIds(userIds); + Map userAvatarMap = userInfoByUserIds.stream() + .filter(item -> StringUtil.isNotBlank(item.getUserId()) && StringUtil.isNotBlank(item.getAvatar())) + .collect(Collectors.toMap(k -> k.getUserId(), v -> v.getAvatar())); + listByShopIdAndType.stream().forEach(item -> { + String avatar = userAvatarMap.get(item.getSubmittedUserId()); + if (StringUtils.isBlank(avatar)) { + item.setAvatar(Constants.AVATAR_DEFAULT); + } else { + item.setAvatar(avatar); + } + }); + } + submitLicenseResponse.setProcessRecords(listByShopIdAndType); + return submitLicenseResponse; } - SubmitLicenseResponse submitLicenseResponse = SubmitLicenseResponse.from(result); - List listByShopIdAndType = shopAuditInfoMapper.getListByShopIdAndType(shopId, AuditTypeEnum.LICENSE_APPROVAL.getCode()); - List userIds = listByShopIdAndType.stream().map(ShopAuditInfoVO::getSubmittedUserId).collect(Collectors.toList()); - List userInfoByUserIds = new ArrayList<>(); - - if (CollectionUtils.isNotEmpty(userIds)){ - userInfoByUserIds = userMapper.getUserInfoByUserIds(userIds); - Map userAvatarMap = userInfoByUserIds.stream() - .filter(item -> StringUtil.isNotBlank(item.getUserId()) && StringUtil.isNotBlank(item.getAvatar())) - .collect(Collectors.toMap(k -> k.getUserId(), v -> v.getAvatar())); - listByShopIdAndType.stream().forEach( item -> { - String avatar = userAvatarMap.get(item.getSubmittedUserId()); - if (StringUtils.isBlank(avatar)){ - item.setAvatar(Constants.AVATAR_DEFAULT); - }else { - item.setAvatar(avatar); - } - }); + //2.未查到证照信息,所以查询鲜丰的默认值 + ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId); + if (Objects.nonNull(shopInfoDO.getStoreNum())) { + GetStoreInfoByCodeResponse storeInfoCode = coolStoreStartFlowService.getStoreInfoCode(shopInfoDO.getStoreNum()); + if (Objects.nonNull(storeInfoCode) && Objects.nonNull(storeInfoCode.getData()) && storeInfoCode.getCode() == 0) { + submitLicenseResponse = SubmitLicenseResponse.from(storeInfoCode); + return submitLicenseResponse; + } } - submitLicenseResponse.setProcessRecords(listByShopIdAndType); - return submitLicenseResponse; + //3.既没有提交数据,也没有在鲜丰端查到证照信息,则返回空自由填写 + return null; } @Override @@ -154,7 +176,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { @Override @Transactional(rollbackFor = Exception.class) - public Boolean licenseExamine(Long shopId, Integer status,String result) { + public Boolean licenseExamine(Long shopId, Integer status, String result) { ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO(); shopAuditInfoDO.setShopId(shopId); ShopSubStageStatusEnum shopSubStageStatusEnum = null; @@ -166,11 +188,13 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { shopAuditInfoDO.setResultType(status); LicenseTransactDO licenseTransactDO = new LicenseTransactDO(); licenseTransactDO.setShopId(shopId); - if (status == Constants.ZERO_INTEGER){ + if (status == Constants.ZERO_INTEGER) { + //是否开业验收 改走的流程都已经完成 ->初始化开业验收数据 + preparationService.whetherToOpenForAcceptance(shopId); shopAuditInfoDO.setPassReason(result); shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_43; licenseTransactDO.setSubmitStatus(3); - }else if (status == Constants.ONE_INTEGER){ + } else if (status == Constants.ONE_INTEGER) { licenseTransactDO.setSubmitStatus(2); shopAuditInfoDO.setRejectReason(result); shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_42; @@ -179,7 +203,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { //插入操作/意见 shopAuditInfoMapper.insertSelective(shopAuditInfoDO); //更新阶段状态 - shopStageInfoDAO.updateShopStageAndAuditInfo(shopId,shopSubStageStatusEnum,null); + shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, shopSubStageStatusEnum, null); return null; } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AssessmentDataServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AssessmentDataServiceImpl.java index 900f2889b..01aad5a1b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AssessmentDataServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AssessmentDataServiceImpl.java @@ -1,5 +1,6 @@ package com.cool.store.service.impl; +import com.cool.store.constants.CommonConstants; import com.cool.store.dao.AssessmentDataDAO; import com.cool.store.entity.AssessmentDataDO; import com.cool.store.service.AssessmentDataService; @@ -20,11 +21,17 @@ public class AssessmentDataServiceImpl implements AssessmentDataService { private AssessmentDataDAO assessmentDataDAO; @Override public Boolean batchInsert(List assessmentDataDOS) { + if (assessmentDataDOS.isEmpty()) { + return Boolean.FALSE; + } return assessmentDataDAO.batchInsert(assessmentDataDOS); } @Override public Integer batchUpdate(List assessmentDataDOS) { + if (assessmentDataDOS.isEmpty()) { + return CommonConstants.ZERO; + } return assessmentDataDAO.batchUpdate(assessmentDataDOS); } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AuditStatusServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AuditStatusServiceImpl.java index e5e9cc881..972d547d9 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AuditStatusServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/AuditStatusServiceImpl.java @@ -106,7 +106,7 @@ public class AuditStatusServiceImpl implements AuditStatusService { if (Objects.nonNull(lineInterviewDO.getActualEndTime())){ response.setEndTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, lineInterviewDO.getActualEndTime())); } - if (Objects.nonNull(auditStatusDO.getCreateTime())){ + if (Objects.nonNull(auditStatusDO.getUpdateTime())){ response.setCheckTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, auditStatusDO.getUpdateTime())); } response.setCheckUser(auditStatusDO.getAuditUserName()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java index 5f5b1647f..4951e7d3f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java @@ -9,10 +9,12 @@ import com.cool.store.exception.ServiceException; import com.cool.store.mq.util.HttpRestTemplateService; import com.cool.store.request.FranchiseAgreementRequest; import com.cool.store.request.NewStoreRequest; +import com.cool.store.response.GetStoreInfoByCodeResponse; import com.cool.store.response.InitiatingResponse; import com.cool.store.response.ResponseResult; import com.cool.store.service.CoolStoreStartFlowService; import com.cool.store.utils.SecureUtil; +import com.cool.store.utils.poi.StringUtils; import com.cool.store.utils.poi.constant.Constants; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; @@ -102,6 +104,24 @@ public class CoolStoreStartFlowServiceImpl implements CoolStoreStartFlowService throw new ServiceException(ErrorCodeEnum. GET_FIRST_ORDER); } } + + + @Override + public GetStoreInfoByCodeResponse getStoreInfoCode(String storeNum) { + log.info("getStoreInfoCode storeNum:{}",storeNum); + if (StringUtils.isBlank(storeNum)){ + throw new ServiceException(ErrorCodeEnum.STORE_NUM_NOT_FOUND); + } + Map requestMap = new HashMap<>(); + fillSignatureInfo(requestMap); + requestMap.put("storeCode",storeNum); + String url = xfsgUrl + Constants.GET_STORE_INFO_BY_CODE + "?timestamp=" + requestMap.get("timestamp") + "&signature=" + requestMap.get("signature"); + GetStoreInfoByCodeResponse response = httpRestTemplateService.getForObject(url, GetStoreInfoByCodeResponse.class, requestMap); + return response; + } + + + private void fillSignatureInfo(Map requestMap) { long timestamp = System.currentTimeMillis(); String signature = SecureUtil.getSignature(timestamp); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java index 595c67c7a..62f88f738 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java @@ -17,6 +17,7 @@ import com.cool.store.exception.ServiceException; import com.cool.store.mapper.LineInfoMapper; import com.cool.store.mapper.ShopInfoMapper; import com.cool.store.request.LinePaySubmitRequest; +import com.cool.store.request.ThreeAcceptanceCheckRequest; import com.cool.store.request.ThreeAcceptanceRequest; import com.cool.store.request.BookingAcceptanceRequest; import com.cool.store.response.FitmentResponse; @@ -59,6 +60,8 @@ public class DecorationServiceImpl implements DecorationService { @Resource private ShopAuditInfoDAO shopAuditInfoDAO; @Resource + private SysRoleService sysRoleService; + @Resource private EnterpriseUserDAO enterpriseUserDAO; @Resource private RegionService regionService; @@ -96,14 +99,17 @@ public class DecorationServiceImpl implements DecorationService { FitmentResponse fitmentResponse = new FitmentResponse(); List stageInfoList = new ArrayList<>(); //设计 + this.DesignInfo(shopId); stageInfoList.add(getDecorationStageVOS(shopId, ShopSubStageEnum.SHOP_STAGE_9)); //装修款 + this.getDecorationModel(shopId, null); stageInfoList.add(getDecorationStageVOS(shopId, ShopSubStageEnum.SHOP_STAGE_10)); - //施工阶段计划时间 + //施工阶段 + this.getConstructionInfo(shopId); stageInfoList.add(getDecorationStageVOS(shopId, ShopSubStageEnum.SHOP_STAGE_11)); - //三方验收 + //TODO 三方验收 stageInfoList.add(getDecorationStageVOS(shopId, ShopSubStageEnum.SHOP_STAGE_12)); - //视觉验收 + //TODO 视觉验收 stageInfoList.add(getDecorationStageVOS(shopId, ShopSubStageEnum.SHOP_STAGE_13)); fitmentResponse.setStageInfoList(stageInfoList); return fitmentResponse; @@ -116,6 +122,8 @@ public class DecorationServiceImpl implements DecorationService { decorationStageVO.setShopSubStage(ShopStage.getShopSubStage()); decorationStageVO.setShopSubStageName(shopSubStageEnum.getShopSubStageName()); decorationStageVO.setCreatTime(ShopStage.getCreateTime()); + decorationStageVO.setPlanEndTime(ShopStage.getPlanCompleteTime()); + decorationStageVO.setActualCompleteTime(ShopStage.getActualCompleteTime()); return decorationStageVO; } @@ -399,6 +407,23 @@ public class DecorationServiceImpl implements DecorationService { return constructionScheduleDTO; } + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean submitThreeCheck(ThreeAcceptanceCheckRequest request) { + log.info("submitThreeCheck, request:{} ", JSONObject.toJSONString(request)); + List assessmentDataDOS = new ArrayList<>(); + BeanUtil.copyProperties(request.getAssessmentDataDTOS(),assessmentDataDOS); + for(AssessmentDataDO assessmentDataDO : assessmentDataDOS){ + assessmentDataDO.setShopId(request.getShopId()); + } + Boolean assessment = assessmentDataService.batchInsert(assessmentDataDOS); + if (assessment == Boolean.FALSE) { + log.error("三方验收插入检查项失败"); + throw new ServiceException(ErrorCodeEnum.CHECK_ITEM); + } + return assessment; + } + @Override public PageInfo getFitmentAcceptanceList(Integer subStageStatus, LoginUserInfo user, Integer pageNum, Integer pageSize) { List authRegionIds = userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(user.getUserId()); @@ -406,11 +431,19 @@ public class DecorationServiceImpl implements DecorationService { for (String authRegionId : authRegionIds) { regions.add(Long.parseLong(authRegionId)); } + if (regions.isEmpty()) { + log.info("该用户下权限没有管理区域"); + return null; + } List fitmentCheckVOList = new ArrayList<>(); //shopId,lineid,regionid,shopname,storenum, PageHelper.startPage(pageNum, pageSize); List shopInfoDOS = shopInfoMapper.selectShopListByRegionId(regions, subStageStatus); PageInfo pageInfo = new PageInfo<>(shopInfoDOS); + if (shopInfoDOS.isEmpty()) { + log.info("该工程部监理下门店为空"); + return pageInfo; + } Map ShopIdmap = shopInfoDOS.stream().collect(Collectors.toMap(ShopInfoDO::getId, dto1 -> dto1)); //招商经理,选址人员(拓展经理)id List lineIds = shopInfoDOS.stream().map(ShopInfoDO::getLineId).collect(Collectors.toList()); @@ -421,7 +454,7 @@ public class DecorationServiceImpl implements DecorationService { List nameByUserId = enterpriseUserDAO.getNameByUserId(InvestmentManagerIds); Map vonameMap = nameByUserId.stream() .collect(Collectors.toMap(UserNameDTO::getUserId, vo -> vo)); - //选址人员name + //选址人员(拓展经理)name List setterIds = lineInfos.stream().map(LineInfoDO::getDevelopmentManager).collect(Collectors.toList()); List setterName = enterpriseUserDAO.getNameByUserId(setterIds); Map setterNameMap = setterName.stream() @@ -429,6 +462,15 @@ public class DecorationServiceImpl implements DecorationService { //所属战区 List regionIds = shopInfoDOS.stream().map(ShopInfoDO::getRegionId).collect(Collectors.toList()); Map regionNameMap = regionService.getBelongWarRegionNameMap(regionIds); + //战区经理name + Map fightManger = new HashMap<>(); + for (Long regionId : regionIds) { + String fightMangerUserId = sysRoleService.getUserIdByRegionIdWithRolePriority(regionId, Arrays.asList(UserRoleEnum.THEATER_MANAGER)); + List fightMangerName = enterpriseUserDAO.getNameByUserId(Arrays.asList(fightMangerUserId)); + if (!fightMangerName.isEmpty()) { + fightManger.put(regionId, fightMangerName.get(CommonConstants.ZERO).getName()); + } + } //施工计划完成时间 //施工实际完成实际//验收状态//计划验收时间//验收实际时间 Map ConstructionScheduleMap = new HashMap<>(); Map ShopStageInfoDOMap = new HashMap<>(); @@ -438,7 +480,6 @@ public class DecorationServiceImpl implements DecorationService { ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_12); ShopStageInfoDOMap.put(shopId, shopSubStageInfo); } - //战区经理 TODO for (ShopInfoDO shopInfoDO : shopInfoDOS) { fitmentCheckVO fitmentCheckVO = new fitmentCheckVO(); @@ -506,44 +547,25 @@ public class DecorationServiceImpl implements DecorationService { throw new ServiceException(ErrorCodeEnum.CHECK_ITEM); } //工程部验收签名 - ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO(); - shopAuditInfoDO.setAuditType(CommonConstants.FIVE); - shopAuditInfoDO.setShopId(request.getShopId()); - shopAuditInfoDO.setSubmittedUserId(minUser.getPartnerId()); - shopAuditInfoDO.setSubmittedUserName(minUser.getUsername()); - if (AuditResultTypeEnum.PASS.getCode().equals(request.getEngineeringResultType())) { - shopAuditInfoDO.setResultType(AuditResultTypeEnum.PASS.getCode()); - shopAuditInfoDO.setPassReason(request.getEngineeringComments()); - } else { - shopAuditInfoDO.setResultType(AuditResultTypeEnum.REJECT.getCode()); - shopAuditInfoDO.setPassReason(request.getEngineeringComments()); - } - shopAuditInfoDO.setCreateTime(new Date()); - shopAuditInfoDAO.addAuditInfo(shopAuditInfoDO); + JSONObject engineering = new JSONObject(); + engineering.put("pic", request.getEngineeringAcceptance().getAcceptanceSignatures()); + engineering.put("acceptanceTime", new Date()); + engineering.put("result", request.getEngineeringAcceptance().getResultType()); + engineering.put("remark", request.getEngineeringAcceptance().getComments()); + engineering.put("status", 1); //加盟商 - ShopAuditInfoDO shopAuditInfoDO1 = new ShopAuditInfoDO(); - shopAuditInfoDO1.setAuditType(CommonConstants.FIVE); - shopAuditInfoDO1.setShopId(request.getShopId()); - shopAuditInfoDO1.setSubmittedUserId(minUser.getPartnerId()); - shopAuditInfoDO1.setSubmittedUserName(minUser.getUsername()); - if (AuditResultTypeEnum.PASS.getCode().equals(request.getPartnerResultType())) { - shopAuditInfoDO1.setResultType(AuditResultTypeEnum.PASS.getCode()); - shopAuditInfoDO1.setPassReason(request.getPartnerComments()); - } else { - shopAuditInfoDO1.setResultType(AuditResultTypeEnum.REJECT.getCode()); - shopAuditInfoDO1.setPassReason(request.getPartnerComments()); - } - shopAuditInfoDO1.setCreateTime(new Date()); - shopAuditInfoDAO.addAuditInfo(shopAuditInfoDO1); + JSONObject partner = new JSONObject(); + partner.put("pic", request.getPartnerAcceptance().getAcceptanceSignatures()); + partner.put("acceptanceTime", new Date()); + partner.put("result", request.getPartnerAcceptance().getResultType()); + partner.put("remark", request.getPartnerAcceptance().getComments()); + partner.put("status", 1); AcceptanceInfoDO acceptanceInfoDO = new AcceptanceInfoDO(); acceptanceInfoDO.setShopId(request.getShopId()); - acceptanceInfoDO.setPartnerAcceptanceSignatures(request.getPartnerAcceptanceSignatures()); - acceptanceInfoDO.setEngineeringAcceptanceSignatures(request.getEngineeringAcceptanceSignatures()); + acceptanceInfoDO.setPartnerAcceptanceSignatures(partner.toString()); + acceptanceInfoDO.setEngineeringAcceptanceSignatures(engineering.toString()); acceptanceInfoDO.setUpdateTime(new Date()); acceptanceInfoDAO.updateAcceptanceInfo(acceptanceInfoDO); - - List assessmentDataDOS = new ArrayList<>(); - BeanUtil.copyProperties(request, assessmentDataDOS); //更新阶段状态验收中 shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_122); return Boolean.TRUE; @@ -552,41 +574,39 @@ public class DecorationServiceImpl implements DecorationService { throw new ServiceException(ErrorCodeEnum.THREE_ACCEPTANCE); } } else { - //运营部验收签名 + //营运部验收签名 try { - ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO(); - shopAuditInfoDO.setAuditType(CommonConstants.FIVE); - shopAuditInfoDO.setShopId(request.getShopId()); - shopAuditInfoDO.setSubmittedUserId(pcUser.getUserId()); - shopAuditInfoDO.setSubmittedUserName(pcUser.getName()); - if (AuditResultTypeEnum.PASS.getCode().equals(request.getOperationsResultType())) { - shopAuditInfoDO.setResultType(AuditResultTypeEnum.PASS.getCode()); - } else { - shopAuditInfoDO.setResultType(AuditResultTypeEnum.REJECT.getCode()); - } - shopAuditInfoDO.setPassReason(request.getOperationsComments()); - shopAuditInfoDO.setCreateTime(new Date()); - shopAuditInfoDAO.addAuditInfo(shopAuditInfoDO); - if (CommonConstants.ZERO==request.getOperationsResultType()) { - //更新阶段状态验收完毕 - shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_123); - preparationService.whetherToOpenForAcceptance(request.getShopId()); - } - else { - shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_120); - } + AcceptanceInfoDO acceptanceInfoDO1 = acceptanceInfoDAO.selectByShopId(request.getShopId()); + JSONObject engineering = JSONObject.parseObject(acceptanceInfoDO1.getEngineeringAcceptanceSignatures()); + JSONObject partner = JSONObject.parseObject(acceptanceInfoDO1.getPartnerAcceptanceSignatures()); + JSONObject operations = new JSONObject(); + operations.put("pic", request.getOperationsAcceptance().getAcceptanceSignatures()); + operations.put("acceptanceTime", new Date()); + operations.put("result", request.getOperationsAcceptance().getResultType()); + operations.put("remark", request.getOperationsAcceptance().getComments()); + operations.put("status", 1); AcceptanceInfoDO acceptanceInfoDO = new AcceptanceInfoDO(); acceptanceInfoDO.setShopId(request.getShopId()); - acceptanceInfoDO.setOperationsAcceptanceSignatures(request.getOperationsAcceptanceSignatures()); + acceptanceInfoDO.setOperationsAcceptanceSignatures(operations.toString()); acceptanceInfoDO.setUpdateTime(new Date()); acceptanceInfoDAO.updateAcceptanceInfo(acceptanceInfoDO); - }catch (Exception e) { + if (AuditResultTypeEnum.PASS.getCode() == operations.getInteger("result") + && AuditResultTypeEnum.PASS.getCode() == partner.getInteger("result") + && AuditResultTypeEnum.PASS.getCode() == engineering.getInteger("result")) { + //更新阶段状态验收完毕 + shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_123,null); + preparationService.whetherToOpenForAcceptance(request.getShopId()); + } else { + //未通过至为带预约 + shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_120, null); + } + } catch (Exception e) { log.error("PC提交三方验收失败"); throw new ServiceException(ErrorCodeEnum.THREE_ACCEPTANCE); } } - return null; + return Boolean.FALSE; } @Override diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java index 234b0b807..825696ac0 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java @@ -1,23 +1,17 @@ package com.cool.store.service.impl; -import cn.hutool.core.date.DateUtil; import com.cool.store.constants.CommonConstants; import com.cool.store.dao.*; import com.cool.store.entity.*; import com.cool.store.enums.AssessmentTemplateType; import com.cool.store.exception.ServiceException; -import com.cool.store.request.EmployeeTrainingCommitListRequest; -import com.cool.store.request.EmployeeTrainingDetailRequest; -import com.cool.store.request.EmployeeTrainingRequest; +import com.cool.store.request.*; import com.cool.store.service.EmployeeTrainingService; import com.cool.store.service.RegionService; import com.cool.store.service.SysRoleService; import com.cool.store.service.UserAuthMappingService; import com.cool.store.utils.poi.DateUtils; -import com.cool.store.vo.AssessmentTemplateDataVO; -import com.cool.store.vo.EmployeeTrainingDetailVO; -import com.cool.store.vo.EmployeeTrainingVO; -import com.cool.store.vo.EmployeeUserTrainingVO; +import com.cool.store.vo.*; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.collections4.CollectionUtils; @@ -27,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; /** * @author byd @@ -60,7 +55,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { private EnterpriseUserDAO enterpriseUserDAO; @Resource - private StoreDao storeDao; + private StoreDao storeDAO; @Resource private AssessmentTemplateDAO assessmentTemplateDAO; @@ -68,6 +63,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { @Resource private AssessmentDataDAO assessmentDataDAO; + @Override public PageInfo employeeTrainingList(String userId, EmployeeTrainingRequest request) { List authRegionIdList = new ArrayList<>(); @@ -76,8 +72,8 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { } PageHelper.startPage(request.getPageNum(), request.getPageSize()); List list = employeeTrainingDAO.employeeTrainingList(request.getKeyWord(), request.getRegionIdList(), authRegionIdList, request.getAssignFlag(), - DateUtil.format(new Date(request.getBeginTime()), DateUtils.YYYY_MM_DD_HH_MM_SS), - DateUtil.format(new Date(request.getEndTime()), DateUtils.YYYY_MM_DD_HH_MM_SS), null, + DateUtils.parseLongDateToStr(request.getBeginTime()), + DateUtils.parseLongDateToStr(request.getEndTime()), null, request.getTheoreticalExamStatus(), request.getPracticalExamStatus(), request.getAssessmentStatus()); list.forEach(item -> { @@ -103,7 +99,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { employeeTrainingVO.setTrainingStartTime(employeeTrainingDO.getTrainingStartTime()); employeeTrainingVO.setTrainingEndTime(employeeTrainingDO.getTrainingEndTime()); employeeTrainingVO.setTrainingStoreId(employeeTrainingDO.getTrainingStoreId()); - StoreDO storeDO = storeDao.getByStoreId(employeeTrainingDO.getTrainingStoreId()); + StoreDO storeDO = storeDAO.getByStoreId(employeeTrainingDO.getTrainingStoreId()); if (storeDO != null) { employeeTrainingVO.setTrainingStoreName(storeDO.getStoreName()); } @@ -162,6 +158,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { employeeTrainingDO.setEstimatedAssessmentTime(request.getEstimatedAssessmentTime()); employeeTrainingDO.setAssessmentNum(0); employeeTrainingDO.setAssessmentTotalNum(assessmentTemplateDOList.size()); + employeeTrainingDO.setAssessmentStatus(0); if (employeeTrainingDO.getId() == null) { employeeTrainingDO.setXfsgUserDetailId(tempUserDetailDO.getId()); employeeTrainingDO.setRegionId(tempUserDetailDO.getRegionId()); @@ -189,7 +186,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { List list = employeeTrainingDAO.trainingListByShopId(shopId, null, null); list.forEach(item -> { - StoreDO storeDO = storeDao.getByStoreId(item.getTrainingStoreId()); + StoreDO storeDO = storeDAO.getByStoreId(item.getTrainingStoreId()); if (storeDO != null) { item.setTrainingStoreName(storeDO.getStoreName()); } @@ -201,7 +198,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { public List trainerUserList(String userId, Integer status) { List list = employeeTrainingDAO.trainingListByShopId(null, userId, status); list.forEach(item -> { - StoreDO storeDO = storeDao.getByStoreId(item.getTrainingStoreId()); + StoreDO storeDO = storeDAO.getByStoreId(item.getTrainingStoreId()); if (storeDO != null) { item.setTrainingStoreName(storeDO.getStoreName()); } @@ -228,8 +225,9 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { employeeUserTrainingVO.setRoleId(tempUserDetailDO.getRoleId()); employeeUserTrainingVO.setIdCard(tempUserDetailDO.getIdCard()); List assessmentTemplateDOList = assessmentTemplateDAO.listByType(AssessmentTemplateType.TRAINER.getCode()); + List templateIdList = assessmentTemplateDOList.stream().map(AssessmentTemplateDO::getId).collect(Collectors.toList()); - List assessmentDataDOList = assessmentDataDAO.selectList(tempUserDetailDO.getShopId(), enterpriseUserDO.getUserId()); + List assessmentDataDOList = assessmentDataDAO.selectList(tempUserDetailDO.getShopId(), enterpriseUserDO.getUserId(), templateIdList); Map assessmentDataMap = new HashMap<>(); assessmentDataDOList.forEach(item -> { @@ -262,7 +260,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { @Transactional(rollbackFor = Exception.class) @Override public void trainerUserCommit(EmployeeTrainingCommitListRequest request) { - if(CollectionUtils.isEmpty(request.getList())){ + if (CollectionUtils.isEmpty(request.getList())) { return; } Long shopId = request.getList().get(0).getShopId(); @@ -273,7 +271,12 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { EnterpriseUserDO enterpriseUserDO = enterpriseUserDAO.getUserInfoByThirdOaUniqueFlag(tempUserDetailDO.getIdCard()); String userId = enterpriseUserDO.getUserId(); request.getList().forEach(item -> { - AssessmentDataDO assessmentDataDO = assessmentDataDAO.selectByTemplateId(item.getTemplateId(), item.getUserDetailId(), item.getShopId()); + AssessmentDataDO assessmentDataDO = null; + if (item.getId() != null) { + assessmentDataDO = assessmentDataDAO.selectByPrimaryKey(item.getId()); + } else { + assessmentDataDO = assessmentDataDAO.selectByTemplateId(item.getTemplateId(), item.getUserDetailId(), item.getShopId()); + } if (assessmentDataDO != null) { assessmentDataDO.setQualified(item.getQualified()); assessmentDataDAO.updateByPrimaryKeySelective(assessmentDataDO); @@ -288,6 +291,162 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { }); Integer num = assessmentDataDAO.selectCount(userId, shopId); employeeTrainingDO.setAssessmentNum(num); + if(num.equals(employeeTrainingDO.getAssessmentTotalNum())){ + employeeTrainingDO.setAssessmentStatus(1); + } + employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO); + } + + @Override + public PageInfo assessmentUserList(String userId, EmployeeAssessmentRequest request) { + + PageHelper.startPage(request.getPageNum(), request.getPageSize()); + List employeeTrainingVOList = employeeTrainingDAO.assessmentUserList(request.getName(), userId, request.getAssessmentStatus(), + DateUtils.parseLongDateToStr(request.getEstimatedAssessmentBeginTime()), + DateUtils.parseLongDateToStr(request.getEstimatedAssessmentEndTime()), + DateUtils.parseLongDateToStr(request.getActualAssessmentBeginTime()), + DateUtils.parseLongDateToStr(request.getActualAssessmentEndTime())); + if (CollectionUtils.isEmpty(employeeTrainingVOList)) { + return new PageInfo<>(employeeTrainingVOList); + } + List storeIdList = employeeTrainingVOList.stream().map(EmployeeTrainingVO::getTrainingStoreId).collect(Collectors.toList()); + List storeDOList = storeDAO.getEffectiveStoreByStoreIds(storeIdList); + Map storeNameMap = storeDOList.stream().collect(Collectors.toMap(StoreDO::getStoreId, StoreDO::getStoreName)); + employeeTrainingVOList.forEach(item -> { + item.setTrainingStoreName(storeNameMap.get(item.getTrainingStoreId())); + }); + return new PageInfo<>(employeeTrainingVOList); + } + + @Override + public AssessmentUserTrainingVO assessmentUserDetail(Long id) { + AssessmentUserTrainingVO assessmentUserTrainingVO = new AssessmentUserTrainingVO(); + TempUserDetailDO tempUserDetailDO = tempUserDetailDAO.selectById(id); + + EnterpriseUserDO enterpriseUserDO = enterpriseUserDAO.getUserInfoByThirdOaUniqueFlag(tempUserDetailDO.getIdCard()); + + EmployeeTrainingDO employeeTrainingDO = employeeTrainingDAO.selectByUserDetailId(id); + assessmentUserTrainingVO.setEmployeeTrainingId(employeeTrainingDO.getId()); + assessmentUserTrainingVO.setTrainingStoreId(employeeTrainingDO.getTrainingStoreId()); + StoreDO storeDO = storeDAO.getByStoreId(employeeTrainingDO.getTrainingStoreId()); + if (storeDO != null) { + assessmentUserTrainingVO.setTrainingStoreName(storeDO.getStoreName()); + } + assessmentUserTrainingVO.setPracticalAssessmentUserId(employeeTrainingDO.getPracticalAssessmentUserId()); + assessmentUserTrainingVO.setPracticalAssessmentUserName(enterpriseUserDAO.getUserName(employeeTrainingDO.getPracticalAssessmentUserId())); + assessmentUserTrainingVO.setMobile(tempUserDetailDO.getMobile()); + assessmentUserTrainingVO.setRoleId(tempUserDetailDO.getRoleId()); + assessmentUserTrainingVO.setIdCard(tempUserDetailDO.getIdCard()); + assessmentUserTrainingVO.setActualAssessmentTime(employeeTrainingDO.getActualAssessmentTime()); + assessmentUserTrainingVO.setEstimatedAssessmentTime(employeeTrainingDO.getEstimatedAssessmentTime()); + assessmentUserTrainingVO.setUsername(tempUserDetailDO.getUsername()); + assessmentUserTrainingVO.setAssessmentStatus(employeeTrainingDO.getAssessmentStatus()); + assessmentUserTrainingVO.setShopId(tempUserDetailDO.getShopId()); + assessmentUserTrainingVO.setTheoreticalExamStatus(employeeTrainingDO.getTheoreticalExamStatus()); + assessmentUserTrainingVO.setTheoreticalExamScore(employeeTrainingDO.getTheoreticalExamScore()); + assessmentUserTrainingVO.setPracticalExamScore(employeeTrainingDO.getPracticalExamScore()); + assessmentUserTrainingVO.setPracticalExamStatus(employeeTrainingDO.getPracticalExamStatus()); + ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfo(employeeTrainingDO.getShopId()); + if (shopInfoDO != null) { + assessmentUserTrainingVO.setShopName(shopInfoDO.getShopName()); + } + + List assessmentTemplateDOList = assessmentTemplateDAO.listByType(AssessmentTemplateType.STORE_MANAGER.getCode()); + + List templateIdList = assessmentTemplateDOList.stream().map(AssessmentTemplateDO::getId).collect(Collectors.toList()); + + List assessmentDataDOList = assessmentDataDAO.selectList(tempUserDetailDO.getShopId(), enterpriseUserDO.getUserId(), templateIdList); + + Map assessmentDataMap = new HashMap<>(); + assessmentDataDOList.forEach(item -> { + assessmentDataMap.put(item.getTemplateId() + CommonConstants.COLON + item.getAssessmentUserId(), item); + }); + List templateDataVOList = new ArrayList<>(); + assessmentTemplateDOList.forEach(item -> { + AssessmentTemplateDataVO assessmentTemplateDataVO = new AssessmentTemplateDataVO(); + AssessmentDataDO assessmentDataDO = assessmentDataMap.get(item.getId() + CommonConstants.COLON + enterpriseUserDO.getUserId()); + if (assessmentDataDO != null) { + assessmentTemplateDataVO.setGoalScore(assessmentDataDO.getScore()); + assessmentTemplateDataVO.setReason(assessmentDataDO.getReason()); + assessmentTemplateDataVO.setComments(assessmentDataDO.getComments()); + assessmentTemplateDataVO.setQualified(assessmentDataDO.getQualified()); + assessmentTemplateDataVO.setAssessmentDataId(assessmentDataDO.getId()); + } + assessmentTemplateDataVO.setScore(item.getScore()); + assessmentTemplateDataVO.setTemplateName(item.getTemplateName()); + assessmentTemplateDataVO.setTemplateRemarkList(Arrays.asList(item.getTemplateRemark().split(CommonConstants.COMMA))); + assessmentTemplateDataVO.setCategory(item.getCategory()); + assessmentTemplateDataVO.setId(item.getId()); + assessmentTemplateDataVO.setType(item.getType()); + assessmentTemplateDataVO.setCategory(item.getCategory()); + assessmentTemplateDataVO.setTemplateRequirements(item.getTemplateRequirements()); + templateDataVOList.add(assessmentTemplateDataVO); + }); + assessmentUserTrainingVO.setTemplateDataList(templateDataVOList); + return assessmentUserTrainingVO; + } + + @Override + public void turn(Long id, String userId, String turnUserId) { + TempUserDetailDO tempUserDetailDO = tempUserDetailDAO.selectById(id); + + EmployeeTrainingDO employeeTrainingDO = employeeTrainingDAO.selectByUserDetailId(id); + + employeeTrainingDO.setPracticalAssessmentUserId(turnUserId); + + employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO); + } + + @Override + public void assessmentUserCommit(EmployeeAssessmentCommitListRequest request) { + if (CollectionUtils.isEmpty(request.getList())) { + return; + } + EmployeeTrainingDO employeeTrainingDO = employeeTrainingDAO.selectById(request.getEmployeeTrainingId()); + TempUserDetailDO tempUserDetailDO = tempUserDetailDAO.selectById(employeeTrainingDO.getXfsgUserDetailId()); + + Boolean pass = true; + EnterpriseUserDO enterpriseUserDO = enterpriseUserDAO.getUserInfoByThirdOaUniqueFlag(tempUserDetailDO.getIdCard()); + String userId = enterpriseUserDO.getUserId(); + AtomicReference totalScore = new AtomicReference<>(0L); + request.getList().forEach(item -> { + AssessmentDataDO assessmentDataDO = null; + totalScore.set(totalScore.get() + item.getScore()); + if (item.getId() != null) { + assessmentDataDO = assessmentDataDAO.selectByPrimaryKey(item.getId()); + } else { + assessmentDataDO = assessmentDataDAO.selectByTemplateId(item.getTemplateId(), employeeTrainingDO.getXfsgUserDetailId().toString(), item.getShopId()); + } + if (assessmentDataDO != null) { + assessmentDataDO.setScore(item.getScore()); + assessmentDataDO.setComments(item.getComments()); + assessmentDataDAO.updateByPrimaryKeySelective(assessmentDataDO); + } else { + assessmentDataDO = new AssessmentDataDO(); + assessmentDataDO.setTemplateId(item.getTemplateId()); + assessmentDataDO.setShopId(item.getShopId()); + assessmentDataDO.setComments(item.getComments()); + assessmentDataDO.setScore(item.getScore()); + assessmentDataDO.setAssessmentUserId(employeeTrainingDO.getXfsgUserDetailId().toString()); + assessmentDataDAO.insertSelective(assessmentDataDO); + } + }); + + employeeTrainingDO.setPracticalAssessmentUserId(userId); + employeeTrainingDO.setPracticalExamScore(totalScore.get().intValue()); + if (totalScore.get().intValue() > CommonConstants.NINETY) { + employeeTrainingDO.setPracticalExamStatus(1); + } else { + employeeTrainingDO.setPracticalExamStatus(0); + } + employeeTrainingDO.setPracticalExamScore(totalScore.get().intValue()); + employeeTrainingDO.setActualAssessmentTime(new Date()); + if(employeeTrainingDO.getPracticalExamStatus() == 2 || employeeTrainingDO.getTheoreticalExamStatus() == 2){ + employeeTrainingDO.setAssessmentStatus(3); + } + if(employeeTrainingDO.getPracticalExamStatus() == 1 && employeeTrainingDO.getTheoreticalExamStatus() == 1){ + employeeTrainingDO.setAssessmentStatus(2); + } employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO); } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java index e275dbfe7..35b93a5b4 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java @@ -124,7 +124,7 @@ public class OpeningOperationPlanImpl implements OpeningOperationPlanService { openingOperationPlanVO.setSubmittedUserName(username.getName()); openingOperationPlanVO.setPreparationUsers(nameByUserId); ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); - openingOperationPlanVO.setName(shopInfo.getShopName()); + openingOperationPlanVO.setShopName(shopInfo.getShopName()); return openingOperationPlanVO; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java index 79d83d5d3..7c83a4fb5 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PreparationServiceImpl.java @@ -191,7 +191,7 @@ public class PreparationServiceImpl implements PreparationService { AcceptanceInfoDO acceptanceInfoDO = new AcceptanceInfoDO(); acceptanceInfoDO.setShopId(shopId); acceptanceInfoDO.setCreateTime(new Date()); - acceptanceInfoDAO.insertAcceptanceInfo(acceptanceInfoDO); + acceptanceInfoDAO.insertSelectiveAcceptanceInfo(acceptanceInfoDO); ShopStageInfoDO data3 = shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_14.getShopSubStage()); data3.setShopSubStageStatus(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_140.getShopSubStageStatus()); list.add(data3); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java index b284e3bde..a3ba15135 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java @@ -420,13 +420,13 @@ public class SysStoreAppServiceImpl implements SysStoreAppService,AuditResultSer shopAuditInfoDO.setResultType(Constants.ZERO_INTEGER); shopAuditInfoDO.setPassReason(request.getCause()); shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_33; + //校验建店与加盟签约合同是否完成 并初始化后续流程数据 + preparationService.contractAndBuildStoreCompletion(shopId); } shopAuditInfoMapper.insertSelective(shopAuditInfoDO); }catch (Exception e){ throw new ServiceException(ErrorCodeEnum.UNKNOWN); }finally { - //2.校验建店与加盟签约合同是否完成 并初始化后续流程数据 - preparationService.contractAndBuildStoreCompletion(shopId); //更新门店编码 ShopInfoDO shopInfoDO = new ShopInfoDO(); shopInfoDO.setId(shopId); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java index 6d3f77d51..f0ec22dff 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java @@ -98,9 +98,9 @@ public class TempUserDetailServiceImpl implements TempUserDetailService { if(shopInfoDO == null){ throw new ServiceException("该店铺不存在"); } - if(StringUtil.isNotBlank(shopInfoDO.getStoreNum())){ - throw new ServiceException("系统建店已完成,无法手动登记"); - } +// if(StringUtil.isNotBlank(shopInfoDO.getStoreNum())){ +// throw new ServiceException("系统建店已完成,无法手动登记"); +// } tempUserDetailDO = new TempUserDetailDO(); tempUserDetailDO.setLineId(shopInfoDO.getLineId()); tempUserDetailDO.setShopId(tempUserDetailRequest.getShopId()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/DateUtils.java b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/DateUtils.java index 704be6ea3..dbd836155 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/DateUtils.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/DateUtils.java @@ -17,8 +17,7 @@ import java.util.Date; * * @author fanlyun */ -public class DateUtils extends org.apache.commons.lang3.time.DateUtils -{ +public class DateUtils extends org.apache.commons.lang3.time.DateUtils { public static String YYYY = "yyyy"; public static String YYYY_MM = "yyyy-MM"; @@ -47,8 +46,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils * * @return Date() 当前日期 */ - public static Date getNowDate() - { + public static Date getNowDate() { return new Date(); } @@ -57,56 +55,48 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils * * @return String */ - public static String getDate() - { + public static String getDate() { return dateTimeNow(YYYY_MM_DD); } - public static String getTime() - { + public static String getTime() { return dateTimeNow(YYYY_MM_DD_HH_MM_SS); } - public static String dateTimeNow() - { + public static String dateTimeNow() { return dateTimeNow(YYYYMMDDHHMMSS); } - public static String dateTimeNow(final String format) - { + public static String dateTimeNow(final String format) { return parseDateToStr(format, new Date()); } - public static String dateTime(final Date date) - { + public static String dateTime(final Date date) { return parseDateToStr(YYYY_MM_DD, date); } /** * 格式化日期 + * * @param format 格式化规则 - * @param date 日期 + * @param date 日期 * @return 格式化完毕的日期 */ - public static String parseDateToStr(final String format, final Date date) - { + public static String parseDateToStr(final String format, final Date date) { return new SimpleDateFormat(format).format(date); } /** * 以规则解析时间字符串 + * * @param format 格式化规则 - * @param ts 时间字符串 + * @param ts 时间字符串 * @return 解析后时间 */ - public static Date dateTime(final String format, final String ts) - { - try - { + public static Date dateTime(final String format, final String ts) { + try { return new SimpleDateFormat(format).parse(ts); - } - catch (ParseException e) - { + } catch (ParseException e) { throw new RuntimeException(e); } } @@ -114,8 +104,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils /** * 日期路径 即年/月/日 如2018/08/08 */ - public static String datePath() - { + public static String datePath() { Date now = new Date(); return DateFormatUtils.format(now, "yyyy/MM/dd"); } @@ -123,8 +112,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils /** * 日期路径 即年/月/日 如20180808 */ - public static String dateTime() - { + public static String dateTime() { Date now = new Date(); return DateFormatUtils.format(now, "yyyyMMdd"); } @@ -132,18 +120,13 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils /** * 日期型字符串转化为日期 格式 */ - public static Date parseDate(Object str) - { - if (str == null) - { + public static Date parseDate(Object str) { + if (str == null) { return null; } - try - { + try { return parseDate(str.toString(), parsePatterns); - } - catch (ParseException e) - { + } catch (ParseException e) { return null; } } @@ -151,8 +134,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils /** * 获取服务器启动时间 */ - public static Date getServerStartDate() - { + public static Date getServerStartDate() { long time = ManagementFactory.getRuntimeMXBean().getStartTime(); return new Date(time); } @@ -160,8 +142,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils /** * 计算两个时间差 */ - public static String getDatePoor(Date endDate, Date nowDate) - { + public static String getDatePoor(Date endDate, Date nowDate) { long nd = 1000 * 24 * 60 * 60; long nh = 1000 * 60 * 60; long nm = 1000 * 60; @@ -181,6 +162,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils /** * 以规则解析时间字符串 + * * @param strDate 时间字符串 * @param pattern 格式化规则 * @return 解析后时间 @@ -193,6 +175,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils /** * 根据毫秒数获取时间 + * * @param millis 毫秒数 * @return 时间 */ @@ -201,16 +184,16 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils SimpleDateFormat simpleDateFormat = new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS); Date date = new Date(); date.setTime(millis); - return simpleDateFormat.format(date); + return simpleDateFormat.format(date); } - public static String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm"; public static String NOTICE_DATE = "yyyy年MM月dd日 HH:mm"; /** * 返回11个月之前的月,从月的第一天开始,如当前是2020-05-03 返回的是2019-06-01 00:00:00 + * * @return Date */ public static Date getNestOneYear() { @@ -220,6 +203,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils /** * 从1.8新增的{@link LocalDate}转换为{@link Date} + * * @param localDate {@link LocalDate} * @return 时间 */ @@ -229,4 +213,10 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils return Date.from(instant); } + public static String parseLongDateToStr(final Long time) { + if (time == null) { + return null; + } + return new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(new Date(time)); + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java index 83a6bf87b..722998776 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java @@ -178,6 +178,8 @@ public class Constants public static final String FRANCHISE_AGREEMENT_PERSON = "/api/coolstore/start-flow/franchise-agreement-person"; + public static final String GET_STORE_INFO_BY_CODE = "/api/kdz/get-store-info-by-code"; + // 员工详细信息数据接口 public static final String GET_USER_INFO_BY_CODE = "/api/kdz/get-user-info-by-code"; // 加盟商信息数据接口 diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java index 45fb89c6a..3e2d81c87 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java @@ -1,11 +1,10 @@ package com.cool.store.controller.webb; import com.cool.store.context.CurrentUserHolder; -import com.cool.store.request.EmployeeTrainingCommitListRequest; -import com.cool.store.request.EmployeeTrainingDetailRequest; -import com.cool.store.request.EmployeeTrainingRequest; +import com.cool.store.request.*; import com.cool.store.response.ResponseResult; import com.cool.store.service.EmployeeTrainingService; +import com.cool.store.vo.AssessmentUserTrainingVO; import com.cool.store.vo.EmployeeTrainingDetailVO; import com.cool.store.vo.EmployeeTrainingVO; import com.cool.store.vo.EmployeeUserTrainingVO; @@ -81,6 +80,39 @@ public class EmployeeTrainingController { @ApiOperation("培训-教练员-提交培训") @PostMapping("/trainerUserCommit") public ResponseResult trainerUserCommit(@RequestBody EmployeeTrainingCommitListRequest request) { + employeeTrainingService.trainerUserCommit(request); return ResponseResult.success(Boolean.TRUE); } + + + @ApiOperation("培训-战区经理-考核员工列表") + @PostMapping("/assessmentUserList") + public ResponseResult> assessmentUserList(@RequestBody EmployeeAssessmentRequest request) { + return ResponseResult.success(employeeTrainingService.assessmentUserList(CurrentUserHolder.getUserId(), request)); + } + + @ApiOperation("培训-战区经理-员工考核详情") + @PostMapping("/assessmentUserDetail") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "员工id", required = true) + }) + public ResponseResult assessmentUserDetail(Long id) { + return ResponseResult.success(employeeTrainingService.assessmentUserDetail(id)); + } + + @ApiOperation("培训-实训考核-转交") + @PostMapping("/turn") + public ResponseResult turn(@RequestBody EmployeeAssessmentTurnRequest request) { + employeeTrainingService.turn(request.getId(), CurrentUserHolder.getUserId(), request.getTurnUserId()); + return ResponseResult.success(Boolean.TRUE); + } + + @ApiOperation("培训-实训考核-提交考核结果") + @PostMapping("/assessmentUserCommit") + public ResponseResult assessmentUserCommit(@RequestBody EmployeeAssessmentCommitListRequest request) { + employeeTrainingService.assessmentUserCommit(request); + return ResponseResult.success(Boolean.TRUE); + } + + } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java index de185d5ed..e06db86a1 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCApplyLicenseController.java @@ -6,6 +6,7 @@ import com.cool.store.response.LicenseListResponse; import com.cool.store.response.ResponseResult; import com.cool.store.response.SubmitLicenseResponse; import com.cool.store.service.ApplyLicenseService; +import com.cool.store.service.CoolStoreStartFlowService; import com.cool.store.vo.OpenAcceptanceInfoListVO; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; @@ -51,5 +52,4 @@ public class PCApplyLicenseController { @RequestParam("result") String result) { return ResponseResult.success(applyLicenseService.licenseExamine(shopId,status,result)); } - } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ApplyLicenseController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ApplyLicenseController.java index 4da50bf71..8736bcac6 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ApplyLicenseController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ApplyLicenseController.java @@ -3,6 +3,7 @@ package com.cool.store.controller.webc; import com.cool.store.request.SubmitLicenseRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.ApplyLicenseService; +import com.cool.store.service.CoolStoreStartFlowService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -38,7 +39,7 @@ public class ApplyLicenseController { /** * - * @param id + * @param * @param status 0通过 1不通过 * @return */ @@ -49,5 +50,4 @@ public class ApplyLicenseController { @RequestParam("result") String result) { return ResponseResult.success(applyLicenseService.licenseExamine(shopId,status,result)); } - } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java index c71676ffb..86d15d0fb 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java @@ -4,6 +4,7 @@ import com.cool.store.context.PartnerUserHolder; import com.cool.store.dto.decoration.ConstructionScheduleDTO; import com.cool.store.dto.decoration.DecorationModelDTO; import com.cool.store.request.LinePaySubmitRequest; +import com.cool.store.request.ThreeAcceptanceCheckRequest; import com.cool.store.request.ThreeAcceptanceRequest; import com.cool.store.response.FitmentResponse; import com.cool.store.response.ResponseResult; @@ -80,6 +81,11 @@ public class MiniDecorationController { public ResponseResult> getChecks(@RequestParam Integer type){ return ResponseResult.success(assessmentTemplateService.listByType(type)); } + @ApiOperation("提交三方验收检查项") + @PostMapping("/submitThreeChecks") + public ResponseResult submitThreeChecks(@RequestBody ThreeAcceptanceCheckRequest request){ + return ResponseResult.success(decorationService.submitThreeCheck(request)); + } @ApiOperation("提交三方验收") @PostMapping("/submitThreeAcceptance") public ResponseResult submitThreeAcceptance(@RequestBody ThreeAcceptanceRequest request){