<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    This thread is a bit long, could you summarize the open problems?<br>
    <br>
    <div class="moz-cite-prefix">Op 20-02-13 19:22, Andr&eacute; Fr&oacute;es schreef:<br>
    </div>
    <blockquote
cite="mid:CAC8f_wU5tUKwGSZOMaf0Uqes-6ru550qaL_W+kWR2od10uFS_Q@mail.gmail.com"
      type="cite">
      <div dir="ltr">I added another variable to check if it would still
        show the broken constraint and break the planner, and it still
        happens, I added this:&nbsp;
        <div><br>
        </div>
        <div>
          <div>WorkOrder wo33 = new WorkOrder(103l, 8, Priority.P1,
            Nature.CORRECTIVE);</div>
          <div>SkillWorkOrder swo333 = new SkillWorkOrder(20333l, wo33,
            ABC1);</div>
          <div>SkillWorkOrder swo3332 = new SkillWorkOrder(203332l,
            wo33, ABC2);</div>
          <div>SkillWorkOrder swo3333 = new SkillWorkOrder(203333l,
            wo33, ABC3);</div>
          <div>SkillWorkOrder swo3334 = new SkillWorkOrder(203334l,
            wo33, ABC4);</div>
          <div>List&lt;SkillWorkOrder&gt; lswo33 = new
            ArrayList&lt;SkillWorkOrder&gt;();</div>
          <div>lswo33.add(swo333);</div>
          <div>lswo33.add(swo3332);</div>
          <div>lswo33.add(swo3333);</div>
          <div>lswo33.add(swo3334);</div>
          <div>wo33.setRequiredSkills(lswo33);</div>
        </div>
        <div><br>
        </div>
        <div style="">it breaks in worktime and required skill, and even
          so, it shows there in the result breaking everything T.T</div>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">2013/2/20 Andr&eacute; Fr&oacute;es <span dir="ltr">&lt;<a
              moz-do-not-send="true" href="mailto:arfmoraes@gmail.com"
              target="_blank">arfmoraes@gmail.com</a>&gt;</span><br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">Problem solved (still I think so):
              <div><br>
              </div>
              <div>It was simpler (if i'm right):</div>
              <div>--------</div>
              <div>
                <div>List&lt;Skill&gt; tempEngSkillList = new
                  ArrayList&lt;Skill&gt;();</div>
                <div>for (SkillEngineer se : e.getSkillEngineerList()){</div>
                <div><span style="white-space:pre-wrap"> </span>tempEngSkillList.add(se.getSkill());</div>
                <div>}</div>
                <div><span style="white-space:pre-wrap"> </span></div>
                <div>if
                  (tempEngSkillList.containsAll(requiredSkillList)){</div>
                <div><span style="white-space:pre-wrap"> </span>hardScore
                  += 1;</div>
                <div>}</div>
                <div>--------<br>
                </div>
              </div>
              <div><br>
              </div>
              <div>the result:</div>
              <div><br>
              </div>
              <div>
                <div class="im">
                  <div>Solved distribution with 10 work orders and 4
                    engineers:</div>
                </div>
                <div>ID: 104[Skills: ABC 2,] &nbsp; - &nbsp; Andre(8)[Skills: ABC
                  1,ABC 2,] ------ Feasible(0)</div>
                <div class="im">
                  <div>
                    ID: 103[Skills: ABC 1,ABC 2,ABC 3,ABC 4,] &nbsp; - &nbsp;
                    Denny(8)[Skills: ABC 2,ABC 1,ABC 3,ABC 4,] ------
                    Feasible(0)</div>
                </div>
                <div>ID: 105[Skills: ABC 2,] &nbsp; - &nbsp; Andre(8)[Skills: ABC
                  1,ABC 2,] ------ Feasible(0)</div>
                <div class="im">
                  <div>ID: 102[Skills: ABC 2,] &nbsp; - &nbsp; Andre(8)[Skills:
                    ABC 1,ABC 2,] ------ Feasible(0)</div>
                  <div>ID: 101[Skills: ABC 1,ABC 2,ABC 4,] &nbsp; - &nbsp;
                    Richard(8)[Skills: ABC 1,ABC 2,ABC 4,] ------
                    Feasible(0)</div>
                  <div>ID: 107[Skills: ABC 1,ABC 3,] &nbsp; - &nbsp;
                    Fabio(8)[Skills: ABC 3,ABC 1,] ------ Feasible(0)</div>
                </div>
                <div>ID: 106[Skills: ABC 1,] &nbsp; - &nbsp; Fabio(8)[Skills: ABC
                  3,ABC 1,] ------ Feasible(0)</div>
                <div>ID: 108[Skills: ABC 1,ABC 4,] &nbsp; - &nbsp;
                  Richard(8)[Skills: ABC 1,ABC 2,ABC 4,] ------
                  Feasible(0)</div>
                <div>ID: 109[Skills: ABC 3,] &nbsp; - &nbsp; Fabio(8)[Skills: ABC
                  3,ABC 1,] ------ Feasible(0)</div>
                <div class="im">
                  <div>ID: 110[Skills: ABC 1,] &nbsp; - &nbsp; Andre(8)[Skills:
                    ABC 1,ABC 2,] ------ Feasible(0)</div>
                </div>
              </div>
            </div>
            <div class="HOEnZb">
              <div class="h5">
                <div class="gmail_extra"><br>
                  <br>
                  <div class="gmail_quote">2013/2/20 Andr&eacute; Fr&oacute;es <span
                      dir="ltr">&lt;<a moz-do-not-send="true"
                        href="mailto:arfmoraes@gmail.com"
                        target="_blank">arfmoraes@gmail.com</a>&gt;</span><br>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <div dir="ltr">Not fixed, i threw it on excel and
                        make a comparison with expected results and
                        there are 2 broken there. This is how it would
                        be (feasible solution):
                        <div><br>
                        </div>
                        <div>ID 101 - Engineer Richard</div>
                        <div>
                          ID 102&nbsp;- Engineer Andre<br>
                        </div>
                        <div>ID 103&nbsp;- Engineer Denny</div>
                        <div>ID 104&nbsp;- Engineer Andre</div>
                        <div>ID 105&nbsp;- Engineer Andre</div>
                        <div>ID 106&nbsp;- Engineer Andre</div>
                        <div>ID 107&nbsp;- Engineer Fabio</div>
                        <div>ID 108&nbsp;- Engineer Richard</div>
                        <div>ID 109&nbsp;- Engineer Fabio</div>
                        <div>ID 110&nbsp;- Engineer Fabio</div>
                        <div><br>
                        </div>
                        <div>this was the result:<br>
                          <div><br>
                          </div>
                          <div>
                            <div>Solved distribution with 10 work orders
                              and 4 engineers:</div>
                            <div>ID: 104[Skills: ABC 2,] &nbsp; - &nbsp;
                              Richard(8)[Skills: ABC 1,ABC 2,ABC 4,]
                              ------ Feasible(0)</div>
                            <div>ID: 103[Skills: ABC 1,ABC 2,ABC 3,ABC
                              4,] &nbsp; - &nbsp; Denny(8)[Skills: ABC 2,ABC 1,ABC
                              3,ABC 4,] ------ Feasible(0)</div>
                            <div>ID: 105[Skills: ABC 2,] &nbsp; - &nbsp;
                              Fabio(8)[Skills: ABC 3,ABC 1,] ------
                              Broken(1)</div>
                            <div>ID: 102[Skills: ABC 2,] &nbsp; - &nbsp;
                              Andre(8)[Skills: ABC 1,ABC 2,] ------
                              Feasible(0)</div>
                            <div>ID: 101[Skills: ABC 1,ABC 2,ABC 4,] &nbsp; -
                              &nbsp; Richard(8)[Skills: ABC 1,ABC 2,ABC 4,]
                              ------ Feasible(0)</div>
                            <div>ID: 107[Skills: ABC 1,ABC 3,] &nbsp; - &nbsp;
                              Fabio(8)[Skills: ABC 3,ABC 1,] ------
                              Feasible(0)</div>
                            <div>ID: 106[Skills: ABC 1,] &nbsp; - &nbsp;
                              Andre(8)[Skills: ABC 1,ABC 2,] ------
                              Feasible(0)</div>
                            <div>ID: 108[Skills: ABC 1,ABC 4,] &nbsp; - &nbsp;
                              Andre(8)[Skills: ABC 1,ABC 2,] ------
                              Broken(1)</div>
                            <div>ID: 109[Skills: ABC 3,] &nbsp; - &nbsp;
                              Andre(8)[Skills: ABC 1,ABC 2,] ------
                              Broken(1)</div>
                            <div>ID: 110[Skills: ABC 1,] &nbsp; - &nbsp;
                              Andre(8)[Skills: ABC 1,ABC 2,] ------
                              Feasible(0)</div>
                          </div>
                        </div>
                        <div><br>
                        </div>
                        <div>Still working on it, I accept any tips :D</div>
                      </div>
                      <div>
                        <div>
                          <div class="gmail_extra"><br>
                            <br>
                            <div class="gmail_quote">2013/2/20 Andr&eacute;
                              Fr&oacute;es <span dir="ltr">&lt;<a
                                  moz-do-not-send="true"
                                  href="mailto:arfmoraes@gmail.com"
                                  target="_blank">arfmoraes@gmail.com</a>&gt;</span><br>
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex">
                                <div dir="ltr">I think I fixed it, but
                                  the broken constraint is still
                                  showing, i don't know how to remove
                                  it. I did this:
                                  <div>
                                    <br>
                                  </div>
                                  <div>verified if the engineer skill
                                    list had the same size or bigger
                                    than the requiredSkillList, iterate
                                    to check skills between both
                                    counting the matches and then, if
                                    the match was 100% to other, give
                                    the workorder</div>
                                  <div><br>
                                  </div>
                                  <div>
                                    <div><span
                                        style="white-space:pre-wrap"> </span>if
                                      (e.getSkillEngineerList().size()
                                      &gt;= requiredSkillList.size()) {</div>
                                    <div><span
                                        style="white-space:pre-wrap"> </span>int
                                      temp = 0;</div>
                                    <div>
                                      <div><span
                                          style="white-space:pre-wrap">
                                        </span>for (SkillEngineer se :
                                        e.getSkillEngineerList()) {</div>
                                      <div><span
                                          style="white-space:pre-wrap">
                                        </span>for (Skill s :
                                        requiredSkillList) {</div>
                                      <div><span
                                          style="white-space:pre-wrap">
                                        </span>if (se.getSkill().getId()
                                        == s.getId()) {</div>
                                    </div>
                                    <div><span
                                        style="white-space:pre-wrap"> </span>temp++;</div>
                                    <div><span
                                        style="white-space:pre-wrap"> </span>}</div>
                                    <div><span
                                        style="white-space:pre-wrap"> </span>}</div>
                                    <div><span
                                        style="white-space:pre-wrap"> </span>}</div>
                                    <div><span
                                        style="white-space:pre-wrap"> </span>if
                                      (temp == requiredSkillList.size())
                                      {</div>
                                    <div><span
                                        style="white-space:pre-wrap"> </span>hardScore
                                      += 1;</div>
                                    <div><span
                                        style="white-space:pre-wrap"> </span>}</div>
                                    <div><span
                                        style="white-space:pre-wrap"> </span>}</div>
                                  </div>
                                </div>
                                <div>
                                  <div>
                                    <div class="gmail_extra"><br>
                                      <br>
                                      <div class="gmail_quote">2013/2/20
                                        Andr&eacute; Fr&oacute;es <span dir="ltr">&lt;<a
                                            moz-do-not-send="true"
                                            href="mailto:arfmoraes@gmail.com"
                                            target="_blank">arfmoraes@gmail.com</a>&gt;</span><br>
                                        <blockquote class="gmail_quote"
                                          style="margin:0 0 0
                                          .8ex;border-left:1px #ccc
                                          solid;padding-left:1ex">
                                          <div dir="ltr">After some
                                            workaround I noticed that
                                            the workorders are not being
                                            100% corretly distributed
                                            to, i've changed the
                                            scorecalculator to this:
                                            <div>
                                              <br>
                                            </div>
                                            <div>
                                              <div><span
                                                  style="white-space:pre-wrap">
                                                </span>int
                                                commonSkillCount = 0;</div>
                                              <div><span
                                                  style="white-space:pre-wrap">
                                                </span>for (Skill s :
                                                requiredSkillList){</div>
                                              <div><span
                                                  style="white-space:pre-wrap">
                                                </span>for
                                                (SkillEngineer se :
                                                e.getSkillEngineerList()){</div>
                                              <div>
                                                <div><span
                                                    style="white-space:pre-wrap">
                                                  </span>if
                                                  (se.getSkill().getId()
                                                  == s.getId()){</div>
                                                <div><span
                                                    style="white-space:pre-wrap">
                                                  </span>commonSkillCount++;</div>
                                                <div><span
                                                    style="white-space:pre-wrap">
                                                  </span>}</div>
                                                <div><span
                                                    style="white-space:pre-wrap">
                                                  </span>}</div>
                                                <div><span
                                                    style="white-space:pre-wrap">
                                                  </span>}</div>
                                              </div>
                                            </div>
                                            <div><br>
                                            </div>
                                            <div>
                                              <div><span
                                                  style="white-space:pre-wrap">
                                                </span>if
                                                ((commonSkillCount -
                                                e.getSkillEngineerList().size())
                                                &lt;= 0){</div>
                                              <div><span
                                                  style="white-space:pre-wrap">
                                                </span>hardScore +=
                                                commonSkillCount;</div>
                                              <div><span
                                                  style="white-space:pre-wrap">
                                                </span>}</div>
                                            </div>
                                            <div><br>
                                            </div>
                                            <div>and I got the result</div>
                                            <div><br>
                                            </div>
                                            <div>
                                              <div>ID: 104[Skills: ABC
                                                2,] &nbsp; - &nbsp;
                                                Trewq(8)[Skills: ABC
                                                3,ABC 2,] ------
                                                Feasible(0)</div>
                                              <div>ID: 103[Skills: ABC
                                                3,] &nbsp; - &nbsp;
                                                Trewq(8)[Skills: ABC
                                                3,ABC 2,] ------
                                                Feasible(0)</div>
                                              <div>ID: 105[Skills: ABC
                                                4,ABC 3,] &nbsp; - &nbsp;
                                                Poiuy(8)[Skills: ABC
                                                1,ABC 2,ABC 3,ABC 4,]
                                                ------ Feasible(0)</div>
                                              <div>ID: 102[Skills: ABC
                                                2,ABC 1,ABC 4,] &nbsp; - &nbsp;
                                                Qwert(8)[Skills: ABC
                                                2,ABC 4,] ------
                                                Broken(1)</div>
                                              <div>ID: 101[Skills: ABC
                                                1,] &nbsp; - &nbsp;
                                                Lkjhg(8)[Skills: ABC
                                                4,ABC 1,] ------
                                                Feasible(0)</div>
                                              <div>ID: 107[Skills: ABC
                                                4,] &nbsp; - &nbsp;
                                                Lkjhg(8)[Skills: ABC
                                                4,ABC 1,] ------
                                                Feasible(0)</div>
                                              <div>ID: 106[Skills: ABC
                                                1,] &nbsp; - &nbsp;
                                                Qwert(8)[Skills: ABC
                                                2,ABC 4,] ------
                                                Broken(1)</div>
                                              <div>ID: 108[Skills: ABC
                                                3,ABC 2,] &nbsp; - &nbsp;
                                                Poiuy(8)[Skills: ABC
                                                1,ABC 2,ABC 3,ABC 4,]
                                                ------ Feasible(0)</div>
                                              <div><br>
                                              </div>
                                              <div>there's a workorder
                                                that woud be
                                                disconsidered because no
                                                engineer have the
                                                required skill to
                                                complete it</div>
                                            </div>
                                          </div>
                                          <div>
                                            <div>
                                              <div class="gmail_extra"><br>
                                                <br>
                                                <div class="gmail_quote">2013/2/19
                                                  Andr&eacute; Fr&oacute;es <span
                                                    dir="ltr">&lt;<a
                                                      moz-do-not-send="true"
href="mailto:arfmoraes@gmail.com" target="_blank">arfmoraes@gmail.com</a>&gt;</span><br>
                                                  <blockquote
                                                    class="gmail_quote"
                                                    style="margin:0 0 0
                                                    .8ex;border-left:1px
                                                    #ccc
                                                    solid;padding-left:1ex">
                                                    <div dir="ltr">I
                                                      forgot to post the
                                                      code:
                                                      <div><br>
                                                      </div>
                                                      <div>
                                                        <div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>public
                                                          HardAndSoftScore
                                                          calculateScore(Distributor
                                                          distributor) {</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>int
                                                          hardScore = 0;</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>int
                                                          softScore = 0;</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>for
                                                          (Engineer e :
distributor.getEngineerList()){</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>long
                                                          skill =
                                                          e.getSkillEngineerList().get(0).getSkill().getId();</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>int
                                                          requiredWorktime
                                                          = 0;</div>
                                                        </div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>List&lt;Skill&gt;
                                                          requiredSkillList
                                                          = new
                                                          ArrayList&lt;Skill&gt;();</div>
                                                        <div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>for
                                                          (WorkOrder o :
distributor.getWorkOrderList()){</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>if
                                                          (e.equals(o.getEngineer())){</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>requiredWorktime
                                                          +=
                                                          o.getRequiredWorktime();</div>
                                                        </div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>for
                                                          (SkillWorkOrder
                                                          swo :
                                                          o.getRequiredSkills()){</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>requiredSkillList.add(swo.getSkill());</div>
                                                        <div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>int
                                                          engineerAvailableTime
                                                          =
                                                          e.getWorktime()
                                                          -
                                                          requiredWorktime;</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>if
                                                          (engineerAvailableTime
                                                          &lt; 0 ){</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>hardScore
                                                          +=
                                                          engineerAvailableTime;</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                        </div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>int
                                                          commonSkillCount
                                                          = 0;</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>for
                                                          (SkillEngineer
                                                          se :
                                                          e.getSkillEngineerList()){</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>for
                                                          (Skill s :
                                                          requiredSkillList){</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>if
                                                          (se.getSkill().getId()
                                                          == s.getId()){</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>commonSkillCount++;</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>if
                                                          (commonSkillCount
                                                          != 0){</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>hardScore
                                                          +=
                                                          commonSkillCount;</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                        <div><br>
                                                        </div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>return
                                                          DefaultHardAndSoftScore.valueOf(hardScore,
                                                          softScore);</div>
                                                        <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                      </div>
                                                      <div><br>
                                                      </div>
                                                      <div>( but i still
                                                        want to try to
                                                        create this in
                                                        dsl rule after
                                                        this work :D )</div>
                                                    </div>
                                                    <div>
                                                      <div>
                                                        <div
                                                          class="gmail_extra">
                                                          <br>
                                                          <br>
                                                          <div
                                                          class="gmail_quote">
                                                          2013/2/19
                                                          Andr&eacute; Fr&oacute;es <span
                                                          dir="ltr">&lt;<a
moz-do-not-send="true" href="mailto:arfmoraes@gmail.com" target="_blank">arfmoraes@gmail.com</a>&gt;</span><br>
                                                          <blockquote
                                                          class="gmail_quote"
                                                          style="margin:0
                                                          0 0
                                                          .8ex;border-left:1px
                                                          #ccc
                                                          solid;padding-left:1ex">
                                                          <div dir="ltr">I
                                                          managed
                                                          solving that
                                                          problem even
                                                          when there's
                                                          more than one
                                                          skill
                                                          involved, but
                                                          now my hard
                                                          constraint of
                                                          worktime
                                                          breaks if I
                                                          add more
                                                          worktime than
                                                          the sum of
                                                          engineers
                                                          worktime.
                                                          <div><br>
                                                          </div>
                                                          <div>
                                                          (8) is the
                                                          worktime, my
                                                          workorders all
                                                          have a
                                                          worktime of 4
                                                          hours, so, I
                                                          got 32
                                                          available
                                                          hours and 32
                                                          hours of
                                                          workorders to
                                                          be assigned
                                                          right? When I
                                                          stick to this
                                                          plan, it
                                                          works:</div>
                                                          <div><br>
                                                          </div>
                                                          <div>----Compilation
                                                          Result----</div>
                                                          <div>
                                                          <div>Solved
                                                          distribution
                                                          with 8 work
                                                          orders and 4
                                                          engineers:</div>
                                                          <div>&nbsp; ID:
                                                          104[Skills:
                                                          (1002) ABC 2]
                                                          &nbsp;-
                                                          &nbsp;Qwert(8)[Skills:
                                                          (1002) ABC 2]</div>
                                                          <div>&nbsp; ID:
                                                          103[Skills:
                                                          (1003) ABC 3]
                                                          &nbsp;-
                                                          &nbsp;Trewq(8)[Skills:
                                                          (1003) ABC 3]</div>
                                                          <div>&nbsp; ID:
                                                          105[Skills:
                                                          (1004) ABC 4]
                                                          &nbsp;-
                                                          &nbsp;Lkjhg(8)[Skills:
                                                          (1004) ABC 4]</div>
                                                          <div>&nbsp; ID:
                                                          102[Skills:
                                                          (1002) ABC 2]
                                                          &nbsp;-
                                                          &nbsp;Qwert(8)[Skills:
                                                          (1002) ABC 2]</div>
                                                          <div>&nbsp; ID:
                                                          101[Skills:
                                                          (1001) ABC 1]
                                                          &nbsp;-
                                                          &nbsp;Poiuy(8)[Skills:
                                                          (1001) ABC 1]</div>
                                                          <div>&nbsp; ID:
                                                          107[Skills:
                                                          (1004) ABC 4]
                                                          &nbsp;-
                                                          &nbsp;Lkjhg(8)[Skills:
                                                          (1004) ABC 4]</div>
                                                          <div>&nbsp; ID:
                                                          106[Skills:
                                                          (1001) ABC 1]
                                                          &nbsp;-
                                                          &nbsp;Poiuy(8)[Skills:
                                                          (1001) ABC 1]</div>
                                                          <div>&nbsp; ID:
                                                          108[Skills:
                                                          (1003) ABC 3]
                                                          &nbsp;-
                                                          &nbsp;Trewq(8)[Skills:
                                                          (1003) ABC 3]</div>
                                                          <div>---------------</div>
                                                          <div><br>
                                                          </div>
                                                          <div>So, if I
                                                          add another
                                                          worktime with
                                                          4 hours, it
                                                          messes
                                                          everything,
                                                          this is the
                                                          outcome:</div>
                                                          <div><br>
                                                          </div>
                                                          <div>
                                                          <div>Solved
                                                          distribution
                                                          with 9 work
                                                          orders and 4
                                                          engineers:</div>
                                                          <div>&nbsp; ID:
                                                          104[Skills:
                                                          (1002) ABC 2]
                                                          &nbsp;-
                                                          &nbsp;Qwert(8)[Skills:
                                                          (1002) ABC 2]</div>
                                                          <div>&nbsp; ID:
                                                          103[Skills:
                                                          (1003) ABC 3]
                                                          &nbsp;-
                                                          &nbsp;Trewq(8)[Skills:
                                                          (1003) ABC 3]</div>
                                                          <div>&nbsp; ID:
                                                          105[Skills:
                                                          (1004) ABC 4]
                                                          &nbsp;-
                                                          &nbsp;Lkjhg(8)[Skills:
                                                          (1004) ABC 4]</div>
                                                          <div>&nbsp; ID:
                                                          102[Skills:
                                                          (1002) ABC 2]
                                                          &nbsp;-
                                                          &nbsp;Qwert(8)[Skills:
                                                          (1002) ABC 2]</div>
                                                          <div>&nbsp; ID:
                                                          101[Skills:
                                                          (1001) ABC 1]
                                                          &nbsp;-
                                                          &nbsp;Poiuy(8)[Skills:
                                                          (1001) ABC 1]</div>
                                                          <div>&nbsp; ID:
                                                          107[Skills:
                                                          (1004) ABC 4]
                                                          &nbsp;-
                                                          &nbsp;Lkjhg(8)[Skills:
                                                          (1004) ABC 4]</div>
                                                          <div>&nbsp; ID:
                                                          106[Skills:
                                                          (1001) ABC 1]
                                                          &nbsp;-
                                                          &nbsp;Poiuy(8)[Skills:
                                                          (1001) ABC 1]</div>
                                                          <div>&nbsp; ID:
                                                          108[Skills:
                                                          (1003) ABC 3]
                                                          &nbsp;-
                                                          &nbsp;Trewq(8)[Skills:
                                                          (1003) ABC 3]</div>
                                                          <div>&nbsp; ID:
                                                          109[Skills:
                                                          (1003) ABC 3]
                                                          &nbsp;-
                                                          &nbsp;Trewq(8)[Skills:
                                                          (1003) ABC 3]</div>
                                                          <div><br>
                                                          </div>
                                                          <div>------------</div>
                                                          <div><br>
                                                          </div>
                                                          <div>to be
                                                          precise, i
                                                          don't know if
                                                          it is because
                                                          of worktime or
                                                          skill</div>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          <div>
                                                          <div>
                                                          <div
                                                          class="gmail_extra"><br>
                                                          <br>
                                                          <div
                                                          class="gmail_quote">2013/2/19
                                                          Andr&eacute; Fr&oacute;es <span
                                                          dir="ltr">&lt;<a
moz-do-not-send="true" href="mailto:arfmoraes@gmail.com" target="_blank">arfmoraes@gmail.com</a>&gt;</span><br>
                                                          <blockquote
                                                          class="gmail_quote"
                                                          style="margin:0
                                                          0 0
                                                          .8ex;border-left:1px
                                                          #ccc
                                                          solid;padding-left:1ex">
                                                          <div dir="ltr">Just
                                                          one
                                                          correction, it
                                                          is sorting
                                                          correctly when
                                                          there's one
                                                          workorder with
                                                          a skill, if
                                                          there's
                                                          another
                                                          workorder with
                                                          same skill, it
                                                          doesn't sort
                                                          that workorder
                                                          to that skill.
                                                          <div>
                                                          <br>
                                                          <div>
                                                          This is what
                                                          is happening:</div>
                                                          <div><br>
                                                          </div>
                                                          <div>Workorder
                                                          skill ABC1 &nbsp;
                                                          ------------ &nbsp;
                                                          Engineer skill
                                                          ABC1</div>
                                                          <div>Workorder
                                                          skill ABC2&nbsp;&nbsp;
                                                          ------------ &nbsp;
                                                          Engineer skill
                                                          ABC2<br>
                                                          </div>
                                                          <div>Workorder
                                                          skill ABC1&nbsp;&nbsp;
                                                          ------------ &nbsp;
                                                          Engineer skill
                                                          ABC2<br>
                                                          </div>
                                                          </div>
                                                          <div><br>
                                                          </div>
                                                          <div>but if
                                                          there's only
                                                          one workorder
                                                          with one skill
                                                          it works:</div>
                                                          <div><br>
                                                          </div>
                                                          <div>
                                                          <div>Workorder
                                                          skill ABC1 &nbsp;
                                                          ------------ &nbsp;
                                                          Engineer skill
                                                          ABC1</div>
                                                          <div>Workorder
                                                          skill ABC2&nbsp;&nbsp;
                                                          ------------ &nbsp;
                                                          Engineer skill
                                                          ABC2<br>
                                                          </div>
                                                          <div>Workorder
                                                          skill ABC3 &nbsp;
                                                          ------------ &nbsp;
                                                          Engineer skill
                                                          ABC3</div>
                                                          <div><br>
                                                          </div>
                                                          <div>so, from
                                                          the second
                                                          workorder on,
                                                          with a
                                                          repeated
                                                          required
                                                          skill, it
                                                          doesn't sort
                                                          properly</div>
                                                          </div>
                                                          </div>
                                                          <div>
                                                          <div>
                                                          <div
                                                          class="gmail_extra">
                                                          <br>
                                                          <br>
                                                          <div
                                                          class="gmail_quote">2013/2/19
                                                          Andr&eacute; Fr&oacute;es <span
                                                          dir="ltr">&lt;<a
moz-do-not-send="true" href="mailto:arfmoraes@gmail.com" target="_blank">arfmoraes@gmail.com</a>&gt;</span><br>
                                                          <blockquote
                                                          class="gmail_quote"
                                                          style="margin:0
                                                          0 0
                                                          .8ex;border-left:1px
                                                          #ccc
                                                          solid;padding-left:1ex">
                                                          <div dir="ltr">Hello,
                                                          since i'm not
                                                          moving a step
                                                          from where I
                                                          am at dsl
                                                          rule, I'm
                                                          trying to do
                                                          it with
                                                          SimpleScoreCalculator,
                                                          but the same
                                                          is happening.
                                                          <div><br>
                                                          </div>
                                                          <div>------------</div>
                                                          <div>
                                                          <div>public
                                                          HardAndSoftScore
                                                          calculateScore(Distributor
                                                          distributor) {</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>int
                                                          hardScore = 0;</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>int
                                                          softScore = 0;</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>for
                                                          (Engineer e :
distributor.getEngineerList()){</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>long
                                                          skill =
                                                          e.getSkillEngineerList().get(0).getSkill().getId();</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>int
                                                          requiredWorktime
                                                          = 0;</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>long
                                                          requiredSkill
                                                          = 0l;</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>for
                                                          (WorkOrder o :
distributor.getWorkOrderList()){</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>if
                                                          (e.equals(o.getEngineer())){</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>requiredWorktime
                                                          +=
                                                          o.getRequiredWorktime();</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>requiredSkill
                                                          =
                                                          o.getRequiredSkills().get(0).getSkill().getId();</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>int
                                                          engineerAvailableTime
                                                          =
                                                          e.getWorktime()
                                                          -
                                                          requiredWorktime;</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>if
                                                          (engineerAvailableTime
                                                          &lt; 0 ){</div>
                                                          <div>
                                                          <span
                                                          style="white-space:pre-wrap">
                                                          </span>hardScore
                                                          +=
                                                          engineerAvailableTime;</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span></div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>if
                                                          (requiredSkill
                                                          == skill){</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>softScore
                                                          +=
                                                          requiredSkill;</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>return
                                                          DefaultHardAndSoftScore.valueOf(hardScore,
                                                          softScore);</div>
                                                          <div><span
                                                          style="white-space:pre-wrap">
                                                          </span>}</div>
                                                          </div>
                                                          <div>------------</div>
                                                          <div><br>
                                                          </div>
                                                          <div>wouldn't
                                                          that have to
                                                          fit since i'm
                                                          comparing the
                                                          1st attribute
                                                          of each skill
                                                          list from
                                                          engineers and
                                                          workorders?
                                                          And how can I
                                                          weight which
                                                          engineer would
                                                          be better to a
                                                          determined
                                                          workorder if
                                                          the workorder
                                                          have more
                                                          skills and so
                                                          does the
                                                          engineer?</div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <br>
                                                        </div>
                                                      </div>
                                                    </div>
                                                  </blockquote>
                                                </div>
                                                <br>
                                              </div>
                                            </div>
                                          </div>
                                        </blockquote>
                                      </div>
                                      <br>
                                    </div>
                                  </div>
                                </div>
                              </blockquote>
                            </div>
                            <br>
                          </div>
                        </div>
                      </div>
                    </blockquote>
                  </div>
                  <br>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a></pre>
    </blockquote>
    <br>
  </body>
</html>