From c642e468df7f88cdd33d7b5417dd500ee3850813 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期一, 08 七月 2024 11:05:58 +0800 Subject: [PATCH] 调整标准加工时间和加工数量维护功能 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcStandardProcessDurationMapper.xml | 48 ++-- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcStandardProcessDurationServiceImpl.java | 168 +--------------- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcStandardProcessDurationService.java | 37 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcStandardProcessDurationController.java | 82 +++---- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcStandardProcessDurationMapper.java | 19 - lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml | 142 +++++++------ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java | 9 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcStandardProcessDuration.java | 49 ---- 8 files changed, 168 insertions(+), 386 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcStandardProcessDurationController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcStandardProcessDurationController.java index 84adfeb..b793d0d 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcStandardProcessDurationController.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcStandardProcessDurationController.java @@ -1,39 +1,33 @@ package org.jeecg.modules.mdc.controller; -import java.util.Arrays; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.mdc.entity.MdcStandardProcessDuration; +import org.jeecg.modules.mdc.service.IMdcStandardProcessDurationService; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.shiro.SecurityUtils; -import org.jeecg.common.api.vo.Result; -import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.common.aspect.annotation.AutoLog; - -import lombok.extern.slf4j.Slf4j; -import org.jeecg.common.system.vo.LoginUser; -import org.jeecg.modules.mdc.entity.MdcStandardProcessDuration; - - -import org.jeecg.modules.mdc.service.IMdcStandardProcessDurationService; -import org.springframework.web.bind.annotation.*; - -import org.springframework.web.servlet.ModelAndView; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import java.util.Arrays; /** - * @Description: 鏍囧噯鍔犲伐鏃堕棿琛� + * @Description: 鏍囧噯鍔犲伐鏃堕棿 * @Author: Lius - * @Date: 2023-07-17 + * @Date: 2024-07-08 * @Version: V1.0 */ @Slf4j -@Api(tags = "鏍囧噯鍔犲伐鏃堕棿琛�") +@Api(tags = "鏍囧噯鍔犲伐鏃堕棿") @RestController @RequestMapping("/mdc/mdcStandardProcessDuration") public class MdcStandardProcessDurationController extends JeecgController<MdcStandardProcessDuration, IMdcStandardProcessDurationService> { @@ -50,17 +44,16 @@ * @param req * @return */ - @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿琛�-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "鏍囧噯鍔犲伐鏃堕棿琛�-鍒嗛〉鍒楄〃鏌ヨ") + @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿-鍒嗛〉鍒楄〃鏌ヨ", notes = "鏍囧噯鍔犲伐鏃堕棿-鍒嗛〉鍒楄〃鏌ヨ") @GetMapping(value = "/list") public Result<?> queryPageList(MdcStandardProcessDuration mdcStandardProcessDuration, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String userId = user.getId(); + QueryWrapper<MdcStandardProcessDuration> queryWrapper = QueryGenerator.initQueryWrapper(mdcStandardProcessDuration, req.getParameterMap()); Page<MdcStandardProcessDuration> page = new Page<MdcStandardProcessDuration>(pageNo, pageSize); - IPage<MdcStandardProcessDuration> pageList = mdcStandardProcessDurationService.pageList(userId, page, mdcStandardProcessDuration, req); + IPage<MdcStandardProcessDuration> pageList = mdcStandardProcessDurationService.page(page, queryWrapper); return Result.OK(pageList); } @@ -70,15 +63,12 @@ * @param mdcStandardProcessDuration * @return */ - @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿琛�-娣诲姞") - @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿琛�-娣诲姞", notes = "鏍囧噯鍔犲伐鏃堕棿琛�-娣诲姞") + @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿-娣诲姞") + @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿-娣诲姞", notes = "鏍囧噯鍔犲伐鏃堕棿-娣诲姞") @PostMapping(value = "/add") public Result<?> add(@RequestBody MdcStandardProcessDuration mdcStandardProcessDuration) { - if (StringUtils.isBlank(mdcStandardProcessDuration.getEquipmentIds())) { - return Result.error("鏈�夋嫨璁惧锛岃鎺掓煡"); - } - boolean flag = mdcStandardProcessDurationService.addData(mdcStandardProcessDuration); - return flag ? Result.ok("娣诲姞鎴愬姛") : Result.error("娣诲姞澶辫触"); + mdcStandardProcessDurationService.save(mdcStandardProcessDuration); + return Result.OK("娣诲姞鎴愬姛锛�"); } /** @@ -87,8 +77,8 @@ * @param mdcStandardProcessDuration * @return */ - @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿琛�-缂栬緫") - @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿琛�-缂栬緫", notes = "鏍囧噯鍔犲伐鏃堕棿琛�-缂栬緫") + @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿-缂栬緫") + @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿-缂栬緫", notes = "鏍囧噯鍔犲伐鏃堕棿-缂栬緫") @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) public Result<?> edit(@RequestBody MdcStandardProcessDuration mdcStandardProcessDuration) { mdcStandardProcessDurationService.updateById(mdcStandardProcessDuration); @@ -101,8 +91,8 @@ * @param id * @return */ - @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿琛�-閫氳繃id鍒犻櫎") - @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿琛�-閫氳繃id鍒犻櫎", notes = "鏍囧噯鍔犲伐鏃堕棿琛�-閫氳繃id鍒犻櫎") + @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿-閫氳繃id鍒犻櫎") + @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿-閫氳繃id鍒犻櫎", notes = "鏍囧噯鍔犲伐鏃堕棿-閫氳繃id鍒犻櫎") @DeleteMapping(value = "/delete") public Result<?> delete(@RequestParam(name = "id", required = true) String id) { mdcStandardProcessDurationService.removeById(id); @@ -115,8 +105,8 @@ * @param ids * @return */ - @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿琛�-鎵归噺鍒犻櫎") - @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿琛�-鎵归噺鍒犻櫎", notes = "鏍囧噯鍔犲伐鏃堕棿琛�-鎵归噺鍒犻櫎") + @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿-鎵归噺鍒犻櫎") + @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿-鎵归噺鍒犻櫎", notes = "鏍囧噯鍔犲伐鏃堕棿-鎵归噺鍒犻櫎") @DeleteMapping(value = "/deleteBatch") public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { this.mdcStandardProcessDurationService.removeByIds(Arrays.asList(ids.split(","))); @@ -129,8 +119,8 @@ * @param id * @return */ - @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿琛�-閫氳繃id鏌ヨ") - @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿琛�-閫氳繃id鏌ヨ", notes = "鏍囧噯鍔犲伐鏃堕棿琛�-閫氳繃id鏌ヨ") + @AutoLog(value = "鏍囧噯鍔犲伐鏃堕棿-閫氳繃id鏌ヨ") + @ApiOperation(value = "鏍囧噯鍔犲伐鏃堕棿-閫氳繃id鏌ヨ", notes = "鏍囧噯鍔犲伐鏃堕棿-閫氳繃id鏌ヨ") @GetMapping(value = "/queryById") public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { MdcStandardProcessDuration mdcStandardProcessDuration = mdcStandardProcessDurationService.getById(id); @@ -145,9 +135,7 @@ */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, MdcStandardProcessDuration mdcStandardProcessDuration) { - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String userId = user.getId(); - return mdcStandardProcessDurationService.exportXls(userId, mdcStandardProcessDuration); + return super.exportXls(request, mdcStandardProcessDuration, MdcStandardProcessDuration.class, "鏍囧噯鍔犲伐鏃堕棿"); } /** diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcStandardProcessDuration.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcStandardProcessDuration.java index 8f5d307..305920b 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcStandardProcessDuration.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcStandardProcessDuration.java @@ -1,7 +1,6 @@ package org.jeecg.modules.mdc.entity; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -12,35 +11,22 @@ import org.jeecgframework.poi.excel.annotation.Excel; import java.io.Serializable; -import java.util.List; /** - * @Description: 鏍囧噯鍔犲伐鏃堕棿琛� + * @Description: 鏍囧噯鍔犲伐鏃堕棿 * @Author: Lius - * @Date: 2023-07-17 + * @Date: 2024-07-08 * @Version: V1.0 */ @Data @TableName("mdc_standard_process_duration") @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -@ApiModel(value = "mdc_standard_process_duration瀵硅薄", description = "鏍囧噯鍔犲伐鏃堕棿琛�") +@ApiModel(value = "mdc_standard_process_duration瀵硅薄", description = "鏍囧噯鍔犲伐鏃堕棿") public class MdcStandardProcessDuration extends JeecgEntity implements Serializable { - private static final long serialVersionUID = -4120597972937450875L; + private static final long serialVersionUID = -4064895242484730766L; - /** - * 璁惧缂栧彿 - */ - @Excel(name = "璁惧缂栧彿", width = 15) - @ApiModelProperty(value = "璁惧缂栧彿") - private String equipmentId; - /** - * 璁惧鍚嶇О - */ - @Excel(name = "璁惧鍚嶇О", width = 20) - @ApiModelProperty(value = "璁惧鍚嶇О") - private String equipmentName; /** * 闆朵欢鍙� */ @@ -62,35 +48,14 @@ /** * 鏃堕暱 */ - @Excel(name = "鏃堕暱", width = 15) - @ApiModelProperty(value = "鏃堕暱") + @Excel(name = "鏃堕暱(鍒嗛挓)", width = 15) + @ApiModelProperty(value = "鏃堕暱(鍒嗛挓)") private Integer duration; /** * 澶囨敞 */ - @Excel(name = "澶囨敞", width = 25) + @Excel(name = "澶囨敞", width = 15) @ApiModelProperty(value = "澶囨敞") private String remark; - - /** - * 鍓嶅彴浼犲叆 鍒ゆ柇姣忎釜id - */ - @TableField(exist = false) - private String parentId; - - /** - * 鍓嶅彴浼犲叆 杞﹂棿灞傜骇:1 閮ㄩ棬灞傜骇:2 - */ - @TableField(exist = false) - private String typeTree; - - /** - * 閮ㄩ棬parentId 鍏宠仈瀛愰泦id - */ - @TableField(exist = false) - private List<String> mdcSectionIds; - - @TableField(exist = false) - private String equipmentIds; } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcStandardProcessDurationMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcStandardProcessDurationMapper.java index c48000a..02a1b00 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcStandardProcessDurationMapper.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcStandardProcessDurationMapper.java @@ -2,26 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.mdc.dto.MdcProcessQuantityDto; import org.jeecg.modules.mdc.entity.MdcStandardProcessDuration; +import java.util.List; + /** - * @Description: 鏍囧噯鍔犲伐鏃堕棿琛� + * @Description: 鏍囧噯鍔犲伐鏃堕棿 * @Author: Lius - * @Date: 2023-07-17 + * @Date: 2024-07-08 * @Version: V1.0 */ public interface MdcStandardProcessDurationMapper extends BaseMapper<MdcStandardProcessDuration> { - /** - * 鍒嗛〉鏌ヨ - * - * @param page - * @param mdcStandardProcessDuration - * @return - */ - IPage<MdcStandardProcessDuration> pageList(Page<MdcStandardProcessDuration> page, @Param("mdcStandardProcessDuration") MdcStandardProcessDuration mdcStandardProcessDuration); - + List<MdcProcessQuantityDto> findByEquipmentId(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml index f484955..33b8dc0 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml @@ -5,124 +5,132 @@ <!--鍒嗛〉鏌ヨ--> <select id="pageList" resultType="org.jeecg.modules.mdc.dto.MdcProcessQuantityDto"> SELECT - mpq.id id, - mspd.equipment_id equipmentId, - mspd.equipment_name equipmentName, - mspd.parts_code partsCode, - mspd.batch_code batchCode, - mspd.sequence_number sequenceNumber, - mpq.standard_id standardId, - mpq.efficient_date efficientDate, - mpq.process_quantity processQuantity, - mspd.duration duration, - mpq.remark remark, - mpq.create_by createBy, - mpq.create_time createTime, - mpq.update_by updateBy, - mpq.update_time updateTime - FROM mdc_process_quantity mpq LEFT JOIN mdc_standard_process_duration mspd ON mpq.standard_id = mspd.id + t1.id id, + t1.equipment_id equipmentId, + t3.equipment_name equipmentName, + t2.parts_code partsCode, + t2.batch_code batchCode, + t2.sequence_number sequenceNumber, + t1.standard_id standardId, + t1.efficient_date efficientDate, + t1.process_quantity processQuantity, + t2.duration duration, + t1.remark remark, + t1.create_by createBy, + t1.create_time createTime, + t1.update_by updateBy, + t1.update_time updateTime + FROM + mdc_process_quantity t1 + LEFT JOIN mdc_standard_process_duration t2 ON t1.standard_id = t2.id + LEFT JOIN mdc_equipment t3 ON t1.equipment_id = t3.equipment_id <where> <if test="mdcProcessQuantity.equipmentId != null and mdcProcessQuantity.equipmentId != ''"> - AND mspd.equipment_id LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.equipmentId }),'%') + AND t1.equipment_id LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.equipmentId }),'%') </if> <if test="mdcProcessQuantity.equipmentName != null and mdcProcessQuantity.equipmentName != ''"> - AND mspd.equipment_name LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.equipmentName }),'%') + AND t3.equipment_name LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.equipmentName }),'%') </if> <if test="mdcProcessQuantity.partsCode != null and mdcProcessQuantity.partsCode != ''"> - AND mspd.parts_code LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.partsCode }),'%') + AND t2.parts_code LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.partsCode }),'%') </if> <if test="mdcProcessQuantity.batchCode != null and mdcProcessQuantity.batchCode != ''"> - AND mspd.batch_code LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.batchCode }),'%') + AND t2.batch_code LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.batchCode }),'%') </if> <if test="mdcProcessQuantity.sequenceNumber != null and mdcProcessQuantity.sequenceNumber != ''"> - AND mspd.sequence_number LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.sequenceNumber }),'%') + AND t2.sequence_number LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.sequenceNumber }),'%') </if> <if test="mdcProcessQuantity.startTime != null and mdcProcessQuantity.endTime != null"> - AND mpq.efficient_date BETWEEN #{ mdcProcessQuantity.startTime } AND #{ mdcProcessQuantity.endTime } + AND t1.efficient_date BETWEEN #{ mdcProcessQuantity.startTime } AND #{ mdcProcessQuantity.endTime } </if> <if test="mdcProcessQuantity.processQuantity != null and mdcProcessQuantity.processQuantity != ''"> - AND mpq.process_quantity = #{ mdcProcessQuantity.processQuantity } + AND t1.process_quantity = #{ mdcProcessQuantity.processQuantity } </if> <if test="mdcProcessQuantity.mdcSectionIds != null and mdcProcessQuantity.mdcSectionIds.size() > 0 "> - AND mspd.equipment_id IN + AND t1.equipment_id IN <foreach collection="mdcProcessQuantity.mdcSectionIds" item="id" index="index" open="(" close=")" separator=","> #{ id } </foreach> </if> </where> - ORDER BY mspd.equipment_name ASC, mpq.efficient_date DESC + ORDER BY t3.equipment_name ASC, t1.efficient_date DESC </select> <!--瀵煎嚭鏁版嵁鏌ヨ--> <select id="list" resultType="org.jeecg.modules.mdc.dto.MdcProcessQuantityDto"> SELECT - mpq.id id, - mspd.equipment_id equipmentId, - mspd.equipment_name equipmentName, - mspd.parts_code partsCode, - mspd.batch_code batchCode, - mspd.sequence_number sequenceNumber, - mpq.standard_id standardId, - mpq.efficient_date efficientDate, - mpq.process_quantity processQuantity, - mspd.duration duration, - mpq.remark remark, - mpq.create_by createBy, - mpq.create_time createTime, - mpq.update_by updateBy, - mpq.update_time updateTime - FROM mdc_process_quantity mpq LEFT JOIN mdc_standard_process_duration mspd ON mpq.standard_id = mspd.id + t1.id id, + t1.equipment_id equipmentId, + t3.equipment_name equipmentName, + t2.parts_code partsCode, + t2.batch_code batchCode, + t2.sequence_number sequenceNumber, + t1.standard_id standardId, + t1.efficient_date efficientDate, + t1.process_quantity processQuantity, + t2.duration duration, + t1.remark remark, + t1.create_by createBy, + t1.create_time createTime, + t1.update_by updateBy, + t1.update_time updateTime + FROM + mdc_process_quantity t1 + LEFT JOIN mdc_standard_process_duration t2 ON t1.standard_id = t2.id + LEFT JOIN mdc_equipment t3 ON t1.equipment_id = t3.equipment_id <where> <if test="mdcProcessQuantity.equipmentId != null and mdcProcessQuantity.equipmentId != ''"> - AND mspd.equipment_id LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.equipmentId }),'%') + AND t1.equipment_id LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.equipmentId }),'%') </if> <if test="mdcProcessQuantity.equipmentName != null and mdcProcessQuantity.equipmentName != ''"> - AND mspd.equipment_name LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.equipmentName }),'%') + AND t3.equipment_name LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.equipmentName }),'%') </if> <if test="mdcProcessQuantity.partsCode != null and mdcProcessQuantity.partsCode != ''"> - AND mspd.parts_code LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.partsCode }),'%') + AND t2.parts_code LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.partsCode }),'%') </if> <if test="mdcProcessQuantity.batchCode != null and mdcProcessQuantity.batchCode != ''"> - AND mspd.batch_code LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.batchCode }),'%') + AND t2.batch_code LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.batchCode }),'%') </if> <if test="mdcProcessQuantity.sequenceNumber != null and mdcProcessQuantity.sequenceNumber != ''"> - AND mspd.sequence_number LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.sequenceNumber }),'%') + AND t2.sequence_number LIKE CONCAT(CONCAT('%',#{ mdcProcessQuantity.sequenceNumber }),'%') </if> <if test="mdcProcessQuantity.startTime != null and mdcProcessQuantity.endTime != null"> - AND mpq.efficient_date BETWEEN #{ mdcProcessQuantity.startTime } AND #{ mdcProcessQuantity.endTime } + AND t1.efficient_date BETWEEN #{ mdcProcessQuantity.startTime } AND #{ mdcProcessQuantity.endTime } </if> <if test="mdcProcessQuantity.processQuantity != null and mdcProcessQuantity.processQuantity != ''"> - AND mpq.process_quantity = #{ mdcProcessQuantity.processQuantity } + AND t1.process_quantity = #{ mdcProcessQuantity.processQuantity } </if> <if test="mdcProcessQuantity.mdcSectionIds != null and mdcProcessQuantity.mdcSectionIds.size() > 0 "> - AND mspd.equipment_id IN + AND t1.equipment_id IN <foreach collection="mdcProcessQuantity.mdcSectionIds" item="id" index="index" open="(" close=")" separator=","> #{ id } </foreach> </if> </where> - ORDER BY mspd.equipment_name ASC, mpq.efficient_date DESC + ORDER BY t3.equipment_name ASC, t1.efficient_date DESC </select> <!--鏍规嵁id鏌ヨ--> <select id="findById" resultType="org.jeecg.modules.mdc.dto.MdcProcessQuantityDto"> SELECT - mpq.id id, - mspd.equipment_id equipmentId, - mspd.equipment_name equipmentName, - mspd.parts_code partsCode, - mspd.batch_code batchCode, - mspd.sequence_number sequenceNumber, - mpq.standard_id standardId, - mpq.efficient_date efficientDate, - mpq.process_quantity processQuantity, - mspd.duration duration, - mpq.remark remark, - mpq.create_by createBy, - mpq.create_time createTime, - mpq.update_by updateBy, - mpq.update_time updateTime - FROM mdc_process_quantity mpq LEFT JOIN mdc_standard_process_duration mspd ON mpq.standard_id = mspd.id - WHERE mpq.id = { id } + t1.id id, + t1.equipment_id equipmentId, + t3.equipment_name equipmentName, + t2.parts_code partsCode, + t2.batch_code batchCode, + t2.sequence_number sequenceNumber, + t1.standard_id standardId, + t1.efficient_date efficientDate, + t1.process_quantity processQuantity, + t2.duration duration, + t1.remark remark, + t1.create_by createBy, + t1.create_time createTime, + t1.update_by updateBy, + t1.update_time updateTime + FROM mdc_process_quantity t1 + LEFT JOIN mdc_standard_process_duration t2 ON t1.standard_id = t2.id + LEFT JOIN mdc_equipment t3 ON t1.equipment_id = t3.equipment_id + WHERE t1.id = #{ id } </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcStandardProcessDurationMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcStandardProcessDurationMapper.xml index e6a576c..151e054 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcStandardProcessDurationMapper.xml +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcStandardProcessDurationMapper.xml @@ -2,32 +2,26 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.mdc.mapper.MdcStandardProcessDurationMapper"> - <!--鍒嗛〉鏌ヨ--> - <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcStandardProcessDuration"> - SELECT * FROM mdc_standard_process_duration - <where> - <if test="mdcStandardProcessDuration.equipmentId != null and mdcStandardProcessDuration.equipmentId != ''"> - AND equipment_id LIKE CONCAT(CONCAT('%',#{ mdcStandardProcessDuration.equipmentId }),'%') - </if> - <if test="mdcStandardProcessDuration.equipmentName != null and mdcStandardProcessDuration.equipmentName != ''"> - AND equipment_name LIKE CONCAT(CONCAT('%',#{ mdcStandardProcessDuration.equipmentName }),'%') - </if> - <if test="mdcStandardProcessDuration.partsCode != null and mdcStandardProcessDuration.partsCode != ''"> - AND parts_code LIKE CONCAT(CONCAT('%',#{ mdcStandardProcessDuration.partsCode }),'%') - </if> - <if test="mdcStandardProcessDuration.batchCode != null and mdcStandardProcessDuration.batchCode != ''"> - AND batch_code LIKE CONCAT(CONCAT('%',#{ mdcStandardProcessDuration.batchCode }),'%') - </if> - <if test="mdcStandardProcessDuration.sequenceNumber != null and mdcStandardProcessDuration.sequenceNumber != ''"> - AND sequence_number LIKE CONCAT(CONCAT('%',#{ mdcStandardProcessDuration.sequenceNumber }),'%') - </if> - <if test="mdcStandardProcessDuration.mdcSectionIds != null and mdcStandardProcessDuration.mdcSectionIds.size() > 0 "> - AND equipment_id IN - <foreach collection="mdcStandardProcessDuration.mdcSectionIds" item="id" index="index" open="(" close=")" separator=","> - #{ id } - </foreach> - </if> - </where> - ORDER BY equipment_name ASC + <select id="findByEquipmentId" resultType="org.jeecg.modules.mdc.dto.MdcProcessQuantityDto"> + SELECT + t1.id id, + t1.equipment_id equipmentId, + t3.equipment_name equipmentName, + t2.parts_code partsCode, + t2.batch_code batchCode, + t2.sequence_number sequenceNumber, + t1.standard_id standardId, + t1.efficient_date efficientDate, + t1.process_quantity processQuantity, + t2.duration duration, + t1.remark remark, + t1.create_by createBy, + t1.create_time createTime, + t1.update_by updateBy, + t1.update_time updateTime + FROM mdc_process_quantity t1 + LEFT JOIN mdc_standard_process_duration t2 ON t1.standard_id = t2.id + LEFT JOIN mdc_equipment t3 ON t1.equipment_id = t3.equipment_id + WHERE t1.equipment_id = #{ equipmentId } AND t1.efficient_date LIKE CONCAT(CONCAT('%',#{ validDate }),'%') </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcStandardProcessDurationService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcStandardProcessDurationService.java index 21fe721..22cfb1d 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcStandardProcessDurationService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcStandardProcessDurationService.java @@ -1,48 +1,25 @@ package org.jeecg.modules.mdc.service; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.mdc.entity.MdcStandardProcessDuration; -import org.springframework.web.servlet.ModelAndView; -import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; /** - * @Description: 鏍囧噯鍔犲伐鏃堕棿琛� + * @Description: 鏍囧噯鍔犲伐鏃堕棿 * @Author: Lius - * @Date: 2023-07-17 + * @Date: 2024-07-08 * @Version: V1.0 */ public interface IMdcStandardProcessDurationService extends IService<MdcStandardProcessDuration> { /** - * 鍒嗛〉鏌ヨ + * 鏍规嵁璁惧id璁$畻鏍囧噯鍔犲伐鏃堕棿 * - * @param userId - * @param page - * @param mdcStandardProcessDuration - * @param req + * @param equipmentId + * @param validDate * @return */ - IPage<MdcStandardProcessDuration> pageList(String userId, Page<MdcStandardProcessDuration> page, MdcStandardProcessDuration mdcStandardProcessDuration, HttpServletRequest req); - - /** - * 瀵煎嚭 - * - * @param userId - * @param mdcStandardProcessDuration - * @return - */ - ModelAndView exportXls(String userId, MdcStandardProcessDuration mdcStandardProcessDuration); - - /** - * 娣诲姞 - * - * @param mdcStandardProcessDuration - * @return - */ - boolean addData(MdcStandardProcessDuration mdcStandardProcessDuration); - + BigDecimal findByEquipmentId(String equipmentId, String validDate); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java index b722add..0bc60f5 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java @@ -8,7 +8,6 @@ import org.jeecg.modules.mdc.constant.MdcConstant; import org.jeecg.modules.mdc.entity.MdcEquipment; import org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency; -import org.jeecg.modules.mdc.entity.MdcStandardProcessDuration; import org.jeecg.modules.mdc.mapper.MdcOverallEquipmentEfficiencyMapper; import org.jeecg.modules.mdc.service.*; import org.jeecg.modules.mdc.util.DateUtils; @@ -187,12 +186,8 @@ mdcOverallEquipmentEfficiency.setProcessQuantity(processQuantity); // 鏍囧噯鍔犲伐鏃堕棿(鍒嗛挓) - MdcStandardProcessDuration mdcStandardProcessDuration = mdcStandardProcessDurationService.getOne(new LambdaQueryWrapper<MdcStandardProcessDuration>().eq(MdcStandardProcessDuration::getEquipmentId, equipmentId)); - if (mdcStandardProcessDuration != null) { - mdcOverallEquipmentEfficiency.setStandardProcessDuration(new BigDecimal(mdcStandardProcessDuration.getDuration()).multiply(processQuantity)); - } else { - mdcOverallEquipmentEfficiency.setStandardProcessDuration(BigDecimal.ZERO); - } + BigDecimal standardProcessDuration = mdcStandardProcessDurationService.findByEquipmentId(equipmentId, validDate); + mdcOverallEquipmentEfficiency.setStandardProcessDuration(standardProcessDuration); if ("FANUC".equals(mdcEquipment.getDriveType())) { // 锛堟柊锛夋�ц兘寮�鍔ㄧ巼 = 鐞嗚鏍囧噯鍔犲伐鏃堕暱 * 浠舵暟 /锛堜富杞磋繍琛屾椂闂达級 diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcStandardProcessDurationServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcStandardProcessDurationServiceImpl.java index 7e950c2..46d57f0 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcStandardProcessDurationServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcStandardProcessDurationServiceImpl.java @@ -1,178 +1,40 @@ package org.jeecg.modules.mdc.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.apache.commons.lang.StringUtils; -import org.apache.shiro.SecurityUtils; -import org.jeecg.common.system.vo.LoginUser; -import org.jeecg.modules.mdc.entity.MdcEquipment; -import org.jeecg.modules.mdc.entity.MdcNoplanClose; +import org.jeecg.modules.mdc.dto.MdcProcessQuantityDto; import org.jeecg.modules.mdc.entity.MdcStandardProcessDuration; import org.jeecg.modules.mdc.mapper.MdcStandardProcessDurationMapper; -import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.mdc.service.IMdcStandardProcessDurationService; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import org.springframework.web.servlet.ModelAndView; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.Collections; +import java.math.BigDecimal; import java.util.List; - /** - * @Description: 鏍囧噯鍔犲伐鏃堕棿琛� + * @Description: 鏍囧噯鍔犲伐鏃堕棿 * @Author: Lius - * @Date: 2023-07-17 + * @Date: 2024-07-08 * @Version: V1.0 */ @Service public class MdcStandardProcessDurationServiceImpl extends ServiceImpl<MdcStandardProcessDurationMapper, MdcStandardProcessDuration> implements IMdcStandardProcessDurationService { - @Resource - private IMdcEquipmentService mdcEquipmentService; - /** - * 鍒嗛〉鏌ヨ + * 鏍规嵁璁惧id璁$畻鏍囧噯鍔犲伐鏃堕棿 * - * @param userId - * @param page - * @param mdcStandardProcessDuration - * @param req + * @param equipmentId + * @param validDate * @return */ @Override - public IPage<MdcStandardProcessDuration> pageList(String userId, Page<MdcStandardProcessDuration> page, MdcStandardProcessDuration mdcStandardProcessDuration, HttpServletRequest req) { - List<String> equipmentIds = new ArrayList<>(); - if (StringUtils.isNotEmpty(mdcStandardProcessDuration.getParentId()) && StringUtils.isEmpty(mdcStandardProcessDuration.getEquipmentId())) { - if ("2".equals(mdcStandardProcessDuration.getTypeTree())) { - //閮ㄩ棬灞傜骇 - equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcStandardProcessDuration.getParentId()); - } else { - //浜х嚎灞傜骇 - equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcStandardProcessDuration.getParentId()); - } - } else if (StringUtils.isNotEmpty(mdcStandardProcessDuration.getEquipmentId())) { - //鍗曞彴璁惧淇℃伅 - mdcStandardProcessDuration.setMdcSectionIds(Collections.singletonList(mdcStandardProcessDuration.getEquipmentId())); - } else { - //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭� - if ("2".equals(mdcStandardProcessDuration.getTypeTree())) { - //閮ㄩ棬灞傜骇 - equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null); - } else { - //浜х嚎灞傜骇 - equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null); - } - } - - if (mdcStandardProcessDuration.getMdcSectionIds() == null || mdcStandardProcessDuration.getMdcSectionIds().isEmpty()) { - mdcStandardProcessDuration.setMdcSectionIds(equipmentIds); - } - - if (mdcStandardProcessDuration.getMdcSectionIds() == null || mdcStandardProcessDuration.getMdcSectionIds().isEmpty()) { - return null; - } - return this.baseMapper.pageList(page, mdcStandardProcessDuration); - } - - /** - * 瀵煎嚭 - * - * @param userId - * @param mdcStandardProcessDuration - * @return - */ - @Override - public ModelAndView exportXls(String userId, MdcStandardProcessDuration mdcStandardProcessDuration) { - LambdaQueryWrapper<MdcStandardProcessDuration> queryWrapper = new LambdaQueryWrapper<>(); - List<String> equipmentIds = new ArrayList<>(); - if (StringUtils.isNotEmpty(mdcStandardProcessDuration.getParentId()) && StringUtils.isEmpty(mdcStandardProcessDuration.getEquipmentId())) { - if ("2".equals(mdcStandardProcessDuration.getTypeTree())) { - //閮ㄩ棬灞傜骇 - equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcStandardProcessDuration.getParentId()); - } else { - //浜х嚎灞傜骇 - equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcStandardProcessDuration.getParentId()); - } - } else if (StringUtils.isNotEmpty(mdcStandardProcessDuration.getEquipmentId())) { - //鍗曞彴璁惧淇℃伅 - mdcStandardProcessDuration.setMdcSectionIds(Collections.singletonList(mdcStandardProcessDuration.getEquipmentId())); - } else { - //鏌ヨ鐢ㄦ埛鎵�鎷ユ湁鐨勬墍鏈夎澶囦俊鎭� - if ("2".equals(mdcStandardProcessDuration.getTypeTree())) { - //閮ㄩ棬灞傜骇 - equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null); - } else { - equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null); - } - } - if (mdcStandardProcessDuration.getMdcSectionIds() == null || mdcStandardProcessDuration.getMdcSectionIds().isEmpty()) { - mdcStandardProcessDuration.setMdcSectionIds(equipmentIds); - } - if (mdcStandardProcessDuration.getMdcSectionIds() == null || mdcStandardProcessDuration.getMdcSectionIds().isEmpty()) { - return null; - } else { - queryWrapper.in(MdcStandardProcessDuration::getEquipmentId, mdcStandardProcessDuration.getMdcSectionIds()); - } - if (StringUtils.isNotEmpty(mdcStandardProcessDuration.getEquipmentId())) { - queryWrapper.like(MdcStandardProcessDuration::getEquipmentId, mdcStandardProcessDuration.getEquipmentId()); - } - if (StringUtils.isNotEmpty(mdcStandardProcessDuration.getEquipmentName())) { - queryWrapper.like(MdcStandardProcessDuration::getEquipmentName, mdcStandardProcessDuration.getEquipmentName()); - } - if (StringUtils.isNotEmpty(mdcStandardProcessDuration.getPartsCode())) { - queryWrapper.like(MdcStandardProcessDuration::getPartsCode, mdcStandardProcessDuration.getPartsCode()); - } - if (StringUtils.isNotEmpty(mdcStandardProcessDuration.getBatchCode())) { - queryWrapper.like(MdcStandardProcessDuration::getBatchCode, mdcStandardProcessDuration.getBatchCode()); - } - if (StringUtils.isNotEmpty(mdcStandardProcessDuration.getSequenceNumber())) { - queryWrapper.like(MdcStandardProcessDuration::getSequenceNumber, mdcStandardProcessDuration.getSequenceNumber()); - } - queryWrapper.orderByAsc(MdcStandardProcessDuration::getEquipmentName); - // Step.2 AutoPoi 瀵煎嚭Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List<MdcStandardProcessDuration> mdcStandardProcessDurations = this.baseMapper.selectList(queryWrapper); - // 瀵煎嚭鏂囦欢鍚嶇О - mv.addObject(NormalExcelConstants.FILE_NAME, "鏍囧噯鍔犲伐鏃堕棿鍒楄〃"); - mv.addObject(NormalExcelConstants.CLASS, MdcStandardProcessDuration.class); - //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛 - //update-begin---author:wangshuai ---date:20211227 for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------ - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("鏍囧噯鍔犲伐鏃堕棿鍒楄〃鏁版嵁", "瀵煎嚭浜�:" + user.getRealname(), "鏍囧噯鍔犲伐鏃堕棿")); - //update-end---author:wangshuai ---date:20211227 for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------ - mv.addObject(NormalExcelConstants.DATA_LIST, mdcStandardProcessDurations); - return mv; - } - - /** - * 娣诲姞鏁版嵁 - * - * @param mdcStandardProcessDuration - * @return - */ - @Override - public boolean addData(MdcStandardProcessDuration mdcStandardProcessDuration) { - boolean result = false; - String[] equipmentIds = mdcStandardProcessDuration.getEquipmentIds().split(","); - for (String equipmentId : equipmentIds) { - MdcEquipment mdcEquipment = mdcEquipmentService.findEquipmentNameByEquipmentId(equipmentId); - MdcStandardProcessDuration standardProcessDuration = new MdcStandardProcessDuration(); - BeanUtils.copyProperties(mdcStandardProcessDuration, standardProcessDuration); - standardProcessDuration.setEquipmentId(mdcEquipment.getEquipmentId()); - standardProcessDuration.setEquipmentName(mdcEquipment.getEquipmentName()); - boolean b = super.save(standardProcessDuration); - if (b) { - result = true; + public BigDecimal findByEquipmentId(String equipmentId, String validDate) { + BigDecimal result = BigDecimal.ZERO; + List<MdcProcessQuantityDto> list = this.baseMapper.findByEquipmentId(equipmentId, validDate); + if (list != null && !list.isEmpty()) { + for (MdcProcessQuantityDto mdcProcessQuantityDto : list) { + Integer duration = mdcProcessQuantityDto.getDuration(); + Integer processQuantity = mdcProcessQuantityDto.getProcessQuantity(); + result = result.add(new BigDecimal(duration * processQuantity)); } } return result; -- Gitblit v1.9.3