Browse Source

feat:新增数码印花厂管理功能

kgy 6 tháng trước cách đây
mục cha
commit
a6b65af3d5

+ 50 - 0
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/controller/FactoryController.java

@@ -0,0 +1,50 @@
+package org.dromara.productionManagement.controller;
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.productionManagement.domain.bo.FactoryBo;
+import org.dromara.productionManagement.domain.vo.FactoryVo;
+import org.dromara.productionManagement.service.FactoryService;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 工厂管理接口
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/productionManagement/factory")
+public class FactoryController extends BaseController {
+    private final FactoryService factoryService;
+    @GetMapping("/PageList")
+    public TableDataInfo<FactoryVo> selectPageFactoryList(FactoryBo factoryBo, PageQuery pageQuery) {
+        return factoryService.selectPageFactoryList(factoryBo, pageQuery);
+    }
+    @PostMapping
+    public R<Void> insertFactory(@RequestBody FactoryBo factoryBo){
+        return toAjax(factoryService.insertFactory(factoryBo));
+    }
+    @PutMapping
+    public R<Void> updateFactory(@RequestBody FactoryBo factoryBo){
+        return toAjax(factoryService.updateFactory(factoryBo));
+    }
+    @DeleteMapping("/{ids}")
+    public R<Void> deleteFactoryByIds(@PathVariable Long[] ids) {
+        return toAjax(factoryService.deleteFactoryByIds(ids));
+    }
+
+    @GetMapping("/recycle")
+    public TableDataInfo<FactoryVo> selectRecycleFactoryList(FactoryBo factoryBo, PageQuery pageQuery) {
+        return factoryService.selectRecycleFactoryList(factoryBo, pageQuery);
+    }
+    @PostMapping("/recycle/back/{ids}")
+    public R<Void> backFactoryByIds(@PathVariable Long[] ids) {
+        return toAjax(factoryService.backFactoryByIds(ids));
+    }
+    @DeleteMapping("/recycle/{ids}")
+    public R<Void> deleteRecycleFactoryByIds(@PathVariable Long[] ids) {
+        return toAjax(factoryService.deleteRecycleFactoryByIds(ids));
+    }
+}

+ 47 - 0
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/domain/Factory.java

@@ -0,0 +1,47 @@
+package org.dromara.productionManagement.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("fa_out_factory")
+public class Factory extends TenantEntity {
+    /**
+     * id
+     */
+    private Long id;
+    /**
+     * 工厂名称
+     */
+    @NotBlank(message = "工厂名称不能为空")
+    private String name;
+    /**
+     * 工厂地址
+     */
+    private String address;
+    /**
+     * 联系人
+     */
+    private String linkman;
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createtime;
+    /**
+     * 更新时间
+     */
+    @TableField("update_time")
+    private Date updatetime;
+    /**
+     * 删除时间
+     */
+    private Date deletetime;
+}

+ 47 - 0
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/domain/bo/FactoryBo.java

@@ -0,0 +1,47 @@
+package org.dromara.productionManagement.domain.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.productionManagement.domain.Factory;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 工厂业务对象
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Factory.class, reverseConvertGenerate = false)
+public class FactoryBo extends BaseEntity implements Serializable {
+    /**
+     * id
+     */
+    private Long id;
+    /**
+     * 工厂名称
+     */
+    private String name;
+    /**
+     * 工厂地址
+     */
+    private String address;
+    /**
+     * 联系人
+     */
+    private String linkman;
+    /**
+     * 创建时间
+     */
+    private Date createtime;
+    /**
+     * 更新时间
+     */
+    private Date updatetime;
+    /**
+     * 删除时间
+     */
+    private Date deletetime;
+}

+ 46 - 0
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/domain/vo/FactoryVo.java

@@ -0,0 +1,46 @@
+package org.dromara.productionManagement.domain.vo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.productionManagement.domain.Factory;
+
+import java.util.Date;
+
+/**
+ * 工厂值对象
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Factory.class)
+public class FactoryVo extends BaseEntity {
+    /**
+     * id
+     */
+    private Long id;
+    /**
+     * 工厂名称
+     */
+    private String name;
+    /**
+     * 工厂地址
+     */
+    private String address;
+    /**
+     * 联系人
+     */
+    private String linkman;
+    /**
+     * 创建时间
+     */
+    private Date createtime;
+    /**
+     * 更新时间
+     */
+    private Date updatetime;
+    /**
+     * 删除时间
+     */
+    private Date deletetime;
+}

+ 12 - 0
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/mapper/FactoryMapper.java

@@ -0,0 +1,12 @@
+package org.dromara.productionManagement.mapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.productionManagement.domain.Factory;
+import org.dromara.productionManagement.domain.vo.FactoryVo;
+
+
+@Mapper
+public interface FactoryMapper extends BaseMapperPlus<Factory, FactoryVo> {
+     void backFactoryByIds(Long[] factoryIds);
+}
+

+ 16 - 0
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/service/FactoryService.java

@@ -0,0 +1,16 @@
+package org.dromara.productionManagement.service;
+
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.productionManagement.domain.bo.FactoryBo;
+import org.dromara.productionManagement.domain.vo.FactoryVo;
+
+public interface FactoryService {
+    TableDataInfo<FactoryVo> selectPageFactoryList(FactoryBo factoryBo, PageQuery pageQuery);
+    int insertFactory(FactoryBo factoryBo);
+    int updateFactory(FactoryBo factoryBo);
+    int deleteFactoryByIds(Long[] factoryIds);
+    TableDataInfo<FactoryVo> selectRecycleFactoryList(FactoryBo factoryBo, PageQuery pageQuery);
+    int backFactoryByIds(Long[] factoryIds);
+    int deleteRecycleFactoryByIds(Long[] factoryIds);
+}

+ 79 - 0
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/java/org/dromara/productionManagement/service/impl/FactoryServiceImpl.java

@@ -0,0 +1,79 @@
+package org.dromara.productionManagement.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.productionManagement.domain.Factory;
+import org.dromara.productionManagement.domain.bo.FactoryBo;
+import org.dromara.productionManagement.domain.vo.FactoryVo;
+import org.dromara.productionManagement.mapper.FactoryMapper;
+import org.dromara.productionManagement.service.FactoryService;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+@Service
+@RequiredArgsConstructor
+public class FactoryServiceImpl implements FactoryService {
+    private final FactoryMapper factoryMapper;
+    @Override
+    public TableDataInfo<FactoryVo> selectPageFactoryList(FactoryBo factoryBo, PageQuery pageQuery){
+        QueryWrapper<Factory> qw=new QueryWrapper<>();
+        qw.eq(StringUtils.isNotBlank(factoryBo.getName()),"name",factoryBo.getName());
+        qw.eq(StringUtils.isNotBlank(factoryBo.getAddress()),"address",factoryBo.getAddress());
+        qw.eq(StringUtils.isNotBlank(factoryBo.getLinkman()),"linkman",factoryBo.getLinkman());
+        qw.isNull("deletetime");
+        Page<FactoryVo> page= factoryMapper.selectVoPage(pageQuery.build(),qw);
+        return TableDataInfo.build(page);
+    }
+    @Override
+    public int insertFactory(FactoryBo factoryBo){
+        Factory factory= MapstructUtils.convert(factoryBo, Factory.class);
+        return factoryMapper.insert(factory);
+    }
+    @Override
+    public int updateFactory(FactoryBo factoryBo){
+        Factory factory= MapstructUtils.convert(factoryBo, Factory.class);
+        return factoryMapper.updateById(factory);
+    }
+    @Override
+    public int deleteFactoryByIds(Long[] factoryIds){
+        List<Factory> factoryList = new ArrayList<>();
+        for (Long factoryId : factoryIds) {
+            Factory factory = new Factory();
+            factory.setId(factoryId);
+            factory.setDeletetime(new Date());
+            factoryList.add(factory);
+        }
+        return factoryMapper.updateById(factoryList).size();
+    }
+
+    @Override
+    public int backFactoryByIds(Long[] factoryIds){
+        UpdateWrapper<Factory> updateWrapper=new UpdateWrapper<>();
+        updateWrapper.in("id",factoryIds);
+        updateWrapper.set("deletetime",null);
+        return factoryMapper.update(updateWrapper);
+    }
+
+    @Override
+    public TableDataInfo<FactoryVo> selectRecycleFactoryList(FactoryBo factoryBo, PageQuery pageQuery) {
+        QueryWrapper<Factory> qw=new QueryWrapper<>();
+        qw.eq(StringUtils.isNotBlank(factoryBo.getName()),"name",factoryBo.getName());
+        qw.isNotNull("deletetime");
+        Page<FactoryVo> page= factoryMapper.selectVoPage(pageQuery.build(),qw);
+        return TableDataInfo.build(page);
+    }
+    @Override
+    public int deleteRecycleFactoryByIds(Long[] factoryIds) {
+        return factoryMapper.deleteByIds(Arrays.asList(factoryIds));
+    }
+}

+ 13 - 0
ruoyi-modules/ruoyi-productionManagementOfBulkOrders/src/main/resources/mapper/FactoryMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.dromara.productionManagement.mapper.FactoryMapper">
+    <update id="backFactoryByIds">
+        update fa_kuyou_factory set deletetime = null where id in
+        <foreach collection="array" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+</mapper>