お世話になります。
いつもご回答ありがとうございます。
今回はスマホアプリ版でのiOSとandroidの挙動の違いについての相談です。
■実現したいこと
案件管理の売上金額を一覧画面で集計して、グラフ化する機能を実装しています。
■エラー
PCとandroidでは正確な数値が集計されるのですが、iOSだけ数値が異なります。iOSで集計される数値は毎回一致しています。
一応コードを掲載(関係ないところは消しています)しますが、煩雑なため中身に対してというよりkintoneでスマホ用にコードを書く上での注意点などがあればご教えて頂きたいです。例えば以下のような感じです。
【iOSとandroidの両方正確に動作させるにはこんな書き方を】
【iOS上での挙動の注意点】
ざっくりした質問で申し訳ないです。
なんとなく「出来高請求」のところの条件分岐が上手く行っていないんだろうなとは思っていますが、、、、
すみませんが、ご回答のほどよろしくお願いします。
(function() {
"use strict";
var oneTimeFlg = true;
var chart1, chart2, chart3, chart4, chart5, chart6, chart7, chart8, chart9, chart10, tableC,tableO, tableE, tableE2, tableA;
let now = moment();
let thisYear = now.subtract(1, 'months').year();
thisYear = Number(thisYear);
let leadURL = "https://xxxxxxxx.cybozu.com/k/75/?query="
// ローディング画面を出す関数
function setLoading() {
///省略
}
// ローディング画面を消す関数
function removeLoading() {
///省略
}
// data配列の中身を消す関数
function refreshData(data) {
///省略
}
// user配列の中身を消す関数
function refreshUser(user) {
///省略
}
//ボタン作成関数
function createBotonn(){
///省略
}
// 全レコード取得関数
function fetchRecords(appId, query, opt_offset, opt_limit, opt_records) {
///省略
}
//追記分point
function getData(thisYear){
setLoading();
let ty_endManth = '"' + (thisYear+1) + "-02-01" + '"';
let ty_startManht= '"' + thisYear + "-01-31" + '"';
let ly_endManth = '"' + thisYear +"-02-01" + '"';
let ly_startManth = '"' + (thisYear-1) + "-01-31" + '"';
//2023-01-24T15:00:00Z == 2023-01-24T15
// let ty_endManth = '"' + (thisYear+1) + "-01-31T14:59:00Z" + '"';
// let ty_startManht= '"' + thisYear + "-01-31T15:00:00Z" + '"';
// let ly_endManth = '"' + thisYear +"-01-31T14:59:00Z" + '"';
// let ly_startManth = '"' + (thisYear-1) + "-01-31T15:00:00Z" + '"';
fetchRecords(75, '集計用日時 < ' + ty_endManth + ' and 集計用日時 > ' + ty_startManht + ' or 出来高請求 in ("出来高請求") order by 集計用日時 asc')
.then(function(canvas1Rec) {
var data = [];
data["2月"] = 0;
data["3月"] = 0;
data["4月"] = 0;
data["5月"] = 0;
data["6月"] = 0;
data["7月"] = 0;
data["8月"] = 0;
data["9月"] = 0;
data["10月"] = 0;
data["11月"] = 0;
data["12月"] = 0;
data["1月"] = 0;
fetchRecords(75, '集計用日時 < ' + ly_endManth + ' and 集計用日時 > ' + ly_startManth + ' or 出来高請求 in ("出来高請求") order by 集計用日時 asc')
.then(function(canvas1Rec2) {
data = refreshData(data);
let monthTotalE_ly = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0};
let profit_f_ly = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0};
let profit_h_ly = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0};
for (var j = 0; j < canvas1Rec2.length; j++) {
if((canvas1Rec2[j].最終確認.value == '未確認' && !(canvas1Rec2[j].案件進捗.value =='工事完了' || canvas1Rec2[j].案件進捗.value =='請求書発行') && canvas1Rec2[j].出来高請求.value[0] !== '出来高請求') || canvas1Rec2[j].案件進捗.value == '失注' || !(canvas1Rec2[j].金額.value)){
}else{
var jstDate2 = moment(canvas1Rec2[j].集計用日時.value).format("YYYY-MM-DD");
var date2 = jstDate2.split("-");
let area = canvas1Rec2[j].エリア.value;
if(canvas1Rec2[j].出来高請求.value[0] !== '出来高請求'){
switch(date2[1]){
case "02":
monthTotalE_ly['feb'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['feb'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['feb'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
break;
case "03":
monthTotalE_ly['mar'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['mar'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['mar'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
break;
case "04":
monthTotalE_ly['apr'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['apr'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['apr'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
break;
case "05":
monthTotalE_ly['may'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['may'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['may'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
break;
case "06":
monthTotalE_ly['jun'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['jun'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['jun'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
break;
case "07":
monthTotalE_ly['jul'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['jul'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['jul'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
break;
case "08":
monthTotalE_ly['aug'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['aug'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['aug'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
break;
case "09":
monthTotalE_ly['sep'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['sep'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['sep'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
break;
case "10":
monthTotalE_ly['oct'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['oct'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['oct'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
break;
case "11":
monthTotalE_ly['nov'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['nov'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['nov'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
break;
case "12":
monthTotalE_ly['dec'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['dec'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['dec'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
break;
case "01":
if(date2[0] == thisYear){
monthTotalE_ly['jan'] += parseInt(canvas1Rec2[j].金額.value, 10);
if(area === "福山"){
profit_f_ly['jan'] += parseInt(canvas1Rec2[j].金額.value, 10);
}else{
profit_h_ly['jan'] += parseInt(canvas1Rec2[j].金額.value, 10);
}
}
break;
}
}else{
let table = canvas1Rec2[j].出来高請求情報.value;
if((jstDate2 >= moment(ly_endManth).format("YYYY-MM-DD"))){
console.log("来期にカウント")
}else if((jstDate2 >= moment(ly_startManth).format("YYYY-MM-DD")) && (jstDate2 <= moment(ly_endManth).format("YYYY-MM-DD"))){
table.forEach(val =>{
if((val.value.出来高請求月.value) && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") <= moment(ly_startManth).format("YYYY-MM-DD")){
monthTotalE_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
}
}else if((val.value.出来高請求月.value) && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") >= moment(ly_startManth).format("YYYY-MM-DD") && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") <= moment(ly_endManth).format("YYYY-MM-DD")){
var jstDate3 = moment(val.value.出来高請求月.value).subtract(9, 'h').format("YYYY-MM-DD");
var date2 = jstDate3.split("-");
switch(date2[1]){
case "02":
crossDataE[salesman]['feb'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "03":
monthTotalE_ly['mar'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['mar'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['mar'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "04":
monthTotalE_ly['apr'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['apr'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['apr'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "05":
monthTotalE_ly['may'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['may'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['may'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "06":
monthTotalE_ly['jun'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['jun'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['jun'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "07":
monthTotalE_ly['jul'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['jul'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['jul'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "08":
monthTotalE_ly['aug'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['aug'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['aug'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "09":
monthTotalE_ly['sep'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['sep'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['sep'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "10":
monthTotalE_ly['oct'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['oct'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['oct'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "11":
monthTotalE_ly['nov'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['nov'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['nov'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "12":
monthTotalE_ly['dec'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['dec'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['dec'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "01":
if(date2[0] == thisYear){
monthTotalE_ly['jan'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f_ly['jan'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h_ly['jan'] += parseInt(val.value.出来高請求金額.value, 10);
}
}
break;
}
}
});
}
}
}
}
//クロス集計表(〇)のデータ作成
let crossDataE = {};
let crossDataA = {};
let monthTotalE = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
let monthTotalA = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
let salesman;
let profit_f = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
let profit_h = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
for (var f = 0; f < canvas1Rec.length; f++) {
if(canvas1Rec[f].営業.value.length === 0 || (canvas1Rec[f].最終確認.value == '未確認' && !(canvas1Rec[f].案件進捗.value =='工事完了' || canvas1Rec[f].案件進捗.value =='請求書発行') && canvas1Rec[f].出来高請求.value[0] !== '出来高請求') || canvas1Rec[f].案件進捗.value == '失注' || !(canvas1Rec[f].金額.value)){
}else{
salesman = canvas1Rec[f].営業.value[0].name;
if(!(salesman in crossDataE)){
crossDataE[salesman] = {feb:0, mar:0 ,apr:0 ,may:0 ,jun:0 ,jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
}
var jstDate3_1 = moment(canvas1Rec[f].集計用日時.value).format("YYYY-MM-DD");
var date5 = jstDate3_1.split("-");
let area = canvas1Rec[f].エリア.value;
if(canvas1Rec[f].出来高請求.value[0] !== '出来高請求'){
switch(date5[1]){
case "02":
crossDataE[salesman]['feb'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['feb'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['feb'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['feb'] += parseInt(canvas1Rec[f].金額.value, 10);
}
break;
case "03":
crossDataE[salesman]['mar'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['mar'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['mar'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['mar'] += parseInt(canvas1Rec[f].金額.value, 10);
}
break;
case "04":
crossDataE[salesman]['apr'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['apr'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['apr'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['apr'] += parseInt(canvas1Rec[f].金額.value, 10);
}
break;
case "05":
crossDataE[salesman]['may'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['may'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['may'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['may'] += parseInt(canvas1Rec[f].金額.value, 10);
}
break;
case "06":
crossDataE[salesman]['jun'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['jun'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['jun'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['jun'] += parseInt(canvas1Rec[f].金額.value, 10);
}
break;
case "07":
crossDataE[salesman]['jul'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['jul'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['jul'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['jul'] += parseInt(canvas1Rec[f].金額.value, 10);
}
break;
case "08":
crossDataE[salesman]['aug'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['aug'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['aug'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['aug'] += parseInt(canvas1Rec[f].金額.value, 10);
}
break;
case "09":
crossDataE[salesman]['sep'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['sep'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['sep'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['sep'] += parseInt(canvas1Rec[f].金額.value, 10);
}
break;
case "10":
crossDataE[salesman]['oct'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['oct'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['oct'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['oct'] += parseInt(canvas1Rec[f].金額.value, 10);
}
break;
case "11":
crossDataE[salesman]['nov'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['nov'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['nov'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['nov'] += parseInt(canvas1Rec[f].金額.value, 10);
}
break;
case "12":
crossDataE[salesman]['dec'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['dec'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['dec'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['dec'] += parseInt(canvas1Rec[f].金額.value, 10);
}
break;
case "01":
if(date5[0] == thisYear+1){
crossDataE[salesman]['jan'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['jan'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['jan'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['jan'] += parseInt(canvas1Rec[f].金額.value, 10);
}
}
break;
}
crossDataE[salesman]['total'] += parseInt(canvas1Rec[f].金額.value, 10);
monthTotalE['total'] += parseInt(canvas1Rec[f].金額.value, 10);
if(area === "福山"){
profit_f['total'] += parseInt(canvas1Rec[f].金額.value, 10);
}else{
profit_h['total'] += parseInt(canvas1Rec[f].金額.value, 10);
}
// moment(canvas1Rec[f].集計用日時.value).subtract(9, 'h');
}else{
let table = canvas1Rec[f].出来高請求情報.value;
if((jstDate3_1 >= moment(ty_endManth).format("YYYY-MM-DD"))){
console.log("来期にカウント")
}else if((jstDate3_1 >= moment(ty_startManht).format("YYYY-MM-DD")) && (jstDate3_1 <= moment(ty_endManth).format("YYYY-MM-DD"))){
table.forEach(val =>{
if((val.value.出来高請求月.value) && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") <= moment(ty_startManht).format("YYYY-MM-DD")){
crossDataE[salesman]['feb'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['feb'] += parseInt(val.value.出来高請求金額.value, 10);
crossDataE[salesman]['total'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['total'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['feb'] += parseInt(val.value.出来高請求金額.value, 10);
profit_f['total'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['feb'] += parseInt(val.value.出来高請求金額.value, 10);
profit_h['total'] += parseInt(val.value.出来高請求金額.value, 10);
}
}else if((val.value.出来高請求月.value) && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") >= moment(ty_startManht).format("YYYY-MM-DD") && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") <= moment(ty_endManth).format("YYYY-MM-DD")){
var jstDate3 = moment(val.value.出来高請求月.value).subtract(9, 'h').format("YYYY-MM-DD");
var date5 = jstDate3.split("-");
switch(date5[1]){
case "02":
crossDataE[salesman]['feb'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['feb'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['feb'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['feb'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "03":
crossDataE[salesman]['mar'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['mar'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['mar'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['mar'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "04":
crossDataE[salesman]['apr'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['apr'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['apr'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['apr'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "05":
crossDataE[salesman]['may'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['may'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['may'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['may'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "06":
crossDataE[salesman]['jun'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['jun'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['jun'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['jun'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "07":
crossDataE[salesman]['jul'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['jul'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['jul'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['jul'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "08":
crossDataE[salesman]['aug'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['aug'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['aug'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['aug'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "09":
crossDataE[salesman]['sep'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['sep'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['sep'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['sep'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "10":
crossDataE[salesman]['oct'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['oct'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['oct'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['oct'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "11":
crossDataE[salesman]['nov'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['nov'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['nov'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['nov'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "12":
crossDataE[salesman]['dec'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['dec'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['dec'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['dec'] += parseInt(val.value.出来高請求金額.value, 10);
}
break;
case "01":
if(date5[0] == thisYear+1){
crossDataE[salesman]['jan'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['jan'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['jan'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['jan'] += parseInt(val.value.出来高請求金額.value, 10);
}
}
break;
}
crossDataE[salesman]['total'] += parseInt(val.value.出来高請求金額.value, 10);
monthTotalE['total'] += parseInt(val.value.出来高請求金額.value, 10);
if(area === "福山"){
profit_f['total'] += parseInt(val.value.出来高請求金額.value, 10);
}else{
profit_h['total'] += parseInt(val.value.出来高請求金額.value, 10);
}
}
});
}
}
}
}
//クロス集計表(未確認)のデータ作成
for (var ff = 0; ff < canvas1Rec.length; ff++) {
if(canvas1Rec[ff].営業.value.length === 0 || canvas1Rec[ff].最終確認.value == '〇' || !(canvas1Rec[ff].金額.value) || canvas1Rec[ff].案件進捗.value == '工事完了' || canvas1Rec[ff].案件進捗.value == '失注' || canvas1Rec[ff].案件進捗.value == '請求書発行' || canvas1Rec[ff].案件進捗.value == '見積'){
}else{
salesman = canvas1Rec[ff].営業.value[0].name;
if(!(salesman in crossDataA)){
// crossDataA.canvas1Rec[ff].営業.value[0].name = canvas1Rec[ff].営業.value[0].name;
crossDataA[salesman] = {feb:0, mar:0 ,apr:0 ,may:0 ,jun:0 ,jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
}
// var jstDate4 = moment(canvas1Rec[ff].集計用日時.value).add(9, 'h').format("YYYY-MM-DD");
var jstDate4 = moment(canvas1Rec[ff].集計用日時.value).format("YYYY-MM-DD");
var date6 = jstDate4.split("-");
if(canvas1Rec[ff].出来高請求.value[0] !== '出来高請求'){
switch(date6[1]){
case "02":
crossDataA[salesman]['feb'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['feb'] += parseInt(canvas1Rec[ff].金額.value, 10);
break;
case "03":
crossDataA[salesman]['mar'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['mar'] += parseInt(canvas1Rec[ff].金額.value, 10);
break;
case "04":
crossDataA[salesman]['apr'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['apr'] += parseInt(canvas1Rec[ff].金額.value, 10);
break;
case "05":
crossDataA[salesman]['may'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['may'] += parseInt(canvas1Rec[ff].金額.value, 10);
break;
case "06":
crossDataA[salesman]['jun'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['jun'] += parseInt(canvas1Rec[ff].金額.value, 10);
break;
case "07":
crossDataA[salesman]['jul'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['jul'] += parseInt(canvas1Rec[ff].金額.value, 10);
break;
case "08":
crossDataA[salesman]['aug'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['aug'] += parseInt(canvas1Rec[ff].金額.value, 10);
break;
case "09":
crossDataA[salesman]['sep'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['sep'] += parseInt(canvas1Rec[ff].金額.value, 10);
break;
case "10":
crossDataA[salesman]['oct'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['oct'] += parseInt(canvas1Rec[ff].金額.value, 10);
break;
case "11":
crossDataA[salesman]['nov'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['nov'] += parseInt(canvas1Rec[ff].金額.value, 10);
break;
case "12":
crossDataA[salesman]['dec'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['dec'] += parseInt(canvas1Rec[ff].金額.value, 10);
break;
case "01":
if(date6[0] == thisYear+1){
crossDataA[salesman]['jan'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['jan'] += parseInt(canvas1Rec[ff].金額.value, 10);
}
break;
}
crossDataA[salesman]['total'] += parseInt(canvas1Rec[ff].金額.value, 10);
monthTotalA['total'] += parseInt(canvas1Rec[ff].金額.value, 10);
}else{
if((jstDate4 >= moment(ty_startManht).format("YYYY-MM-DD")) && (jstDate4 <= moment(ty_endManth).format("YYYY-MM-DD"))){
switch(date6[1]){
case "02":
crossDataA[salesman]['feb'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['feb'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
break;
case "03":
crossDataA[salesman]['mar'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['mar'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
break;
case "04":
crossDataA[salesman]['apr'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['apr'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
break;
case "05":
crossDataA[salesman]['may'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['may'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
break;
case "06":
crossDataA[salesman]['jun'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['jun'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
break;
case "07":
crossDataA[salesman]['jul'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['jul'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
break;
case "08":
crossDataA[salesman]['aug'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['aug'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
break;
case "09":
crossDataA[salesman]['sep'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['sep'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
break;
case "10":
crossDataA[salesman]['oct'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['oct'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
break;
case "11":
crossDataA[salesman]['nov'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['nov'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
break;
case "12":
crossDataA[salesman]['dec'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['dec'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
break;
case "01":
if(date6[0] == thisYear+1){
crossDataA[salesman]['jan'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['jan'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
}
break;
}
crossDataA[salesman]['total'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
monthTotalA['total'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
}
}
}
}
});
});
}
kintone.events.on('mobile.app.record.index.show', function(event) {
if (event.viewName === "集計表") {
// let p = document.getElementById('year');
// p.innerHTML = thisYear;
getData(thisYear);
}
return event;
});
})();