gongchunyi
9 小时以前 f32de021e7af1627b6d18e681b46dbc0a5b108f8
feat: 设备台账与工序进行绑定
已修改8个文件
80 ■■■■ 文件已修改
doc/河南鹤壁天沐钢化玻璃厂.sql 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/pojo/DeviceLedger.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/device/DeviceLedgerMapper.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mybatis/mybatis-config.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/ºÓÄϺױÚÌìãå¸Ö»¯²£Á§³§.sql
@@ -154,4 +154,7 @@
    MODIFY COLUMN `heavy_box` decimal(20, 4) NULL DEFAULT NULL COMMENT '重箱' AFTER `perimeter`;
ALTER TABLE `product-inventory-management-hbtmblc`.`quality_unqualified`
    ADD COLUMN `product_model_id` bigint NULL COMMENT '产品规格ID' AFTER `inspect_id`;
    ADD COLUMN `product_model_id` bigint NULL COMMENT '产品规格ID' AFTER `inspect_id`;
ALTER TABLE `product-inventory-management-hbtmblc`.`device_ledger`
    ADD COLUMN `product_process_id` bigint NULL COMMENT '工序ID' AFTER `type`;
src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
@@ -54,7 +54,7 @@
    @ApiOperation("根据id查询设备台账")
    @GetMapping("/{id}")
    public AjaxResult detail(@PathVariable Long id) {
        return AjaxResult.success(deviceLedgerService.getById(id));
        return AjaxResult.success(deviceLedgerService.getDetailById(id));
    }
    @PutMapping ()
src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java
@@ -147,4 +147,10 @@
    @ApiModelProperty("设备类型")
    private String type;
    @ApiModelProperty("工序ID")
    private Long productProcessId;
    @ApiModelProperty("工序名称")
    private String productProcessName;
}
src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
@@ -159,4 +159,11 @@
    @ApiModelProperty("设备类型")
    private String type;
    @ApiModelProperty("工序ID")
    private Long productProcessId;
    @TableField(exist = false)
    @ApiModelProperty("工序名称")
    private String productProcessName;
}
src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java
@@ -18,6 +18,8 @@
    AjaxResult updateDeviceLedger(DeviceLedger deviceLedger);
    DeviceLedger getDetailById(Long id);
    void export(HttpServletResponse response, Long[] ids);
    Boolean importData(MultipartFile file) throws IOException;
src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -12,6 +12,8 @@
import com.ruoyi.device.mapper.DeviceLedgerMapper;
import com.ruoyi.device.pojo.DeviceLedger;
import com.ruoyi.device.service.IDeviceLedgerService;
import com.ruoyi.production.mapper.ProductProcessMapper;
import com.ruoyi.production.pojo.ProductProcess;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
@@ -36,15 +38,21 @@
    private DeviceLedgerMapper deviceLedgerMapper;
    @Autowired
    private SysUserMapper sysUserMapper;
    @Autowired
    private ProductProcessMapper productProcessMapper;
    @Override
    public IPage<DeviceLedgerDto> queryPage(Page page, DeviceLedgerDto deviceLedger) {
    public IPage<DeviceLedgerDto> queryPage(Page<?> page, DeviceLedgerDto deviceLedger) {
        return deviceLedgerMapper.queryPage(page, deviceLedger);
    }
    @Override
    public AjaxResult saveDeviceLedger(DeviceLedger deviceLedger) {
        AjaxResult processCheckResult = validateProductProcess(deviceLedger.getProductProcessId());
        if (processCheckResult != null) {
            return processCheckResult;
        }
        LambdaQueryWrapper<DeviceLedger> deviceLedgerLambdaQueryWrapper = new LambdaQueryWrapper<>();
        deviceLedgerLambdaQueryWrapper.eq(DeviceLedger::getDeviceName,deviceLedger.getDeviceName());
        if (this.count(deviceLedgerLambdaQueryWrapper) > 0) {
@@ -59,6 +67,10 @@
    @Override
    public AjaxResult updateDeviceLedger(DeviceLedger deviceLedger) {
        AjaxResult processCheckResult = validateProductProcess(deviceLedger.getProductProcessId());
        if (processCheckResult != null) {
            return processCheckResult;
        }
        if (this.updateById(deviceLedger)) {
            return AjaxResult.success();
        }
@@ -66,6 +78,22 @@
    }
    @Override
    public DeviceLedger getDetailById(Long id) {
        return deviceLedgerMapper.selectById1(id);
    }
    private AjaxResult validateProductProcess(Long productProcessId) {
        if (productProcessId == null) {
            return null;
        }
        ProductProcess productProcess = productProcessMapper.selectById(productProcessId);
        if (productProcess == null) {
            return AjaxResult.error("工序不存在,请重新选择");
        }
        return null;
    }
    @Override
    public void export(HttpServletResponse response, Long[] ids) {
        if (ids == null || ids.length == 0) {
src/main/resources/mapper/device/DeviceLedgerMapper.xml
@@ -31,9 +31,12 @@
        dl.tenant_id,
        dl.is_depr,
        dl.annual_depreciation_amount,
        dl.type
        dl.type,
        dl.product_process_id,
        pp.name AS productProcessName
        FROM device_ledger dl
        left join sys_user su on dl.create_user = su.user_id
        left join product_process pp on dl.product_process_id = pp.id
        <where>
            <!-- è®¾å¤‡åç§° -->
            <if test="deviceLedger.deviceName != null and deviceLedger.deviceName != ''">
@@ -43,6 +46,11 @@
            <!-- è§„格型号 -->
            <if test="deviceLedger.deviceModel != null and deviceLedger.deviceModel != ''">
                AND device_model LIKE CONCAT('%', #{deviceLedger.deviceModel}, '%')
            </if>
            <!-- å·¥åºåç§° -->
            <if test="deviceLedger.productProcessName != null and deviceLedger.productProcessName != ''">
                AND pp.name LIKE CONCAT('%', #{deviceLedger.productProcessName}, '%')
            </if>
            <!-- ä¾›åº”商名称 -->
@@ -83,9 +91,11 @@
    </select>
    <select id="selectById1" resultType="com.ruoyi.device.pojo.DeviceLedger">
        select *
        from device_ledger
        where id = #{id}
        select dl.*,
               pp.name as productProcessName
        from device_ledger dl
                 left join product_process pp on dl.product_process_id = pp.id
        where dl.id = #{id}
    </select>
    <select id="getDeviceTypeDistributionByYear"
            resultType="com.ruoyi.account.dto.DeviceTypeDetail"
src/main/resources/mybatis/mybatis-config.xml
@@ -6,14 +6,14 @@
    <!-- å…¨å±€å‚æ•° -->
    <settings>
        <!-- ä½¿å…¨å±€çš„æ˜ å°„器启用或禁用缓存 -->
        <setting name="cacheEnabled"             value="true"   />
        <setting name="cacheEnabled" value="true"/>
        <!-- å…è®¸JDBC æ”¯æŒè‡ªåŠ¨ç”Ÿæˆä¸»é”® -->
        <setting name="useGeneratedKeys"         value="true"   />
        <setting name="useGeneratedKeys" value="true"/>
        <!-- é…ç½®é»˜è®¤çš„æ‰§è¡Œå™¨.SIMPLE就是普通执行器;REUSE执行器会重用预处理语句(prepared statements);BATCH执行器将重用语句并执行批量更新 -->
        <setting name="defaultExecutorType"      value="SIMPLE" />
        <setting name="defaultExecutorType" value="SIMPLE"/>
        <!-- æŒ‡å®š MyBatis æ‰€ç”¨æ—¥å¿—的具体实现 -->
        <setting name="logImpl"                  value="SLF4J"  />
        <!--        <setting name="logImpl"                  value="org.apache.ibatis.logging.stdout.StdOutImpl"  />-->
        <!--        <setting name="logImpl"                  value="SLF4J"  />-->
        <setting name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"/>
        <!-- ä½¿ç”¨é©¼å³°å‘½åæ³•转换字段 -->
        <!-- <setting name="mapUnderscoreToCamelCase" value="true"/> -->
    </settings>