chenhj
8 天以前 7e84848f0ea65411bdc9f27e5fa9d714157d032a
生产统计
已修改6个文件
57 ■■■■ 文件已修改
src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProductionProductMainService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductionProductMainMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
@@ -3,9 +3,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.production.dto.ProductProcessRouteItemDto;
import com.ruoyi.production.dto.ProductionProductMainDto;
import com.ruoyi.production.dto.SalesLedgerProductionAccountingDto;
import com.ruoyi.production.service.ProductionProductMainService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -14,7 +12,6 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
@RequestMapping("productionProductMain")
@@ -54,7 +51,6 @@
        return R.ok(productionProductMainService.removeProductMain(productionProductMainDto.getId()));
    }
    /**
     * 导出
     */
@@ -65,4 +61,9 @@
        ExcelUtil<ProductionProductMainDto> util = new ExcelUtil<ProductionProductMainDto>(ProductionProductMainDto.class);
        util.exportExcel(response, list, "生产报工数据");
    }
    @GetMapping("/queryProductInputAndOutput")
    public R queryProductInputAndOutput(Page page, ProductionProductMainDto productionProductMainDto) {
        return R.ok(productionProductMainService.queryProductInputAndOutput(page, productionProductMainDto));
    }
}
src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
@@ -10,7 +10,6 @@
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
@ExcelIgnoreUnannotated
@@ -59,5 +58,6 @@
    private BigDecimal workHours;
    private BigDecimal wages;
    private String startTime;
    private String endTime;
}
src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
@@ -11,6 +11,7 @@
import org.apache.ibatis.annotations.Param;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@Mapper
@@ -33,4 +34,6 @@
    IPage<ProductionProductMainDto> listProductionDetails(@Param("ew") SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page);
    ArrayList<Long> listMain(List<Long> idList);
    IPage<HashMap<String, Object>> queryProductInputAndOutput(Page page, @Param("ew") ProductionProductMainDto productionProductMainDto);
}
src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
@@ -7,6 +7,7 @@
import com.ruoyi.production.pojo.ProductionProductMain;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public interface ProductionProductMainService extends IService<ProductionProductMain> {
@@ -17,4 +18,12 @@
    Boolean removeProductMain(Long id);
    ArrayList<Long> listMain(List<Long> idList);
    /**
     * 按天查询产品的投入和产出
     * @param page
     * @param productionProductMainDto
     * @return
     */
    IPage<HashMap<String, Object>> queryProductInputAndOutput(Page page, ProductionProductMainDto productionProductMainDto);
}
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -37,6 +37,7 @@
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -337,4 +338,9 @@
    public ArrayList<Long> listMain(List<Long> idList) {
        return productionProductMainMapper.listMain(idList);
    }
    @Override
    public IPage<HashMap<String, Object>> queryProductInputAndOutput(Page page, ProductionProductMainDto productionProductMainDto) {
        return productionProductMainMapper.queryProductInputAndOutput(page, productionProductMainDto);
    }
}
src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -115,4 +115,30 @@
            #{id}
        </foreach>
    </delete>
    <select id="queryProductInputAndOutput" resultType="Hashmap">
        select *
        from (select p.product_name      as productName,
                     pm.model            as model,
                     pm.unit             as unit,
                     temp.inputQuantity  as inputQuantity,
                     temp.outputQuantity as outputQuantity
              from (select product_model_id,
                           coalesce(sum(inputQuantity), 0)  as inputQuantity,
                           coalesce(sum(outputQuantity), 0) as outputQuantity
                    from ((select product_model_id, coalesce(sum(quantity), 0) as inputQuantity, 0 as outputQuantity
                           from production_product_input
                           where create_time &gt;= #{ew.startTime}
                             and create_time &lt; #{ew.endTime}
                           group by product_model_id)
                          union all
                          (select product_model_id, 0 as inputQuantity, coalesce(sum(quantity), 0) as outputQuantity
                           from production_product_output
                           where create_time &gt;= #{ew.startTime}
                             and create_time &lt; #{ew.endTime}
                           group by product_model_id)) t
                    group by product_model_id) temp
                       left join product_model pm on temp.product_model_id = pm.id
                       left join product p on pm.product_id = p.id) tmp
    </select>
</mapper>