educode_sales 1.10.9 → 1.10.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.