educode_sales 1.10.9 → 1.10.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 73d98a4d83213078f656abfeb070db43d2a6a594e8a273a8ace4bad8165dc541
4
- data.tar.gz: 52b10fb147e17a25bd4f3d5b155676cbbb76d61cf6f799b2249edc6428b1ca1e
3
+ metadata.gz: 469c5f6e588ae73f973949a44953233eea096751b775081d061d371b9a7f5bb3
4
+ data.tar.gz: c0f32866986f7d507a8d391758a51fa8c32a50a47b55060911ff3a4044c82389
5
5
  SHA512:
6
- metadata.gz: 9808f3c65fd410beaf59ef94d4be34b7ba5f25c6377975eead142d6943f5c20007c70b6cd297150473c3e569a29142e17edf89671788e77173389711b2124684
7
- data.tar.gz: 5b2c468c9b57723d26804fd589637a5f4f877da54be8a88d180b5aec8adca7b69d08bbd28a901b9c6c0cde03e78755e3cc4750a4c700f62f9c02041456d58b73
6
+ metadata.gz: 494c27ee968e40dadbfb934a4f3afbb2ec87753fe345bb885e6f332c0e7863cf28ba52eec37b3a6d13b68494a0d29bb2a096df53268b69116dd6467c57fa74af
7
+ data.tar.gz: 7b0d19f85b0b399325db34baa74667f75806b407e94098faffdbdb010768aac4c84f595484ec75641790c9ac9d52c24fbad4b87a3471da2b138f7eec9072ee45
@@ -344,6 +344,10 @@ module EducodeSales
344
344
  if i == 1 && last_follow_up
345
345
  # 验收时间
346
346
  last_follow_up.reception_at = v
347
+ elsif i == 0 && last_follow_up
348
+ # 合同部署时间
349
+ last_follow_up.deploy_time = v
350
+ @business.p_deploy_time = v
347
351
  end
348
352
  end
349
353
 
@@ -523,7 +527,7 @@ module EducodeSales
523
527
 
524
528
  private
525
529
  def follow_up_params
526
- params.permit(:o_business_deployment, :plan_signed_date, :bidded_days, :signed_date, :signed_department_id, :service_years, :service_start_time, :service_end_time, :funding_source, :signed_clazz)
530
+ params.permit(:o_business_deployment, :plan_signed_date, :actual_amount, :bidded_days, :signed_date, :signed_department_id, :service_years, :service_start_time, :service_end_time, :funding_source, :signed_clazz)
527
531
  end
528
532
 
529
533
  def product_up_params
@@ -221,11 +221,17 @@ module EducodeSales
221
221
  s.major_count,
222
222
  s.department_id,
223
223
  departments.name AS department_name,
224
- (SELECT COUNT(user_extensions.id) FROM user_extensions WHERE user_extensions.department_id = s.department_id AND user_extensions.identity = 0) AS teacher_count,
225
- (SELECT COUNT(user_extensions.id) FROM user_extensions WHERE user_extensions.department_id = s.department_id AND user_extensions.identity = 1) AS student_count
224
+ t.teacher_count,
225
+ t.student_count
226
226
  ").joins("
227
227
  JOIN schools ON s.id = schools.id
228
228
  LEFT JOIN departments ON s.department_id = departments.id
229
+ LEFT JOIN (
230
+ SELECT COUNT(IF(user_extensions.identity = 0, user_extensions.id, 0)) AS teacher_count,
231
+ COUNT(IF(user_extensions.identity = 1, user_extensions.id, 1)) AS student_count, user_extensions.department_id
232
+ FROM user_extensions
233
+ GROUP BY user_extensions.department_id
234
+ ) AS t ON t.department_id = s.department_id
229
235
  ")
230
236
 
231
237
  # part_a_ids = CustomerFollow.all.pluck(:school_id)
@@ -271,6 +277,8 @@ module EducodeSales
271
277
  @customers = @customers.where(id: school_ids)
272
278
  end
273
279
 
280
+ @count = School.joins("LEFT JOIN departments ON schools.id = departments.school_id").count
281
+
274
282
  if params[:page].present?
275
283
  @customers = @customers.order(id: :desc).page(params[:page]).per(params[:limit])
276
284
  else
@@ -32,6 +32,10 @@ module EducodeSales
32
32
  @money_plan_records = @money_plan_records.where("payer_name like ?", "%#{params[:q][:payer_name]}%")
33
33
  end
34
34
 
35
+ if params[:q].present? && params[:q][:school].present?
36
+ @money_plan_records = @money_plan_records.joins(business: [department: :school]).where("schools.name like ?", "%#{params[:q][:school]}%")
37
+ end
38
+
35
39
  if params[:q].present? && params[:q][:date_at].present?
36
40
  date = params[:q][:date_at].split(" - ")
37
41
  @money_plan_records = @money_plan_records.where("date_at BETWEEN ? AND ?", date[0], date[1])
@@ -78,6 +82,10 @@ module EducodeSales
78
82
  gon.money_plan_ids << d.money_plan_id.to_s
79
83
  gon.money_plan_claim_amount << [d.amount]
80
84
  end
85
+
86
+ gon.edit_record = can?(:update_record, EducodeSales::MoneyPlan)
87
+ gon.edit_record_self = can?(:update_record_self, EducodeSales::MoneyPlan)
88
+ gon.staff_id = @current_admin.id
81
89
  render layout: false
82
90
  end
83
91
 
@@ -127,6 +135,7 @@ module EducodeSales
127
135
  def confirm
128
136
  money_plan_record = MoneyPlanRecord.find(params[:id])
129
137
  money_plan_record.money_plan_claims.where.not(money_plan_id: params[:money_plan_ids]).delete_all
138
+ businesses = []
130
139
  (params[:num].to_i + 1).times do |i|
131
140
  claim = money_plan_record.money_plan_claims.find_or_initialize_by(money_plan_id: params[:money_plan_ids][i])
132
141
  claim.amount = params["amount[#{i}]"]
@@ -134,10 +143,43 @@ module EducodeSales
134
143
  claim.save
135
144
  business = claim.money_plan.business
136
145
  if business
146
+ businesses << business
137
147
  money_plan_record.update(business_id: business.id)
138
- business.update(return_money: claim.money_plan.money_plan_claims.sum(:amount))
148
+ # business.update(return_money: claim.money_plan.money_plan_claims.sum(:amount))
149
+
150
+
151
+ # # 生成跟进信息
152
+ # last_follow_up = business.last_follow_up
153
+ # if last_follow_up.present?
154
+ # follow_up = last_follow_up.dup
155
+
156
+ # follow_up.description = "认领了回款记录"
157
+
158
+ # follow_up.staff = @current_admin
159
+
160
+ # last_follow_up.assign_follow_ups.each do |d|
161
+ # follow_up.assign_follow_ups.build(staff_id: d.staff_id)
162
+ # end
163
+
164
+ # if follow_up.save!
165
+ # last_follow_up.key_person.each do |d|
166
+ # key_person = d.dup
167
+ # key_person.follow_up_id = follow_up.id
168
+ # key_person.save
169
+ # end
170
+ # last_follow_up.money_plans.each do |d|
171
+ # d.follow_up_id = follow_up.id
172
+ # d.save
173
+ # end
174
+ # business.update(last_follow_up_id: follow_up.id)
175
+ # end
176
+ # end
139
177
  end
140
178
  end
179
+
180
+ businesses.uniq.each do |d|
181
+ d.update(return_money: d.money_plans.joins(:money_plan_claims).sum("educode_sales_money_plan_claims.amount") )
182
+ end
141
183
  render_success
142
184
  end
143
185
 
@@ -45,7 +45,7 @@ module EducodeSales
45
45
  @staff_manages = {}
46
46
  role = EducodeSales::Role.find_by(name: '生态经理')
47
47
  EducodeSales::Common.joins(market_areas: :staff).includes(market_areas: :staff).where(clazz: '区域').where("educode_sales_staffs.role_id = #{role.id}").each do |d|
48
- @staff_manages[d.name] = d.market_areas.map { |d| d.staff&.user&.real_name }.uniq.compact
48
+ @staff_manages[d.name] = d.market_areas.map { |d| d.staff&.name }.uniq.compact
49
49
  end if role
50
50
 
51
51
  if @current_admin.is_admin?
@@ -29,13 +29,13 @@ module EducodeSales
29
29
  common = Common.find_by(clazz: 'staff_type', name: '运营')
30
30
  role = EducodeSales::Role.find_by(name: '生态经理')
31
31
  if role
32
- @staff_manage = Staff.includes(:user).where(role_id: role.id).map { |d| [d.user.real_name, d.id]}
32
+ @staff_manage = Staff.where(role_id: role.id).map { |d| [d.name, d.id]}
33
33
  else
34
34
  @staff_manage = Staff.none
35
35
  end
36
36
 
37
- @follow_upers = Staff.includes(:user).map { |d| [d.user.real_name, d.id]}
38
- @staffs = Staff.includes(:user).where(job_type: common.id).map { |d| [d.user.real_name, d.id]}
37
+ @follow_upers = Staff.map { |d| [d.name, d.id]}
38
+ @staffs = Staff.where(job_type: common.id).map { |d| [d.name, d.id]}
39
39
  @more = can?(:create, EducodeSales::OperationPlan) || can?(:update, EducodeSales::Teacher) || can?(:destroy, EducodeSales::Teacher)
40
40
  gon.menus = []
41
41
  if can?(:create, EducodeSales::OperationPlan)
@@ -69,7 +69,7 @@ module EducodeSales
69
69
  @sales_manages = {}
70
70
  role = EducodeSales::Role.find_by(name: '生态经理')
71
71
  EducodeSales::Common.joins(market_areas: :staff).includes(market_areas: :staff).where(clazz: '区域').where("educode_sales_staffs.role_id = #{role.id}").each do |d|
72
- @staff_manages[d.name] = d.market_areas.map { |d| d.staff&.user&.real_name }.uniq.compact
72
+ @staff_manages[d.name] = d.market_areas.map { |d| d.staff&.name }.uniq.compact
73
73
  end if role
74
74
 
75
75
  sales_common = EducodeSales::Common.find_by(clazz: 'staff_type', name: '销售')
@@ -10,7 +10,8 @@ module EducodeSales
10
10
  private
11
11
 
12
12
  def update_return_money
13
- self.money_plan.business.update(return_money: self.money_plan.money_plan_claims.sum(:amount))
13
+ amount = self.money_plan.business.money_plans.joins(:money_plan_claims).sum("educode_sales_money_plan_claims.amount")
14
+ self.money_plan.business.update(return_money: amount)
14
15
  end
15
16
  end
16
17
  end
@@ -97,6 +97,13 @@
97
97
  <%= select_tag "funding_source", options_for_select([''] + EducodeSales::FollowUp::funding_sources.keys, @last_follow_up&.funding_source), class: 'required' %>
98
98
  </div>
99
99
  </div>
100
+ <div class="layui-inline">
101
+ <label class="layui-form-label">合同额(万)</label>
102
+ <div class="layui-input-inline">
103
+ <input name="actual_amount" type="number" class="layui-input" autocomplete="off" placeholder="本单位的签单金额"
104
+ value="<%= @last_follow_up&.actual_amount.to_f.round(6) %>">
105
+ </div>
106
+ </div>
100
107
  <br>
101
108
  <h2 style="padding-left:20px;margin-top: 25px;">签单</h2>
102
109
  <hr>
@@ -48,12 +48,12 @@ json.data do
48
48
  json.department d['department_name'] || ''
49
49
  json.major_count d['major_count']
50
50
  json.department_id d['department_id'] || ''
51
- json.teacher_counts d['teacher_count']
52
- json.student_counts d['student_count']
51
+ json.teacher_counts d['teacher_count'] || 0
52
+ json.student_counts d['student_count'] || 0
53
53
  end
54
54
  end
55
55
 
56
56
  json.code 0
57
57
  if params[:page].present?
58
- json.count @customers.total_count
58
+ json.count @count
59
59
  end
@@ -20,6 +20,12 @@
20
20
  <input type="text" name="date_at" class="layui-input" id="date">
21
21
  </div>
22
22
  </div>
23
+ <div class="layui-inline">
24
+ <label class="layui-form-label">客户名称</label>
25
+ <div class="layui-input-inline">
26
+ <input type="text" name="school" class="layui-input">
27
+ </div>
28
+ </div>
23
29
  <div class="layui-inline">
24
30
  <label class="layui-form-label required">匹配状态</label>
25
31
  <div class="layui-input-inline">
@@ -27,7 +27,7 @@ json.data do
27
27
 
28
28
  assign_staff_manages = []
29
29
  d.assign_staffs.each do |assign|
30
- assign_staff_manages << assign.staff&.user&.real_name
30
+ assign_staff_manages << assign.staff&.name
31
31
  end
32
32
  json.staff_manage @staff_manages[d.department&.school&.province].present? ? (@staff_manages[d.department&.school&.province] + assign_staff_manages).uniq.join(",") : assign_staff_manages
33
33
  json.sales_manage @sales_manages[d.department&.school&.province]&.join(",")
@@ -40,7 +40,7 @@ json.data do
40
40
 
41
41
  json.majors d.department&.department_majors&.pluck(:name).present? ? d.department&.department_majors&.pluck(:name).join(",") : ""
42
42
 
43
- json.follow_person d.follow_up&.staff&.user&.real_name || ''
43
+ json.follow_person d.follow_up&.staff&.name || ''
44
44
  json.created_on d.user.present? ? d.user.created_on.to_s(:date) : ''
45
45
  json.last_login_on (d.user.present? && d.user.last_login_on.present?) ? d.user.last_login_on.to_s(:date) : ''
46
46
  json.teacher_used d.teacher_used
@@ -1,3 +1,3 @@
1
1
  module EducodeSales
2
- VERSION = '1.10.9'
2
+ VERSION = '1.10.11'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: educode_sales
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.9
4
+ version: 1.10.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - anke1460
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-16 00:00:00.000000000 Z
11
+ date: 2023-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -759,7 +759,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
759
759
  - !ruby/object:Gem::Version
760
760
  version: '0'
761
761
  requirements: []
762
- rubygems_version: 3.0.0
762
+ rubygems_version: 3.0.9
763
763
  signing_key:
764
764
  specification_version: 4
765
765
  summary: Summary of EducodeSales.