server/src/main/java/doumeemes/api/business/UnqualifiedRecordController.java
ÎļþÒÑɾ³ý server/src/main/java/doumeemes/api/ext/StatisticsController.java
@@ -38,6 +38,7 @@ public ApiResponse<StatisticsPlanDataModel> getPlansData(@PathVariable Integer companyId, @PathVariable Integer departId) { return ApiResponse.success(statisticsService.getPlansData(companyId,departId)); } @ApiOperation("æ°æ®ç»è®¡-å·¥åºè®¡åï¼æ§è¡ä¸ãå»¶æè®¡åæ°ã仿¥ç产人æ°ã仿¥çäº§è®¾å¤æ°ã仿¥ä¸è¯å") @GetMapping("/getProcedurePlanData/{companyId}/{departId}") public ApiResponse<StatisticsPlanDataModel> getProcedurePlanData(@PathVariable Integer companyId, @PathVariable Integer departId,@RequestParam(required = false) Integer procedureId) { server/src/main/java/doumeemes/api/ext/UnqualifiedRecordExtController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,53 @@ package doumeemes.api.ext; import doumeemes.api.BaseController; import doumeemes.core.annotation.excel.ExcelExporter; import doumeemes.core.model.ApiResponse; import doumeemes.core.model.PageData; import doumeemes.core.model.PageWrap; import doumeemes.core.utils.DateUtil; import doumeemes.dao.business.model.UnqualifiedRecord; import doumeemes.dao.business.vo.WorkPlansVO; import doumeemes.dao.ext.dto.QueryUnQualifiedRecordDTO; import doumeemes.dao.ext.dto.QueryWorkPlansDTO; import doumeemes.service.business.UnqualifiedRecordService; import doumeemes.service.business.UserDeviceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; 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.servlet.http.HttpServletResponse; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2023/8/22 13:56 */ @RestController @RequestMapping("/ext/unqualifiedRecord") @Api(tags = "å·¥åç±»-æ¥å·¥ä¸è¯è®°å½ç±»å表") public class UnqualifiedRecordExtController extends BaseController { @Autowired private UnqualifiedRecordService unqualifiedRecordService; @ApiOperation("å页æ¥è¯¢") @PostMapping("/page") public ApiResponse<PageData<UnqualifiedRecord>> findJoinPage (@RequestBody PageWrap<QueryUnQualifiedRecordDTO> pageWrap) { return ApiResponse.success(unqualifiedRecordService.findJoinPage(pageWrap)); } @ApiOperation("导åºExcel") @PostMapping("/exportExcel") public void exportExcel (@RequestBody PageWrap<QueryUnQualifiedRecordDTO> pageWrap, HttpServletResponse response) throws Exception{ ExcelExporter.build(UnqualifiedRecord.class).export(unqualifiedRecordService.findJoinPage(pageWrap).getRecords(), "ä¸è¯äº§åºæç»è®°å½"+ DateUtil.getNowLongTime(), response); } } server/src/main/java/doumeemes/dao/business/model/UnqualifiedRecord.java
@@ -1,5 +1,6 @@ package doumeemes.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import doumeemes.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -23,28 +24,23 @@ @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主é®", example = "1") @ExcelColumn(name="主é®") private Integer id; @ApiModelProperty(value = "æ¯å¦å·²å é¤ 0æªå é¤ 1å·²å é¤", example = "1") @ExcelColumn(name="æ¯å¦å·²å é¤ 0æªå é¤ 1å·²å é¤") private Integer deleted; @ApiModelProperty(value = "å建人ç¼ç ", example = "1") @ExcelColumn(name="å建人ç¼ç ") private Integer createUser; @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") @ExcelColumn(name="å建æ¶é´",index = 7,width =15) @JsonFormat(pattern = "yyyy-MM-dd") private Date createTime; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @ExcelColumn(name="æ´æ°äººç¼ç ") private Integer updateUser; @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date updateTime; @@ -53,27 +49,51 @@ private String remark; @ApiModelProperty(value = "主ç»ç»ç¼ç ï¼å ³èdepartmentè¡¨æ ¹ç»ç»ï¼", example = "1") @ExcelColumn(name="主ç»ç»ç¼ç ï¼å ³èdepartmentè¡¨æ ¹ç»ç»ï¼") private Integer rootDepartId; @ApiModelProperty(value = "å ¬å¸çº§ç»ç»ç¼ç ï¼å ³èdepartment表ï¼", example = "1") @ExcelColumn(name="å ¬å¸çº§ç»ç»ç¼ç ï¼å ³èdepartment表ï¼") private Integer departId; @ApiModelProperty(value = "å·¥å主é®", example = "1") @ExcelColumn(name="å·¥å主é®") private Integer workorderId; @ApiModelProperty(value = "产åºè®°å½ä¸»é®", example = "1") @ExcelColumn(name="产åºè®°å½ä¸»é®") private Integer recordId; @ApiModelProperty(value = "ç±»å«ä¸»é®", example = "1") @ExcelColumn(name="ç±»å«ä¸»é®") private Integer categoryId; @ApiModelProperty(value = "æ£éªä¸åæ ¼æ°é", example = "1") @ExcelColumn(name="æ£éªä¸åæ ¼æ°é") @ExcelColumn(name="æ°é",index = 6,width =15) private BigDecimal unqualifiedNum; @ApiModelProperty(value = "å·¥åç¼ç ", example = "1") @ExcelColumn(name="å·¥åç¼ç ",index = 1,width =15) @TableField(exist = false) private String workOrderCode; @ApiModelProperty(value = "ç©æåç§°", example = "1") @ExcelColumn(name="ç©æåç§°",index = 2,width =15) @TableField(exist = false) private String materialName; @ApiModelProperty(value = "ç©æç¼ç ", example = "1") @ExcelColumn(name="ç©æç¼ç ",index = 3,width =15) @TableField(exist = false) private String materialCode; @ApiModelProperty(value = "å·¥åº", example = "1") @ExcelColumn(name="å·¥åº",index = 4,width =15) @TableField(exist = false) private String proceduresName; @ApiModelProperty(value = "ä¸è¯é¡¹", example = "1") @ExcelColumn(name="ä¸è¯é¡¹",index = 5,width =15) @TableField(exist = false) private String categoryName; @ApiModelProperty(value = "å建人", example = "1") @ExcelColumn(name="å建人",index = 8,width =15) @TableField(exist = false) private String createUserName; } server/src/main/java/doumeemes/dao/ext/dto/QueryUnQualifiedRecordDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package doumeemes.dao.ext.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2023/8/22 14:02 */ @Data public class QueryUnQualifiedRecordDTO { @ApiModelProperty("å·¥åç¼ç ") private String code; @ApiModelProperty("ä¸è¯é¡¹ä¸»é®") private Integer categoryId; } server/src/main/java/doumeemes/dao/ext/join/UnQualifiedRecordJoinMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ package doumeemes.dao.ext.join; import com.github.yulichang.base.mapper.MPJJoinMapper; import doumeemes.dao.business.model.UnqualifiedRecord; import doumeemes.dao.system.model.SystemLoginLog; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2023/8/22 13:55 */ public interface UnQualifiedRecordJoinMapper extends MPJJoinMapper<UnqualifiedRecord> { } server/src/main/java/doumeemes/service/business/UnqualifiedRecordService.java
@@ -3,6 +3,8 @@ import doumeemes.core.model.PageData; import doumeemes.core.model.PageWrap; import doumeemes.dao.business.model.UnqualifiedRecord; import doumeemes.dao.ext.dto.QueryUnQualifiedRecordDTO; import java.util.List; /** @@ -94,4 +96,7 @@ * @return long */ long count(UnqualifiedRecord unqualifiedRecord); PageData<UnqualifiedRecord> findJoinPage(PageWrap<QueryUnQualifiedRecordDTO> pageWrap); } server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java
@@ -1,20 +1,33 @@ package doumeemes.service.business.impl; import com.github.yulichang.wrapper.MPJLambdaWrapper; import doumeemes.core.constants.ResponseStatus; import doumeemes.core.exception.BusinessException; import doumeemes.core.model.LoginUserInfo; import doumeemes.core.model.PageData; import doumeemes.core.model.PageWrap; import doumeemes.core.utils.Constants; import doumeemes.core.utils.Utils; import doumeemes.dao.business.UnqualifiedRecordMapper; import doumeemes.dao.business.model.UnqualifiedRecord; import doumeemes.dao.business.model.*; import doumeemes.dao.ext.dto.QueryUnQualifiedRecordDTO; import doumeemes.dao.system.dto.QuerySystemLoginLogDTO; import doumeemes.dao.ext.join.UnQualifiedRecordJoinMapper; import doumeemes.dao.system.model.SystemLoginLog; import doumeemes.dao.system.model.SystemUser; import doumeemes.service.business.UnqualifiedRecordService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Objects; /** * å·¥åç±»-æ¥å·¥ä¸è¯è®°å½ç±»å表Serviceå®ç° @@ -26,6 +39,10 @@ @Autowired private UnqualifiedRecordMapper unqualifiedRecordMapper; @Autowired private UnQualifiedRecordJoinMapper unQualifiedRecordJoinMapper; @Override public Integer create(UnqualifiedRecord unqualifiedRecord) { @@ -121,4 +138,46 @@ QueryWrapper<UnqualifiedRecord> wrapper = new QueryWrapper<>(unqualifiedRecord); return unqualifiedRecordMapper.selectCount(wrapper); } @Override public PageData<UnqualifiedRecord> findJoinPage(PageWrap<QueryUnQualifiedRecordDTO> pageWrap) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对ä¸èµ·ï¼æ¨æ æéè¿è¡è¯¥æä½ï¼"); } IPage<UnqualifiedRecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<UnqualifiedRecord> mpjLambdaWrapper = new MPJLambdaWrapper<>(); mpjLambdaWrapper.selectAll(UnqualifiedRecord.class); mpjLambdaWrapper.selectAs(Workorder::getCode, UnqualifiedRecord::getWorkOrderCode); mpjLambdaWrapper.selectAs(Material::getCode, UnqualifiedRecord::getMaterialName); mpjLambdaWrapper.selectAs(Workorder::getCode, UnqualifiedRecord::getMaterialCode); mpjLambdaWrapper.selectAs(Procedures::getName, UnqualifiedRecord::getProceduresName); mpjLambdaWrapper.selectAs(Category::getName, UnqualifiedRecord::getCategoryName); mpjLambdaWrapper.selectAs(SystemUser::getRealname, UnqualifiedRecord::getCreateUserName); mpjLambdaWrapper.leftJoin(Workorder.class,Workorder::getId,UnqualifiedRecord::getWorkorderId); mpjLambdaWrapper.leftJoin(MaterialDistribute.class,MaterialDistribute::getId,Workorder::getMaterialId); mpjLambdaWrapper.leftJoin(Material.class,Material::getId,MaterialDistribute::getMaterialId); mpjLambdaWrapper.leftJoin(Procedures.class,Procedures::getId,Workorder::getProcedureId); mpjLambdaWrapper.leftJoin(Category.class,Category::getId,UnqualifiedRecord::getCategoryId); mpjLambdaWrapper.leftJoin(SystemUser.class,SystemUser::getId,UnqualifiedRecord::getCreateUser); //åªè½æ¥çå½åæ ¹ç»ç»çæ°æ® mpjLambdaWrapper.eq(Workorder::getRootDepartId,user.getRootDepartment().getId()); //妿å½åéæ©çå ¬å¸çº§ç»ç»éæ ¹ç»ç»ä¿¡æ¯ï¼åªè½æ¥çå½åéæ©å ¬å¸çº§ç»ç»æ°æ® mpjLambdaWrapper.eq(Workorder::getDepartId,user.getCurComDepartment().getId()); mpjLambdaWrapper.eq(UnqualifiedRecord::getDeleted,Constants.ZERO); // ä¸è¯åç±»åç±» if ( pageWrap.getModel().getCategoryId() !=null) { mpjLambdaWrapper.eq(UnqualifiedRecord::getCategoryId, pageWrap.getModel().getCategoryId()); } // å·¥åç¼ç if (StringUtils.isNotBlank(pageWrap.getModel().getCode())) { mpjLambdaWrapper.like(Workorder::getCode, pageWrap.getModel().getCode()); } return PageData.from(unQualifiedRecordJoinMapper.selectJoinPage(page, UnqualifiedRecord.class,mpjLambdaWrapper)); } } server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java
@@ -127,7 +127,7 @@ if(user.getProcedureIds()!=null){ pageWrap.setProcedureIds(user.getProcedureIds()); }else{ pageWrap.setUserId(user.getId()); pageWrap.setCreateUser(user.getId()); } List<PlansExtListVO> result = plansExtMapper.selectList(pageWrap); if(result==null||result.size()==0){ @@ -190,12 +190,6 @@ pageWrap.getModel().setCreateUser(user.getId()); //å¦åèµ°æ°æ®æé pageWrap.getModel().setDepartIds(dataPermission); /* if(dataPermission.size() == 0){ //åªè½çèªå·±ç pageWrap.getModel().setCreateUser(user.getId()); }else{ }*/ } if(user.getProcedureIds()!=null){ pageWrap.getModel().setProcedureIds(user.getProcedureIds()); server/src/main/java/doumeemes/service/ext/impl/ProceduresExtServiceImpl.java
server/src/main/resources/mappers/WorkorderExtMapper.xml