Giter Site home page Giter Site logo

vignoble's Introduction

Vineyard Module

Author : Bruno Généré [email protected]

The aim of this module is to manage the complete life cycle of vine cultivation. You could track all operations and tasks done by plots of land, type of vine and collect results.

Using this module the vine cultivation could be followed and enhanced as needed year by year.

Main features

Current list of features :

  • Plots of land catalog
  • Project tasks extension to follow activity by plot
  • Create stock movements following product packaging
  • List of orders and deliveries by products on a given time frame.

Pre-requisites

This module targets the Dolibarr platform. (>= 4.0.x)

Install

Contributions

Feel free to contribute and report defects at https://github.com/bgenere/vignoble/issues

Licenses

Main code

GPLv3 or (at your option) any later version.

Click GPLv3 icon at the bottom of this page for more information.

Other Licenses

Used to display this README in the module's about page. Licensed under MIT.

Public domain

vignoble's People

Contributors

bgenere avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

vignoble's Issues

Change Plot Task tab to give details of the plot progression on each task.

The current tab should be completed with information regarding task progression and who has worked on the task.

Tab should contains :

  • Task ref and label
  • Task start date
  • Task end date
  • note for plot in task
  • Current progress for plot in task (%)
  • then detail of plot progress if any i.e:
    -- progress date
    -- contributor
    -- contributor contribution (%)

Tab is read only with

  • sort on task, start date, end date, current progress, progress date, contributor
  • select on task, start and end date, current progress, contributor.

Change recording of task progress by plot.

Need to change what has been developed for 0.4.
We need to keep track of who has spent time in order to progress the task and the plot status.

So table plot_taskprogress should be linked to a timespent record in an unique way.

table structure should be :
```
-- object keys
rowid INTEGER AUTO_INCREMENT PRIMARY KEY,
entity INTEGER DEFAULT 1 NOT NULL, -- multi company id
-- link attributes
fk_plot INTEGER NOT NULL,
fk_tasktime INTEGER NOT NULL,
progress INTEGER,
-- record date time & user
tms timestamp,
datec datetime, -- creation date
fk_user_author INTEGER NOT NULL,
fk_user_modif INTEGER NOT NULL

then the object class should be modified to fit the new structure.

then the update when entering a new time spent should be modified.
When the user enter a time spend the following data are required : 
a date : this is when the time spent is entered or the day the time was spent (in this case the user should enter each working day).

a time spent : this is the time spent by each contributors

a list of contributors : each contributor is supposed to have spend the time entered. 

_So if you have time = 8h and 3 contributors total time spend will be 24hours and 3 time spent lines will be created, one per contributor._

a list of plots with their current status : For each plot which status has changed, each contributor is supposed to have contributed equally. 

_So if plot 1 has moved from 0 to 100%; contributor 1 and 2 will have contributed 33% and last contributor 100-66 = 34%. And 3 plot-progress lines will be created for plot 1 each one attached to the proper contributor._
_If plot 2 has moved from 50 to 100%; 1 & 2 will have 16% and 3 will have 50 - 32 = 18%_In total the 2 plots will create 6 lines of plot progress.










 

Add a cultivation detail report

The purpose of this option is to get the detail of time spent and plot progress for a period of time.

Contributors time table will provide : day, task ref, contributor, time spend
Plot progress table will provide : day, task ref, plot ref, progress, duration

Filter manage starting and ending day, task ref

Make cultivation task code modular and optimize

Current code is a cut and past of current project module components.
This code is not optimized for the needs of maintenance and next evolution of module.

Task to be done are

  • Refactor bunchs of codes as functions to separate print pieces and action pieces.
  • Set up a proper architecture to get one cultivation task page including all tabs.

Add product consumed by task

The purpose is to get the list of product used for a cultivation task.

For each product we need to have the quantity consumed. The system should be able to decrease the stock using lot number if activated.
Attributes are product ref, quantity, lot number, note.
It should be possible to add twice the same product if we use a product twice.

Add product sale basic statistics

Dolibarr offer very simple product sale statistics. However there is no way to get quantity and amount sold by product for a given period of time.

  • The feature will provide a new tab in product statistic (or a new page in the module).
  • A table will provide total quantity and total amount (excluding taxes) by product reference.
  • Totals will be calculated based on orders made for a given period.

If possible the same table will be provided 1 for products ordered and 2 for products sent.

Extend time spent capture with plots status

Currently time spent is by user.
We need to add the list of plots on which the time was spent.
The user is able to select the plots from the plot list for the task and then provide the % of area processed and the progress % for the all task. I.e. he has worked on a plot and done 50% of it to complete the work at 100%.

We need to add a child table to capture plot status.

Table should contains link to time spend row, fk_plot, %processed, %completed.

Add resource used on a task

The idea is to get a resource tab where you could define the list of resource needed for the task.

Then in the time spent tab, you could select the resource used and the time spend will automatically be added to the time spend for the resource.

Create a Cultivation task object.

A cultivation task is a task, which is entered when done.
It has a starting and ending date - time. A description - A total time (hours minutes spend).
It belongs to a Cultivation project (one single project for each season).
Attach to the tasks are :

  • one or more contact, with the time spent on task, usually same as task time, but could be different if needed.
  • one or more plots, on which the task was done, with the percentage of the area processed during the task.
  • one or more resources, used to do the task with the time spent on task, usually same as task time, but could be different if needed.
  • one or more products consumed for the task with the quantity of product used.

Vignoblebox declaration not compliant with Dolibarr V6 and V7

[13-Nov-2017 09:00:49 UTC] PHP Warning: Declaration of vignoblebox::showBox($head = NULL, $contents = NULL) should be compatible with ModeleBoxes::showBox($head = NULL, $contents = NULL, $nooutput = 0) in /home/encommun/dolibarrV6.encom1.fr/custom/vignoble/core/boxes/vignoblebox.php on line 229

Create a Product Package (Virtual Product) building page

Issue

Dolibarr support virtual products i.e. products made of multiple products with specific quantities. Coming to stock management it appears that these product are not virtual has all stock rules applies on actual stock figures for these products. (the stock is not calculated on demand based on quantities of components).
However it is possible to remove quantities of components when you sold a virtual product but you could not sold or you get negative stock when actual stock for virtual product is empty.

Proposed solution

A page will allow to create a set of stock movements that will fill the actual stock for the virtual product and decrease properly the component stock.

prerequisites

Need product and stock module activated.
User should be able to manage Stock and do movement.

limits

The first release will not support batch product stock.

page dynamic and presentation

On fist open the page provide the list of product package with their current stock
The list is a standard Dolibarr list with a selection box so user could select one virtual (package product)
A button Build is available when a package is selected.

Action Build package will open a form for the selected product.

Issue when updating a plot progress report.

When updating a plot progress report it seems the plot cultivation task record is not updated properly but instead a new record is created.

When creating a new task I found 2 records that should not be there !

Also in the form to add a plot progress the coverage is not consistent with the actual coverage in the plot tab.

Change report on cultivation project

Due to change #20 it is required to change the report.

Only one request need to be done making a join from timespent to plot_progress.

The table will present the following columns :
Date, Task, Contributor, Time spent, Plot, Plot progress.

The time spent and plot progress are summarized to get total time spend and final plot status.
Records are selected based on start and end date, task.
Selection on contributor should be added.

A feature should be added so value will not repeat when same for Date, Task, Contributor, plot

Ordering could be done by :
Date, task, contributor, plot (default) or
Task, Date, Contributor, plot or
Contributor, Date, Task, plot or
Plot, Date, Task, Contributor

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.