server/src/main/java/doumeemes/api/ext/DeviceExtController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/src/main/java/doumeemes/dao/ext/dto/DeviceImportDTO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/src/main/java/doumeemes/service/ext/DeviceExtService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/src/main/resources/mappers/WorkorderRecordExtMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
server/src/main/java/doumeemes/api/ext/DeviceExtController.java
@@ -17,15 +17,22 @@ import doumeemes.service.system.SystemDataPermissionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; /** @@ -40,7 +47,7 @@ @Autowired private DeviceExtService deviceExtService; @Autowired private DeviceService deviceService; @@ -223,4 +230,25 @@ return ApiResponse.success(list); } @ApiOperation(value = "æ¹éå¯¼å ¥è®¡å", notes = "æ¹éå¯¼å ¥è®¡å", httpMethod = "POST", position = 6) @ApiImplicitParams({ @ApiImplicitParam(name = "folder", value = "æä»¶å¤¹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class), }) @PostMapping(value = "/importBatch", headers = "content-type=multipart/form-data") // @RequiresPermissions("business:salaryparam:create") public ApiResponse importBatch(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception { CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver(); if (multipartResovler.isMultipart(request)) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Iterator<String> it = multipartRequest.getFileNames(); while (it.hasNext()) { MultipartFile file = multipartRequest.getFile((String) it.next()); deviceExtService.importPlans(file); break; } } return ApiResponse.success( null); } } server/src/main/java/doumeemes/dao/ext/dto/DeviceImportDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,50 @@ package doumeemes.dao.ext.dto; import cn.afterturn.easypoi.excel.annotation.Excel; import cn.afterturn.easypoi.excel.annotation.ExcelTarget; import io.swagger.annotations.ApiModel; import lombok.Data; import java.math.BigDecimal; /** * @author T14 */ @Data @ApiModel("设å¤å¯¼å ¥ä¿¡æ¯") @ExcelTarget("SalaryParamImportDTO") public class DeviceImportDTO { @Excel(name="设å¤ç¼ç ",orderNum ="1") private String deviceCode; @Excel(name="设å¤åç§°",orderNum ="2") private String deviceName; @Excel(name="设å¤åå·",orderNum ="3") private String model; @Excel(name="å·¥ååç§°",orderNum ="4") private String departName; @Excel(name="å·¥åºåç§°",orderNum ="5") private String procedureName; @Excel(name="设å¤ç±»å",orderNum ="6") private String type; @Excel(name="å¾ ç产货ä½",orderNum ="7") private String produceWarehouseLocationName; @Excel(name="å·²å®å·¥è´§ä½",orderNum ="8") private String finishWarehouseLocationName; @Excel(name="å ³èåå·¥",orderNum ="9") private String userIds; @Excel(name="å·¥ä½ç¼å·",orderNum ="10") private String stationCode; } server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java
@@ -117,7 +117,7 @@ // .set(SalaryParam::getDepartId,salaryParam.getDepartId()) // .set(SalaryParam::getMaterialId,salaryParam.getMaterialId()) // .set(SalaryParam::getProcedureId,salaryParam.getProcedureId()) .set(SalaryParam::getSalary,salaryParam.getSalary()) .set(SalaryParam::getSalary,salaryParam.getSalary().divide(new BigDecimal(100))) .set(SalaryParam::getNum,salaryParam.getNum()) .set(SalaryParam::getTimes,salaryParam.getTimes()) .set(SalaryParam::getUnqualified,salaryParam.getUnqualified()); @@ -156,7 +156,11 @@ public PageData<SalaryParamVO> findPage(PageWrap<SalaryParamDTO> pageWrap) { IPage<SalaryParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); SalaryParamDTO model = pageWrap.getModel(); return PageData.from(salaryParamMapper.selectPage(page, model)); IPage<SalaryParamVO> salaryParamVOIPage = salaryParamMapper.selectPage(page, model); if (!CollectionUtils.isEmpty(salaryParamVOIPage.getRecords())){ salaryParamVOIPage.getRecords().forEach(s->s.setSalary(s.getSalary().divide(new BigDecimal(100)))); } return PageData.from(salaryParamVOIPage); } @Override server/src/main/java/doumeemes/service/ext/DeviceExtService.java
@@ -4,6 +4,7 @@ import doumeemes.core.model.PageWrap; import doumeemes.dao.ext.vo.DeviceExtListVO; import doumeemes.dao.ext.dto.QueryDeviceExtDTO; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -28,4 +29,10 @@ List<DeviceExtListVO> getDeviceByCondition(QueryDeviceExtDTO queryDeviceExtDTO); /** * è·åæ¹éå¯¼å ¥è®¾å¤ä¿¡æ¯ * * @param file */ void importPlans(MultipartFile file); } server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java
@@ -6,17 +6,23 @@ import doumeemes.core.model.PageData; import doumeemes.core.model.PageWrap; import doumeemes.core.utils.Constants; import doumeemes.core.utils.excel.EasyExcelUtil; import doumeemes.dao.ext.dto.DeviceImportDTO; import doumeemes.dao.ext.dto.QueryDeviceExtDTO; import doumeemes.dao.ext.dto.QueryUserDeviceExtDTO; import doumeemes.dao.ext.dto.SalaryParamImportDTO; import doumeemes.dao.ext.vo.DeviceExtListVO; import doumeemes.service.ext.DeviceExtService; import doumeemes.dao.ext.DeviceExtMapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import doumeemes.service.ext.UserDeviceExtService; 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.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -84,4 +90,34 @@ List<DeviceExtListVO> result = deviceExtMapper.getListByCondition(dto); return result; } @Transactional(rollbackFor = {Exception.class,BusinessException.class}) @Override public void importPlans(MultipartFile file) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对ä¸èµ·ï¼æ¨æ æéè¿è¡è¯¥æä½ï¼"); } //è§£æexcel List<DeviceImportDTO> plansList = EasyExcelUtil.importExcel(file, 1, 1, DeviceImportDTO.class); if(plansList == null || plansList.size()==0){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "å¯¼å ¥æ°æ®å 容æè¯¯ï¼"); } plansList.forEach(s->{ if (StringUtils.isBlank(s.getDeviceName()) || s.getDeviceName().length() > 50 || StringUtils.isBlank(s.getDepartName()) || StringUtils.isBlank(s.getProcedureName()) || StringUtils.isBlank(s.getProduceWarehouseLocationName()) || StringUtils.isBlank(s.getFinishWarehouseLocationName())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"å¯¼å ¥æ°æ®å 容æè¯¯"); } }); } } server/src/main/resources/mappers/WorkorderRecordExtMapper.xml
@@ -481,7 +481,7 @@ <if test="startDate != null and startDate != ''"> AND `CREATE_TIME` >= concat(#{startDate},' 00:00:00') </if> <if test="endDate != null"> <if test="endDate != null and endDate != ''"> AND concat(#{endDate},' 23:59:59') >= `CREATE_TIME` </if> group by `CREATE_USER`